.invoice-module { padding-bottom: 40px; }
.invoice-studio { color: #14231f; }
.invoice-studio button { font: inherit; }
.inv-toolbar { display:flex; align-items:center; gap:14px; padding:18px 20px; border:1px solid #d9e3de; border-radius:20px; background:#fff; box-shadow:0 10px 30px rgba(18,50,40,.06); }
.inv-mark { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; color:#fff; background:#2b73bd; font-weight:900; letter-spacing:-.04em; }
.inv-toolbar strong { display:block; font-size:18px; }
.inv-toolbar span { display:block; color:#6d7a76; font-size:13px; margin-top:3px; }
.inv-toolbar-actions { margin-left:auto; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.invoice-studio .inv-primary,.invoice-studio .inv-ghost,.invoice-studio .inv-back,.invoice-studio .inv-section-title button { border:0; border-radius:11px; min-height:42px; padding:0 15px; cursor:pointer; font-weight:800; }
.invoice-studio .inv-primary { background:#2b73bd; color:#fff; }
.invoice-studio .inv-ghost,.invoice-studio .inv-back { background:#eef4f1; color:#1c493c; }
.inv-status { min-height:24px; margin:8px 4px 0; color:#6b7773; font-size:13px; }
.inv-editor-shell { display:grid; grid-template-columns:minmax(330px, .86fr) minmax(520px, 1.25fr); gap:22px; align-items:start; }
.inv-form-panel,.inv-history,.inv-detail { border:1px solid #d9e3de; border-radius:20px; background:#fff; padding:24px; }
.inv-panel-heading p,.inv-history-heading p { margin:0 0 6px; color:#2b73bd; font-size:11px; font-weight:900; letter-spacing:.13em; }
.inv-panel-heading h3,.inv-history-heading h3 { margin:0; font-size:26px; letter-spacing:-.035em; }
.inv-form-panel label { display:grid; gap:7px; margin-top:16px; color:#60706b; font-size:12px; font-weight:800; }
.inv-form-panel input,.inv-form-panel textarea,.inv-form-panel select { width:100%; box-sizing:border-box; border:1px solid #d4ded9; border-radius:11px; background:#fbfdfc; color:#14231f; padding:11px 12px; font:inherit; font-size:14px; outline:none; }
.inv-form-panel input:focus,.inv-form-panel textarea:focus,.inv-form-panel select:focus { border-color:#2b73bd; box-shadow:0 0 0 3px rgba(43,115,189,.12); }
.inv-form-panel input[readonly] { color:#788681; background:#f1f5f3; }
.inv-field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.inv-section-title { display:flex; align-items:center; justify-content:space-between; margin:24px 0 10px; padding-top:18px; border-top:1px solid #e1e8e4; font-weight:900; }
.invoice-studio .inv-section-title button { min-height:34px; padding:0 11px; color:#2b73bd; background:#edf4fb; font-size:12px; }
.inv-items { display:grid; gap:11px; }
.inv-item-card { position:relative; border:1px solid #dce5e1; border-radius:14px; padding:0 14px 14px; background:#fbfdfc; }
.inv-remove { border:0; padding:8px 0 0; color:#bd4646; background:transparent; cursor:pointer; font-size:12px; font-weight:800; }
.inv-form-panel details { margin-top:14px; border-top:1px solid #e0e7e4; }
.inv-form-panel summary { padding:16px 0 2px; cursor:pointer; font-weight:900; }
.inv-details-body { padding-bottom:10px; }
.inv-preview-label { display:flex; justify-content:space-between; margin:0 2px 10px; color:#71807b; font-size:10px; font-weight:900; letter-spacing:.1em; }
.inv-preview-wrap { position:sticky; top:18px; min-width:0; }
.inv-paper { width:100%; box-sizing:border-box; min-height:780px; padding:54px 46px 42px; overflow:hidden; background:#fff; border:1px solid #dce3e0; box-shadow:0 22px 60px rgba(21,48,40,.12); color:#252525; font-family:"Trebuchet MS",Arial,sans-serif; }
.inv-head { display:grid; grid-template-columns:1.25fr 1fr; gap:30px; }
.inv-head h2 { margin:0 0 48px; color:#555e6b; font-size:20px; font-weight:400; }
.inv-head p,.inv-to p { margin:0; font-size:13px; line-height:1.35; }
.inv-title { text-align:right; color:#2b73bd; }
.inv-title h3 { margin:0 0 30px; font-size:35px; font-weight:400; letter-spacing:.04em; }
.inv-title p { font-size:13px; line-height:1.55; }
.inv-to { min-height:112px; margin-top:18px; padding:0; }
.inv-to > b { display:block; margin-bottom:4px; color:#2b73bd; font-size:12px; letter-spacing:0; }
.inv-paper table { width:100%; border-collapse:collapse; font-size:12px; }
.inv-paper th { padding:6px 4px; color:#2b73bd; background:#fff; border-top:1px solid #a9c8e7; border-bottom:2px solid #76afe5; text-align:left; text-transform:none; letter-spacing:0; }
.inv-paper th:last-child,.inv-paper td:last-child { text-align:right; }
.inv-paper td { padding:6px 4px; border-bottom:1px solid #a9c8e7; }
.inv-paper .inv-total td { padding-top:7px; font-weight:900; font-size:12px; }
.inv-bank { margin-top:24px; padding-top:0; border:0; font-size:15px; line-height:1.5; }
.inv-bank p { margin:0 0 5px; font-size:15px; line-height:1.5; }
.inv-bank b { color:#2b73bd; }
.inv-footer { margin-top:48px; padding-top:0; border:0; display:block; font-size:14px; line-height:1.4; }
.inv-footer p { margin:0; font-size:14px; line-height:1.4; }
.inv-footer strong { display:block; margin-top:46px; color:#2b73bd; font-size:14px; font-weight:400; letter-spacing:0; text-align:center; }
.inv-history { max-width:1050px; margin:0 auto; }
.inv-history-heading { display:flex; align-items:end; gap:14px; flex-wrap:wrap; padding-bottom:20px; border-bottom:1px solid #dde5e1; }
.inv-history-heading p { width:100%; margin:0; }
.inv-history-heading span { margin-left:auto; color:#73817c; }
.inv-back { margin:15px 0; }
.inv-history-list { display:grid; gap:10px; margin-top:18px; }
.inv-history-card,.inv-invoice-main { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; border:1px solid #dbe4df; border-radius:14px; padding:17px 18px; background:#fbfdfc; color:#17241f; cursor:pointer; text-align:left; }
.inv-history-card:hover,.inv-invoice-main:hover { border-color:#8dbbaa; background:#f3faf7; }
.inv-history-card span,.inv-invoice-main span { display:grid; gap:5px; }
.inv-history-card strong,.inv-invoice-main strong { font-size:15px; }
.inv-history-card small,.inv-invoice-main small { color:#78857f; }
.inv-history-card b,.inv-invoice-main b { color:#2b73bd; }
.inv-invoice-row { display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:stretch; }
.inv-reuse,.inv-delete { border:0; border-radius:12px; padding:0 13px; cursor:pointer; font-weight:800; }
.inv-reuse { color:#2b73bd; background:#edf4fb; }
.inv-delete { color:#bd4646; background:#fbeeee; }
.inv-empty { padding:50px 20px; text-align:center; color:#75827d; }
.inv-empty h3 { color:#1b2824; }
.inv-detail { max-width:900px; margin:0 auto; }
.inv-detail-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; margin-bottom:18px; }
.inv-detail-actions .inv-ghost:first-child { margin-right:auto; }
.inv-detail-preview .inv-paper { max-width:790px; margin:0 auto; }

@media (max-width:1100px) {
  .inv-editor-shell { grid-template-columns:1fr; }
  .inv-preview-wrap { position:static; }
  .inv-paper { max-width:790px; margin:0 auto; }
}
@media (max-width:700px) {
  .inv-toolbar { align-items:flex-start; flex-wrap:wrap; }
  .inv-toolbar-actions { width:100%; margin-left:0; justify-content:stretch; }
  .inv-toolbar-actions button { flex:1 1 140px; }
  .inv-form-panel,.inv-history,.inv-detail { padding:17px; border-radius:16px; }
  .inv-field-row { grid-template-columns:1fr; gap:0; }
  .inv-preview-wrap { overflow-x:auto; padding-bottom:8px; }
  .inv-paper { width:720px; min-height:930px; padding:48px 42px; }
  .inv-invoice-row { grid-template-columns:1fr 1fr; }
  .inv-invoice-main { grid-column:1 / -1; }
  .inv-reuse,.inv-delete { min-height:40px; }
}
@media print {
  @page { size: Letter; margin:0; }
  body.printing-invoice { background:#fff !important; }
  body.printing-invoice .shell > aside,
  body.printing-invoice #busy,
  body.printing-invoice main > header,
  body.printing-invoice main > .view:not(#invoices),
  body.printing-invoice #invoices .inv-toolbar,
  body.printing-invoice #invoices .inv-status,
  body.printing-invoice #invoices .inv-form-panel,
  body.printing-invoice #invoices .inv-preview-label,
  body.printing-invoice #invoices .inv-detail-actions { display:none !important; }
  body.printing-invoice .shell { display:block !important; }
  body.printing-invoice main { padding:0 !important; margin:0 !important; }
  body.printing-invoice #invoices { display:block !important; padding:0 !important; margin:0 !important; }
  body.printing-invoice #invoices .inv-editor-shell { display:block !important; }
  body.printing-invoice #invoices .inv-preview-wrap,
  body.printing-invoice #invoices .inv-detail,
  body.printing-invoice #invoices .inv-detail-preview { display:block !important; padding:0 !important; margin:0 !important; border:0 !important; }
  body.printing-invoice #invoices .inv-paper { width:8.5in !important; min-height:11in !important; margin:0 !important; padding:.65in .55in !important; border:0 !important; box-shadow:none !important; }
}
