:root{--navy:#102a43;--blue:#0b73c9;--sky:#eaf5ff;--cyan:#18a0ae;--ink:#17212b;--muted:#66788a;--line:#dbe4ec;--bg:#f4f7fa;--white:#fff;--green:#13795b;--danger:#b42318;--shadow:0 16px 40px rgba(16,42,67,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}.topbar{height:76px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1440px)/2));position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:white;font-size:23px;font-weight:800;display:grid;place-items:center}.brand strong{display:block;font-size:18px;color:var(--navy)}.brand small{display:block;color:var(--muted);margin-top:2px}.header-actions{display:flex;gap:9px}button,.file-button{font:inherit;border:0;border-radius:9px;padding:11px 15px;cursor:pointer;font-weight:700}.primary{background:var(--blue);color:white}.ghost{background:white;border:1px solid var(--line);color:var(--navy)}main{max-width:1440px;margin:auto;padding:30px 24px 70px}.hero{background:linear-gradient(125deg,var(--navy),#174b73 65%,#177f91);color:white;border-radius:22px;padding:42px;display:flex;justify-content:space-between;align-items:end;box-shadow:var(--shadow)}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;opacity:.75}.hero h1{font-size:38px;max-width:650px;margin:12px 0 10px}.hero p{margin:0;color:#d7e8f6}.hero-total{min-width:260px;text-align:right}.hero-total span,.hero-total small{display:block;color:#cbe1f0}.hero-total strong{display:block;font-size:34px;margin:8px 0}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:25px;box-shadow:0 8px 25px rgba(16,42,67,.04)}.client-card{margin-top:22px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title>div{display:flex;align-items:center;gap:10px}.section-title>div>span{width:28px;height:28px;background:var(--sky);color:var(--blue);border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:800}.section-title h2{font-size:18px;margin:0;color:var(--navy)}.section-title p{margin:0;color:var(--muted);font-size:13px}.form-grid,.config-grid,.builder-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-grid .wide,.builder-form .wide{grid-column:span 2}label{font-size:12px;font-weight:700;color:#425466}input,select{width:100%;margin-top:7px;border:1px solid #cdd9e3;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);font:inherit}input:focus,select:focus{outline:2px solid #b8ddfa;border-color:var(--blue)}label small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;margin-top:22px}.left-column{display:grid;gap:22px}.rate-switch,.tabs{background:var(--bg);padding:5px;border-radius:11px;display:flex;gap:5px;margin-bottom:18px}.rate-switch button,.tabs button{flex:1;background:transparent;color:var(--muted)}.rate-switch button small{display:block;font-weight:400;margin-top:3px}.rate-switch button.active,.tabs button.active{background:white;color:var(--blue);box-shadow:0 2px 8px rgba(16,42,67,.09)}.toggle-label{display:flex;align-items:center;gap:9px;padding-top:24px}.toggle-label input{width:17px;height:17px;margin:0}.imports{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.imports summary{cursor:pointer;font-weight:700;color:var(--navy)}.imports p{color:var(--muted);font-size:13px}.import-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-button{background:var(--sky);color:var(--blue);font-size:13px}.file-button input{display:none}.import-row a{color:var(--blue);font-size:13px}.status{font-size:12px;color:var(--green);margin-top:10px}.builder-form{grid-template-columns:repeat(4,1fr)}.add-button{align-self:end}.hidden{display:none!important}.summary-card{position:sticky;top:98px;height:max-content;background:var(--navy);color:white}.summary-card h2{font-size:24px;margin:8px 0 22px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-grid div{background:rgba(255,255,255,.08);border-radius:10px;padding:13px}.metric-grid span{display:block;font-size:11px;color:#bcd2e1}.metric-grid strong{font-size:18px;display:block;margin-top:5px}.summary-lines{margin-top:21px;border-top:1px solid rgba(255,255,255,.14);padding-top:12px}.summary-lines>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:13px}.summary-lines .total-line{border-top:1px solid rgba(255,255,255,.2);margin-top:7px;padding-top:16px}.summary-lines .grand-line{font-size:16px;color:#8ae0e7}.summary-note{font-size:11px;line-height:1.45;color:#bcd2e1}.full{width:100%;margin-top:10px}.text-button{background:transparent;color:var(--danger);padding:5px}.empty-state{text-align:center;padding:38px;border:1px dashed #cbd9e5;border-radius:12px;color:var(--muted)}.empty-state strong{color:var(--navy)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#526779;background:#f2f6f9;padding:11px;border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid #edf1f4;vertical-align:top}.source-tag{display:inline-block;padding:4px 7px;border-radius:99px;background:var(--sky);color:var(--blue);font-size:10px}.remove{background:transparent;color:var(--danger);padding:3px}.proposal{position:fixed;inset:0;background:#dce3e9;z-index:30;overflow:auto}.proposal-toolbar{position:sticky;top:0;padding:12px;background:#fff;display:flex;justify-content:flex-end;gap:10px;border-bottom:1px solid var(--line);z-index:2}.proposal article{max-width:900px;margin:25px auto}.proposal-cover,.proposal-page{background:white;min-height:1120px;padding:90px 80px;margin-bottom:20px;box-shadow:var(--shadow)}.proposal-logo{font-size:34px;font-weight:900;color:var(--navy);letter-spacing:-.04em}.proposal-logo span{color:var(--blue)}.proposal-cover>p{margin-top:250px;color:var(--blue);font-weight:800;letter-spacing:.15em}.proposal-cover h1{font-size:52px;color:var(--navy);margin:12px 0 70px}.cover-meta{display:grid;grid-template-columns:130px 1fr;gap:14px 20px}.cover-meta span,.proposal-client span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.proposal-page h2{font-size:28px;color:var(--navy);border-bottom:3px solid var(--blue);padding-bottom:12px}.proposal-page h3{color:var(--navy);margin-top:28px}.proposal-page p{line-height:1.65;color:#425466}.proposal-client{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;background:#f3f7fa;padding:16px;margin:25px 0}.proposal-client strong,.proposal-client small{display:block;margin-top:5px}.proposal-page tfoot th{background:white;border-top:1px solid var(--line);text-align:right}.proposal-page tfoot tr:last-child th{background:var(--navy);color:white}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:150px}.signature-grid span,.signature-grid strong,.signature-grid small{display:block;margin:8px 0}.signature-grid hr{margin-top:55px;border:0;border-top:1px solid #555}@media(max-width:1000px){.workspace{grid-template-columns:1fr}.summary-card{position:static}.builder-form{grid-template-columns:repeat(2,1fr)}.hero{align-items:start}.form-grid,.config-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.header-actions .ghost{display:none}.hero{display:block;padding:28px}.hero h1{font-size:30px}.hero-total{text-align:left;margin-top:28px}.form-grid,.config-grid,.builder-form{grid-template-columns:1fr}.form-grid .wide,.builder-form .wide{grid-column:auto}.proposal-cover,.proposal-page{padding:45px 30px}.proposal-client{grid-template-columns:1fr}}@media print{body{background:white}.topbar,main,.proposal-toolbar{display:none!important}.proposal{display:block!important;position:static;background:white;overflow:visible}.proposal article{margin:0;max-width:none}.proposal-cover,.proposal-page{box-shadow:none;margin:0;min-height:100vh;page-break-after:always}.proposal-page:last-child{page-break-after:auto}@page{size:A4;margin:0}}
