*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ui-bg:#f4f4f2;--ui-sidebar:#fff;--ui-nav:#faf9f6;--ui-border:#e2e2de;--ui-text:#1a1a1a;--ui-text-muted:#6b7280;--ui-accent:#b8933e;--ui-accent-hover:#a3803b;--ui-accent-dim:#fbf6ee;--ui-card:#faf9f6;--ui-danger:#ba3c3c;--ui-success:#2d6a4f;--navy:#1b2b45;--steel:#3a6186;--steel-pale:#eef3f8;--white:#fff;--bg:#f4f4f2;--text:#1a1a1a;--muted:#6b7280;--border:#e2e2de;--green:#2d6a4f;--green-pale:#ebf5ef;--red-pale:#fef2f2;--red:#991b1b;--ink:#12213f;--ink-soft:#3c4a6b;--navy-deep:#0d1b33;--gold:#bd8c2e;--gold-soft:#e9d6a6;--paper:#faf9f6;--card:#fff;--line:#e6e3da;--line-soft:#efede6;--standard:#9a6a5a;--proposed:#2e6b52}body{background-color:var(--ui-bg);color:var(--ui-text);-webkit-font-smoothing:antialiased;height:100vh;font-family:Inter,sans-serif;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--ui-sidebar)}::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ui-accent)}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar-nav{background:var(--ui-nav);border-right:1px solid var(--ui-border);box-sizing:border-box;flex-direction:column;align-items:center;gap:20px;width:65px;height:100vh;max-height:100vh;padding:24px 0;display:flex;overflow:hidden}.sidebar-panel{background:var(--ui-sidebar);border-right:1px solid var(--ui-border);box-sizing:border-box;flex-direction:column;width:395px;height:100vh;max-height:100vh;display:flex;overflow:hidden}.preview-pane{background:var(--ui-bg);box-sizing:border-box;flex-direction:column;flex:1;align-items:center;height:100vh;max-height:100vh;padding:30px 20px 80px;display:flex;overflow-y:auto}.nav-item{color:#3c4a6b;cursor:pointer;background:#faf9f6;border:1px solid #e6e3da;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000000a}.nav-item:hover{color:#12213f;background:#efede6;border-color:#d7d4cb}.nav-item.active{color:#fff!important;background:var(--ui-accent,#b8933e)!important;border:none!important;box-shadow:0 3px 8px #b8933e66!important}.nav-item:after{content:attr(data-tooltip);background:var(--ui-text);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:100;border-radius:4px;padding:4px 8px;font-size:10px;transition:opacity .2s;position:absolute;left:55px}.nav-item:hover:after{opacity:1}.panel-header{border-bottom:1px solid var(--ui-border);background:var(--ui-sidebar);padding:20px}.panel-header h2{color:var(--ui-text);text-transform:uppercase;letter-spacing:.05em;font-family:Outfit,sans-serif;font-size:16px;font-weight:700}.panel-header h2 span{color:var(--ui-accent)}.panel-header p{color:var(--ui-text-muted);margin-top:3px;font-size:11px}.panel-body{flex:1;padding:20px;background-color:var(--ui-bg)!important;min-height:0!important;overflow-y:auto!important}.form-group label{text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-muted);margin-bottom:6px;font-size:10px;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--ui-border);width:100%;color:var(--ui-text);background:#fff;border-radius:6px;padding:9px 12px;font-family:inherit;font-size:12.5px;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-accent-dim);outline:none}.btn{background:var(--ui-accent);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #b8933e33;color:#fff!important}.btn:hover{background:var(--ui-accent-hover)}.btn-outline{color:#3c4a6b;cursor:pointer;background:#faf9f6;border:1px solid #e6e3da;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px #0000000d}.btn-outline:hover{color:#12213f;background-color:#efede6;border-color:#d7d4cb}.tabs-nav{background:var(--ui-nav);border:1px solid var(--ui-border);border-radius:8px;gap:4px;padding:4px;display:flex}.tabs-btn{text-transform:uppercase;letter-spacing:.05em;color:var(--ui-text-muted);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 12px;font-size:10px;font-weight:600;transition:all .2s}.tabs-btn:hover{color:var(--ui-text);background:#00000005}.tabs-btn.active{color:var(--ui-accent);background:#fff;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.preset-card{background:var(--ui-card);border:1px solid var(--ui-border);cursor:pointer;text-align:left;border-radius:8px;margin-bottom:10px;padding:12px;transition:all .2s}.preset-card:hover{border-color:var(--ui-accent);background:var(--ui-card-hover)}.preset-card h4{color:var(--ui-text);margin-bottom:3px;font-size:11.5px;font-weight:600}.preset-card p{color:var(--ui-text-muted);font-size:10.5px;line-height:1.4}.item-edit-row{background:var(--ui-card);border:1px solid var(--ui-border);text-align:left;border-radius:8px;margin-bottom:12px;padding:12px;position:relative}.item-edit-row:hover{border-color:var(--ui-border-glow)}.preview-toolbar{border:1px solid var(--ui-border);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:100%;max-width:820px;margin-bottom:24px;padding:10px 20px;display:flex;box-shadow:0 4px 15px #00000005}.format-toggle{background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:30px;padding:4px;display:inline-flex}.toggle-btn{color:var(--ui-text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-radius:20px;padding:6px 18px;font-size:11px;font-weight:700;transition:all .2s}.toggle-btn:hover{color:var(--ui-text)}.toggle-btn.active{background:var(--navy);color:#fff}.bottom-print-bar{border-top:1px solid var(--ui-border);z-index:100;background:#fff;justify-content:center;padding:16px 40px;display:flex;position:fixed;bottom:0;left:460px;right:0;box-shadow:0 -4px 15px #00000008}.print-btn{background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;max-width:820px;padding:14px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #1b2b4526}.print-btn:hover{background:var(--steel);box-shadow:0 6px 16px #1b2b4540}.doc-container{background:var(--doc-page);border:1px solid var(--doc-border);text-align:left;width:100%;max-width:820px;position:relative;box-shadow:0 10px 40px #0000000f}.doc-container *{color:var(--doc-text)}.doc-header{border-bottom:1px solid var(--doc-border);background:linear-gradient(135deg,#fff 0%,#fafafa 60%,#b8975a0a 100%);grid-template-columns:1fr auto;align-items:start;padding:40px 48px 30px;display:grid;position:relative}.doc-header:after{content:"";background:linear-gradient(90deg, var(--doc-gold-line), transparent);height:1px;position:absolute;bottom:0;left:48px;right:48px}.doc-logo-box{flex-direction:column;display:flex}.doc-logo-svg{width:auto;max-width:220px;height:48px;display:block}.doc-company-sub{letter-spacing:.1em;text-transform:uppercase;color:var(--doc-muted);margin-top:8px;font-size:9px;font-weight:600}.doc-header-right{text-align:right}.doc-label{letter-spacing:.16em;text-transform:uppercase;color:var(--doc-gold);margin-bottom:4px;font-size:9px;font-weight:600}.doc-number{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:600}.doc-date{color:var(--doc-muted);margin-top:4px;font-size:11px}.doc-meta{border-bottom:1px solid var(--doc-border);background:var(--doc-card);grid-template-columns:1fr 1fr 1fr;gap:20px;padding:20px 48px;display:grid}.doc-meta-item label{letter-spacing:.12em;text-transform:uppercase;color:var(--doc-muted);margin-bottom:4px;font-size:9px;font-weight:600;display:block}.doc-meta-item p{font-size:13px;font-weight:500}.doc-meta-item p.mono{font-family:JetBrains Mono,monospace}.proposal-intro{border-bottom:1px solid var(--doc-border);padding:32px 48px}.proposal-intro h2{text-transform:uppercase;letter-spacing:.1em;color:var(--doc-gold);margin-bottom:12px;font-size:15px;font-weight:700}.proposal-intro p{color:var(--doc-muted);margin-bottom:16px;font-size:12.5px;line-height:1.6}.pillars-grid{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:20px;display:grid}.pillar-card{background:var(--doc-card);border:1px solid var(--doc-border);border-radius:4px;padding:14px}.pillar-card h4{color:var(--doc-text);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:11.5px;font-weight:700}.pillar-card p{color:var(--doc-muted);margin:0;font-size:11px;line-height:1.45}.doc-items-header{border-bottom:1px solid var(--doc-border);background:#faf9f5;grid-template-columns:30px 1fr 80px 85px 100px;gap:10px;padding:10px 48px;display:grid}.doc-items-header span{letter-spacing:.12em;text-transform:uppercase;color:var(--doc-muted);font-size:9px;font-weight:600}.doc-items-header span:not(:first-child):not(:nth-child(2)){text-align:right}.doc-item-row{border-bottom:1px solid var(--doc-border);grid-template-columns:30px 1fr 80px 85px 100px;align-items:start;gap:10px;padding:20px 48px;display:grid}.doc-item-row>div{min-width:0}.doc-item-num{color:var(--doc-gold);font-size:18px;font-weight:300;line-height:1}.doc-item-name{color:var(--doc-text);word-break:break-word;margin-bottom:6px;font-size:14px;font-weight:600}.doc-specs{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.doc-tag{color:var(--doc-muted);white-space:nowrap;background:#eeeeec;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:500}.doc-tag.highlight{background:var(--doc-gold-dim);color:var(--doc-gold);border:1px solid #b8975a26}.doc-desc{color:var(--doc-muted);word-break:break-word;font-size:11px;line-height:1.45}.doc-qty,.doc-rate,.doc-amount{text-align:right;font-family:JetBrains Mono,monospace;font-size:13px}.doc-qty{font-weight:500}.doc-qty span{color:var(--doc-muted);font-family:Inter,sans-serif;font-size:9px;display:block}.doc-rate{color:var(--doc-muted)}.doc-amount{font-weight:600}.doc-totals{border-bottom:1px solid var(--doc-border);background:#faf9f5;padding:24px 48px}.totals-box{max-width:320px;margin-left:auto}.totals-row{justify-content:space-between;padding:6px 0;font-size:11.5px;display:flex}.totals-row .label{color:var(--doc-muted)}.totals-row .val{font-family:JetBrains Mono,monospace}.totals-row.final-box{background:var(--doc-gold-dim);border:1px solid var(--doc-gold-line);border-radius:4px;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 16px;display:flex}.totals-row.final-box .label{color:var(--doc-gold);font-size:13px;font-weight:600}.totals-row.final-box .val{color:var(--doc-gold);font-size:17px;font-weight:700}.words-row{text-align:right;color:var(--doc-muted);margin-top:6px;font-size:11px}.doc-section{border-bottom:1px solid var(--doc-border);padding:28px 48px}.doc-section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--doc-gold);margin-bottom:12px;font-size:10px;font-weight:700}.doc-schedule-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.doc-step{background:var(--doc-card);border:1px solid var(--doc-border);border-radius:4px;padding:12px 14px}.doc-step .pct{color:var(--doc-text);font-size:24px;font-weight:700}.doc-step .pct span{color:var(--doc-gold);font-size:12px}.doc-step .milestone{color:var(--doc-muted);margin-top:4px;font-size:10.5px;line-height:1.3}.doc-notes-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.doc-notes-block ul{list-style:none}.doc-notes-block ul li{color:var(--doc-muted);text-align:left;padding:4px 0 4px 10px;font-size:11px;line-height:1.45;position:relative}.doc-notes-block ul li:before{content:"—";color:var(--doc-gold);font-weight:600;position:absolute;left:0}.doc-footer{background:#faf9f5;grid-template-columns:1fr auto;align-items:end;padding:28px 48px;display:grid}.doc-bank p{color:var(--doc-muted);font-family:JetBrains Mono,monospace;font-size:10.5px;line-height:1.5}.doc-bank p strong{color:var(--doc-text);font-weight:600}.doc-sig{text-align:right}.doc-sig-line{background:var(--doc-gold-line);width:140px;height:1px;margin-bottom:6px;margin-left:auto}.doc-sig-name{font-size:13.5px;font-weight:600}.doc-sig-title{text-transform:uppercase;color:var(--doc-muted);letter-spacing:.05em;font-size:9px}.doc-footer-meta{border-top:1px solid var(--doc-border);color:var(--doc-muted);grid-column:1/-1;justify-content:space-between;margin-top:20px;padding-top:16px;font-family:JetBrains Mono,monospace;font-size:9.5px;display:flex}.input-label{text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--ui-text-muted)!important;text-align:left!important;margin-bottom:5px!important;font-family:Inter,sans-serif!important;font-size:9px!important;font-weight:600!important;display:block!important}.input-field{border:1px solid var(--ui-border)!important;width:100%!important;color:var(--ui-text)!important;background-color:#fff!important;border-radius:6px!important;padding:8px 12px!important;font-family:Inter,sans-serif!important;font-size:12px!important;transition:border-color .2s,box-shadow .2s!important}.input-field:focus{border-color:var(--ui-accent)!important;box-shadow:0 0 0 3px var(--ui-accent-dim)!important;outline:none!important}.form-group{margin-bottom:14px!important}.history-list{flex-direction:column!important;gap:14px!important;padding-bottom:20px!important;display:flex!important}.quote-card{border:1px solid var(--ui-border)!important;text-align:left!important;cursor:default!important;background:#fff!important;border-radius:12px!important;flex-direction:column!important;gap:10px!important;padding:14px!important;transition:all .2s ease-in-out!important;display:flex!important;box-shadow:0 2px 5px #00000005,0 1px 2px #00000003!important}.quote-card:hover{border-color:var(--ui-accent)!important;box-shadow:0 4px 14px #b8975a14,0 2px 4px #00000005!important}.sub-panel-content{height:calc(100vh - 80px)!important;overflow:hidden auto!important}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body,#root,.app-container{width:100%;background:#fff!important;height:auto!important;min-height:auto!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.left-panel,.nav-strip,.sub-panel,.preview-toolbar,.bottom-toolbar,.print-btn,.sidebar-nav,.sidebar-panel,.bottom-print-bar,.no-print,.format-toggle,.toggle-btn,.print-tip-overlay,.print-toast{display:none!important}.preview-panel,.preview-pane{width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.preview-pane>div,.preview-pane div.w-full{height:auto!important;max-height:none!important;margin:0!important;padding-bottom:0!important;display:block!important;position:static!important;overflow:visible!important}.doc-container{width:100%!important;max-width:100%!important;min-width:unset!important;box-shadow:none!important;border:none!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.line-item,.payment-card,.doc-header,.doc-footer,.comparison-row,.totals-block,.amount-in-words-band,.totals-grid{page-break-inside:avoid!important;break-inside:avoid!important}.doc-items-header{background:#faf9f5!important;border-bottom:1px solid #e6e5e0!important}.doc-tag{color:#626260!important;background:#eeeeec!important}.doc-tag.highlight{color:#b8975a!important;background:#faf6ee!important;border:1px solid #b8975a26!important}.doc-totals{background:#faf9f5!important}.totals-row.final-box{background:#faf6ee!important;border:1px solid #d1c1a5!important}.totals-row.final-box .label,.totals-row.final-box .val{color:#b8975a!important}.doc-step{background:#faf9f6!important;border:1px solid #e6e5e0!important}.doc-step .pct span{color:#b8975a!important}.doc-footer{page-break-inside:avoid;background:#faf9f5!important}@page{size:A4 portrait;margin:10mm 12mm}}
