.invoice-ready { margin-bottom:1rem; }
.invoice-list-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 0; border-top:1px solid var(--gg-border); }
.invoice-list-row p,.invoice-list-row form,.invoice-list-row button { margin:0; }
.invoice-table { display:grid; }
.invoice-table-head,.invoice-table-row { display:grid; grid-template-columns:1.1fr 2fr .8fr .8fr auto; align-items:center; gap:1rem; padding:.85rem 0; border-top:1px solid var(--gg-border); }
.invoice-table-head { color:var(--gg-muted); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.invoice-status { display:inline-flex; width:max-content; padding:.3rem .6rem; border-radius:99px; background:#eee; font-size:.78rem; font-weight:800; }
.invoice-status-draft { background:#eee5cf; color:#6d521e; }.invoice-status-issued { background:#dce7ee; color:#244e68; }.invoice-status-paid { background:#dfeadf; color:#285a32; }
.invoice-status-void { background:#eee; color:#555; }.page-heading-actions{display:flex;flex-wrap:wrap;gap:.75rem}.invoice-financial-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.invoice-financial-summary small{display:block;margin-top:.15rem;color:#dce5df}.invoice-financial-summary>a{display:grid;gap:.3rem;padding:1.1rem;background:#29463a;color:#fff;border-radius:10px;text-decoration:none}.invoice-financial-summary>a:hover{background:#36594a}.invoice-financial-summary>a span{font-size:.8rem;opacity:.82}.invoice-financial-summary>a strong{font-size:1.45rem}.invoice-summary-action b{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.28);font-size:.9rem}.invoice-summary-action b span{font-size:1.2rem;opacity:1}.invoice-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) auto auto;gap:.75rem;align-items:end;padding:1rem 0;border-bottom:1px solid var(--gg-border)}.invoice-filters label{margin:0}.invoice-filters button{margin:0}.invoice-filters>a{align-self:center;color:var(--gg-primary);font-weight:700}.invoice-filters>a.secondary-button{align-self:end;box-sizing:border-box}.invoice-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--gg-border);color:var(--gg-muted)}.invoice-pagination>div{display:flex;align-items:center;gap:.75rem}.invoice-pagination strong{color:var(--gg-text);white-space:nowrap}.invoice-pagination.compact{padding-top:1rem}.invoice-pagination.compact>div{margin-left:auto}
.debt-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.debt-overview a{display:grid;gap:.35rem;padding:1rem 1.1rem;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:10px;text-decoration:none;color:var(--gg-text)}.debt-overview a:hover{border-color:var(--gg-primary);background:#f3f6f1}.debt-overview span{color:var(--gg-muted)}.debt-overview strong{font-size:1.4rem}.debt-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) auto auto;gap:.75rem;align-items:end;padding:1rem 0}.debt-filters label{margin:0}.debt-filters button{margin:0}.debt-filters>a{align-self:center;font-weight:700}.debt-table-head,.debt-table-row{display:grid;grid-template-columns:1.6fr 1fr .85fr .9fr .75fr auto;gap:1rem;align-items:center;padding:.85rem 0;border-top:1px solid var(--gg-border)}.debt-table-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gg-muted);font-weight:700}.debt-table-row>span:first-child{display:grid;gap:.15rem}.debt-table-row small{display:block;color:var(--gg-muted)}
.credit-note-entry{margin-top:1.5rem;padding:1rem;border:1px solid var(--gg-border);border-radius:10px;background:#f7f7f3}.credit-note-entry summary{cursor:pointer;color:var(--gg-primary);font-weight:700}.credit-note-entry[open] summary{margin-bottom:.75rem}.credit-note-entry form{margin-top:1rem}
.write-off-entry{border-color:#c7a6a0;background:#fbf5f3}.write-off-entry summary{color:#793b31}
.invoice-document { background:#fff; border:1px solid var(--gg-border); border-radius:12px; padding:clamp(1.5rem,4vw,3rem); box-shadow:0 7px 25px rgba(37,42,40,.06); }
.invoice-header { display:flex; justify-content:space-between; gap:2rem; padding-bottom:2rem; border-bottom:3px solid var(--gg-primary); }
.invoice-header h1 { font-size:clamp(2rem,5vw,3.5rem); margin:.2rem 0 1rem; }.invoice-header p { margin:.25rem 0; }
.invoice-meta { min-width:15rem; text-align:right; }.invoice-meta dl { display:grid; grid-template-columns:1fr 1fr; gap:.4rem 1rem; margin-top:1.5rem; }.invoice-meta dt { color:var(--gg-muted); }.invoice-meta dd { margin:0; font-weight:700; }
.invoice-parties { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; padding:2rem 0; }.invoice-parties>div { display:flex; flex-direction:column; gap:.2rem; }.invoice-label { color:var(--gg-muted); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:800; margin-bottom:.35rem; }.pre-line { white-space:pre-line; }
.invoice-line { display:grid; grid-template-columns:minmax(260px,1fr) 110px 110px 110px; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--gg-border); }.invoice-line>span:last-child { text-align:right; }.invoice-line span:first-child { display:grid; }.invoice-line-head { font-size:.75rem; font-weight:800; text-transform:uppercase; color:var(--gg-muted); }
.invoice-totals { display:flex; justify-content:flex-end; padding:1.5rem 0; }.invoice-totals dl { display:grid; grid-template-columns:9rem 8rem; gap:.5rem 1rem; margin:0; }.invoice-totals dd { margin:0; text-align:right; }.invoice-grand { font-size:1.25rem; font-weight:800; border-top:2px solid var(--gg-primary); padding-top:.6rem; }
.invoice-notes { border-top:1px solid var(--gg-border); padding-top:1rem; }.invoice-notes h2 { font-size:1rem; margin:1rem 0 .25rem; }.invoice-notes p { margin:0; }
.invoice-actions { margin-top:1rem; }.payment-form { display:grid; grid-template-columns:minmax(240px,1fr) auto; align-items:end; gap:1rem; margin-top:1rem; }.payment-form button { margin-bottom:.3rem; }.paid-confirmation { display:grid; gap:.25rem; margin-top:1rem; padding:1rem; background:#e7ede4; border-left:5px solid var(--gg-secondary); }
@media(max-width:760px){.invoice-financial-summary{grid-template-columns:1fr 1fr}.debt-overview{grid-template-columns:1fr 1fr}.debt-filters{grid-template-columns:1fr}.debt-filters button{width:100%}.debt-table-head{display:none}.debt-table-row{grid-template-columns:1fr 1fr}.invoice-list-row{align-items:flex-start;flex-direction:column}.invoice-filters{grid-template-columns:1fr}.invoice-filters button{width:100%}.invoice-pagination{align-items:flex-start;flex-direction:column}.invoice-pagination>div{width:100%;justify-content:space-between}.invoice-pagination.compact>div{margin-left:0}.invoice-table-head{display:none}.invoice-table-row{grid-template-columns:1fr 1fr}.invoice-header{flex-direction:column}.invoice-meta{text-align:left}.invoice-parties{grid-template-columns:1fr}.invoice-line{grid-template-columns:1fr 80px 90px}.invoice-line>span:nth-child(3){display:none}.payment-form{grid-template-columns:1fr}}
@media print{body:has(.invoice-document) .navbar,body:has(.invoice-document) footer,body:has(.invoice-document) .print-hide,body:has(.invoice-document) #cookie-banner{display:none!important}body:has(.invoice-document){background:#fff}.invoice-document{box-shadow:none;border:0;padding:0}.main{max-width:none!important;padding:0!important}.invoice-header h1{font-size:28pt}}
