:root{--bg:#f6f4ef;--surface:#fff;--ink:#202a36;--muted:#5c6875;--line:#d9dee4;--accent:#0f766e;--accent-dark:#0b514c;--warm:#be6a2c;--shadow:0 18px 44px rgba(32,42,54,.11)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;overflow-x:hidden}input,select,button,textarea{font:inherit}.site-header{background:#213140;color:#fff;padding:24px}.topbar,.hero,.page-shell,.site-footer{width:min(1180px,calc(100% - 32px));margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:28px}.brand,.site-nav a{text-decoration:none;color:#fff;font-weight:800}.site-nav{display:flex;gap:14px;flex-wrap:wrap}.language-switch{display:grid;gap:6px;width:min(230px,100%);font-weight:700}.language-switch select{min-height:42px;border-radius:6px;padding:8px}.hero{max-width:860px}.eyebrow{margin:0 0 8px;color:var(--warm);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.04}h2{margin:0 0 14px;font-size:1.25rem}h3{margin:18px 0 8px}.hero p:last-child{color:#dce8e5}.page-shell{display:grid;grid-template-columns:minmax(112px,150px) minmax(0,1fr) minmax(112px,150px);gap:18px;align-items:start;padding:24px 0 34px}.tool-grid{display:grid;grid-template-columns:minmax(320px,540px) minmax(0,1fr);gap:18px}.panel,.card,.ad-slot{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel,.card{padding:20px}form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:800}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}input,select,textarea{width:100%;border:1px solid #b8c2cc;border-radius:6px;padding:10px 12px;background:#fff;color:var(--ink)}textarea{resize:vertical}.line-items{display:grid;gap:10px}.line-row{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(80px,.5fr) minmax(100px,.7fr) auto;gap:8px;align-items:end}.actions{display:flex;gap:10px;flex-wrap:wrap}button{min-height:44px;border:0;border-radius:6px;padding:10px 16px;background:var(--accent);color:#fff;font-weight:900;cursor:pointer}button:hover{background:var(--accent-dark)}button.secondary{background:#55616f}.error{color:#a62b1f;font-weight:800;min-height:1.5em}.document-preview{min-height:420px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:22px}.empty-preview{color:var(--muted);font-weight:800}.doc-head,.party-grid,.total-row{display:flex;justify-content:space-between;gap:18px}.doc-title{font-size:2rem;font-weight:900}.doc-meta,.party{display:grid;gap:4px}.invoice-table{width:100%;border-collapse:collapse;margin:18px 0}.invoice-table th,.invoice-table td{border:1px solid var(--line);padding:10px;text-align:left}.invoice-table th{background:#f7fbfa}.totals{width:min(360px,100%);margin-left:auto;display:grid;gap:8px}.total-row{border-bottom:1px solid var(--line);padding-bottom:7px}.total-row.strong{font-size:1.2rem;font-weight:900}.notes-box{margin-top:18px;display:grid;gap:8px}.disclaimer{margin:18px 0 0;color:var(--muted);font-size:.95rem}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.card p{color:var(--muted)}.card a{color:var(--accent-dark);font-weight:800}.ad-slot{min-height:260px;display:grid;place-items:center;padding:16px;color:#65717d;background:#f8faf9;border-style:dashed;text-align:center;font-size:.88rem}.mobile-ad{display:none;min-height:92px;margin-top:18px}.site-footer{padding:0 0 28px;color:var(--muted)}@media(max-width:920px){.page-shell,.tool-grid,.content-grid,.field-grid,.line-row,.doc-head,.party-grid{grid-template-columns:1fr;display:grid}.side-ad{display:none}.mobile-ad{display:grid}.totals{margin-left:0}}@media print{.site-header,form,.content-grid,.ad-slot,.site-footer,.document-panel>h2,.disclaimer{display:none}.page-shell,.tool-grid{display:block;width:100%;padding:0}.panel{border:0;box-shadow:none;padding:0}.document-preview{border:0;padding:0;min-height:0}.document-panel{display:block}}
:root{--invoice-layout-fix:1}
.page-shell{grid-template-columns:minmax(84px,120px) minmax(0,1fr) minmax(84px,120px)}
.tool-grid{grid-template-columns:minmax(300px,420px) minmax(0,1fr)}
.document-preview{overflow-x:auto}
.invoice-table{min-width:620px}
.invoice-table th,.invoice-table td{vertical-align:top}
.invoice-table th:nth-child(n+2),.invoice-table td:nth-child(n+2){white-space:nowrap}
@media(max-width:1040px){.tool-grid{grid-template-columns:1fr}.document-preview{min-height:0}}
@media print{.document-preview{overflow:visible}.invoice-table{min-width:0;font-size:10pt}.invoice-table th,.invoice-table td{white-space:normal;padding:7px}}

.line-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;border:1px solid var(--line);border-radius:8px;padding:12px}
.line-row>*{min-width:0}
.line-row label:first-child{grid-column:1/-1}
.line-row input{width:100%;min-width:0}
.remove-line{grid-column:1/-1;justify-self:start;width:auto;max-width:100%;white-space:normal}
@media(min-width:1180px){.line-row{grid-template-columns:minmax(0,1fr) minmax(88px,.45fr) minmax(104px,.55fr)}.remove-line{grid-column:1/-1}}
@media(max-width:560px){.line-row{grid-template-columns:1fr}.remove-line{justify-self:stretch;width:100%}}
