:root{--bg:#f4f6f8;--panel:#fff;--text:#17212b;--muted:#6b7785;--line:#dfe4ea;--brand:#173f74;--brand2:#0f2f5a;--ok:#16794d;--warn:#9b6500;--danger:#b42318;--purple:#6941c6;--shadow:0 8px 26px #11182712}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.shell{grid-template-columns:246px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#102b50;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:42px;height:42px;color:var(--brand2);letter-spacing:-1px;background:#fff;border-radius:12px;place-items:center;font-weight:900;display:grid}.brand strong,.brand span{display:block}.brand span{opacity:.68;margin-top:2px;font-size:12px}.sidebar nav{gap:6px;margin-top:34px;display:grid}.sidebar nav a{color:#d7e3f1;border-radius:9px;padding:11px 12px}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1a}.sidebar-footer{border-top:1px solid #ffffff21;margin-top:auto;padding-top:18px}.user-block{margin-bottom:12px}.user-block strong,.user-block span{display:block}.user-block span{text-transform:uppercase;opacity:.65;margin-top:3px;font-size:12px}.main{min-width:0;padding:32px 38px 80px}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.6px;margin:0;font-size:28px}.page-head p{color:var(--muted);margin:6px 0 0}.button{background:var(--brand);color:#fff;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-weight:700;display:inline-flex}.button:hover{background:var(--brand2)}.button.secondary{color:var(--brand2);background:#eaf0f7}.button.danger{color:var(--danger);background:#fff0ee}.button.full{width:100%}.button:disabled{opacity:.48;cursor:not-allowed}.ghost{color:inherit;background:0 0;border:1px solid #ffffff3d;border-radius:8px;padding:8px 11px}.ghost.small{font-size:13px}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;padding:20px}.form-card{max-width:920px}.form-grid{gap:16px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:6px;display:grid}.field>span{font-size:13px;font-weight:700}.field small{color:var(--muted);font-size:11px}.input{width:100%;color:var(--text);background:#fff;border:1px solid #cfd6df;border-radius:8px;outline:none;padding:10px 11px}.input:focus{border-color:#7294bc;box-shadow:0 0 0 3px #173f741a}.toolbar{align-items:center;gap:12px;margin-bottom:18px;display:flex}.search{max-width:520px}.muted{color:var(--muted)}.tiny{font-size:11px}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.stack{gap:15px;display:grid}.process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.process-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px;transition:all .15s;box-shadow:0 4px 16px #0f172a0a}.process-card:hover{box-shadow:var(--shadow);border-color:#c7d2df;transform:translateY(-2px)}.process-card h3{margin:14px 0 4px}.process-card p{color:var(--muted);margin:0;font-size:13px}.quota-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.quota-chips span,.chip{background:#eef3f8;border-radius:999px;padding:5px 8px;font-size:11px}.badge{color:#16643f;background:#e9f7ef;border-radius:999px;align-items:center;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.badge.purple{color:var(--purple);background:#f1ebff}.badge.warn{color:var(--warn);background:#fff5df}.badge.danger{color:var(--danger);background:#ffeae7}.badge.blue{color:var(--brand);background:#e8f1fb}.empty{text-align:center;background:#fff;border:1px dashed #bec8d4;border-radius:12px;padding:54px}.empty h3{margin:0 0 6px}.empty p{color:var(--muted);margin:0}.login-page{background:linear-gradient(140deg,#0e2a4f 0%,#173f74 52%,#f4f6f8 52%);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:18px;gap:28px;width:min(430px,100vw - 32px);padding:30px;display:grid;box-shadow:0 24px 80px #00000038}.login-brand .brand-mark{color:#fff;background:#102b50}.login-card h1{margin:0;font-size:26px}.login-card p{color:var(--muted);margin:6px 0 0}.alert{border:1px solid;border-radius:8px;padding:11px 12px;font-size:13px}.alert.critical{color:#8f2118;background:#fff1f0;border-color:#f6c1bb}.alert.warning{color:#7b5200;background:#fff8e8;border-color:#efd596}.alert.ok{color:#12603d;background:#eefaf4;border-color:#b9e2cb}.page-center{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.spinner{border:2px solid #cad2dc;border-top-color:var(--brand);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.detail-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.detail-head h1{margin:0;font-size:25px}.detail-head p{color:var(--muted);margin:6px 0}.tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:18px;display:flex;overflow:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 12px;font-weight:700}.tabs button.active{color:var(--brand);border-color:var(--brand)}.section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-title h2{margin:0;font-size:18px}.section-title p{color:var(--muted);margin:4px 0 0;font-size:13px}.quota-list{gap:12px;display:grid}.quota-card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:16px}.quota-card h3{margin:0}.quota-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.stat{background:#f7f9fb;border-radius:8px;padding:9px}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:10px;display:block}.stat strong{margin-top:4px;font-size:13px;display:block}.doc-grid{gap:10px;display:grid}.doc-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(220px,1.3fr) 150px 130px auto;align-items:center;gap:10px;padding:12px;display:grid}.doc-name strong,.doc-name span{display:block}.doc-name span{color:var(--muted);margin-top:3px;font-size:11px}.source-tag{color:var(--muted);font-size:11px}.validation-grid{grid-template-columns:1.05fr .95fr;gap:14px;display:grid}.summary-card{gap:12px;display:grid}.summary-number{letter-spacing:-1px;font-size:30px;font-weight:900}.issue-list{gap:8px;display:grid}.issue{border:1px solid var(--line);border-radius:9px;gap:10px;padding:11px;font-size:13px;display:flex}.issue.critical{background:#fff3f1;border-color:#f2c2bd}.issue.warning{background:#fff9ed;border-color:#ead49a}.drive-results{gap:8px;max-height:360px;display:grid;overflow:auto}.drive-item{border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;padding:10px;display:flex}.drive-item .grow{flex:1;min-width:0}.drive-item strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.drive-item small{color:var(--muted)}.month-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.month-item{border:1px solid var(--line);background:#fafbfc;border-radius:8px;padding:8px}.month-item input{margin-top:5px}.divider{background:var(--line);height:1px;margin:4px 0 16px}.mini-note{color:#4b5b6d;background:#f1f5f9;border-left:3px solid #8aa2bc;border-radius:5px;padding:10px 12px;font-size:12px}.sticky-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f4f6f8e0;border-radius:12px;justify-content:flex-end;gap:10px;margin-top:20px;padding:10px;display:flex;position:sticky;bottom:15px}.modal-backdrop{z-index:40;background:#06122073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(760px,100%);max-height:90vh;padding:22px;overflow:auto;box-shadow:0 24px 80px #00000047}.modal h2{margin-top:0}.checkbox{align-items:center;gap:8px;font-size:13px;display:flex}.danger-text{color:var(--danger)}@media (max-width:1100px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quota-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.validation-grid{grid-template-columns:1fr}.doc-row{grid-template-columns:1fr 130px auto}.doc-row .source-tag{display:none}}@media (max-width:800px){.shell{grid-template-columns:1fr}.sidebar{height:auto;padding:14px 16px;position:static}.sidebar nav{margin-top:14px;display:flex}.sidebar-footer{display:none}.main{padding:22px 16px 60px}.process-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr}.quota-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-row{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{flex-direction:column;align-items:stretch}.button{width:auto}}.legacy-editor{border:0;min-width:0;margin:0;padding:0}.client-selector{margin-bottom:16px}.client-search{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.client-search>.field{flex:1;min-width:220px}.client-results{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:12px 0;display:grid}.client-result,.client-linked{border:1px solid var(--line,#dde3eb);overflow-wrap:anywhere;border-radius:10px;flex-direction:column;gap:8px;padding:14px;display:flex}.client-result .button{align-self:start}.client-create,.client-differences{margin-top:18px}.client-create .row{margin-top:14px}.client-diff,.client-diff-head{overflow-wrap:anywhere;border-bottom:1px solid #e4e9ef;grid-template-columns:1fr 1fr 1fr;gap:14px;padding:12px 0;display:grid}.client-diff input{margin-right:8px}.client-diff small{display:none}.client-selector button{min-height:44px}.client-selector .alert{margin:10px 0}.client-linked .row{flex-wrap:wrap}@media (max-width:640px){.detail-head{flex-direction:column}.detail-head>.row{flex-wrap:wrap}.detail-head>div{min-width:0;max-width:100%}.detail-head h1,.detail-head p{overflow-wrap:anywhere}.client-selector .section-title,.client-search{flex-direction:column;align-items:stretch}.client-search>.field{width:100%;min-width:0}.client-results,.client-create .form-grid{grid-template-columns:1fr}.client-diff-head{display:none}.client-diff{grid-template-columns:1fr;gap:8px}.client-diff small{color:#667085;margin-bottom:3px;display:block}.client-selector .row{flex-wrap:wrap}.client-selector .button{white-space:normal}}.proposal-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;display:grid}.proposal-list-card h2{overflow-wrap:anywhere;font-size:20px}.proposal-list-card p{overflow-wrap:anywhere}.proposal-filters{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;display:flex}.proposal-filters>label{align-items:center;gap:8px;display:flex}.proposal-pagination{margin-top:18px}.proposal-outline{line-height:2}.proposal-steps{gap:8px;margin-bottom:16px;padding-bottom:10px;display:flex;overflow-x:auto}.proposal-steps button{white-space:nowrap;border:1px solid var(--line);min-height:48px;color:var(--muted);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:10px 14px;display:flex}.proposal-steps button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.proposal-steps span{font-size:12px}.proposal-editor .card h2{margin-top:0}.proposal-editor .mini-note{margin-top:18px}.proposal-document-intents{gap:10px;display:grid}.proposal-document-intents label{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:10px;display:flex}.proposal-review{grid-template-columns:1fr 1.5fr;gap:12px;display:grid}.proposal-review dt{color:var(--muted)}.proposal-review dd{overflow-wrap:anywhere;margin:0}.proposal-save-status{white-space:normal;background:#eaf0f7;border-radius:8px;padding:10px 14px}.proposal-seller{margin-top:16px}.proposal-actions{z-index:2;border:1px solid var(--line);background:#f4f6f8f2;border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;padding:12px;display:flex;position:sticky;bottom:8px}.proposal-step-controls{gap:8px;display:flex}.proposal-actions button,.proposal-cancel button{min-height:48px}.proposal-cancel{gap:10px;margin:20px 0;display:grid}.proposal-cancel .row{flex-wrap:wrap}@media (max-width:800px){.sidebar nav{flex-wrap:wrap}.proposal-grid{grid-template-columns:1fr}.proposal-actions{bottom:0}.proposal-actions>.button{flex:1}.proposal-review{grid-template-columns:1fr;gap:6px}.proposal-review dd{margin-bottom:10px}.proposal-editor .form-grid{grid-template-columns:1fr}.proposal-filters{flex-direction:column;align-items:stretch}.proposal-filters .input{flex:1;width:auto}}.commercial-form .card,.commercial-form>.field,.commercial-form>.commercial-plan,.commercial-form>.form-grid{margin-bottom:16px}.commercial-form h3{margin:20px 0 12px}.commercial-form button{white-space:normal;min-height:48px}.commercial-row{border:1px solid var(--line);border-radius:10px;min-width:0;margin:12px 0;padding:16px}.commercial-row h4{margin:0 0 12px}.commercial-row .form-grid{margin-bottom:12px}.commercial-error{color:#a12222;overflow-wrap:anywhere;margin:8px 0}.commercial-details{border-top:1px solid var(--line);margin:16px 0;padding-top:12px}.commercial-details summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600;display:list-item}.commercial-details>.form-grid{margin-top:12px}.commercial-notes{resize:vertical;width:100%;min-height:88px}.commercial-form .row{flex-wrap:wrap}.commercial-quota{overflow-wrap:anywhere}@media (max-width:800px){.commercial-row{padding:12px}.commercial-form .form-grid{grid-template-columns:1fr}.commercial-form .button{max-width:100%}}.proposal-issuance{margin-top:16px}.proposal-issuance button{min-height:48px}.proposal-issuance .row{flex-wrap:wrap}.issuance-confirm,.revision-view{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:16px}.issuance-confirm>label{align-items:center;gap:10px;min-height:48px;margin-bottom:12px;display:flex}.issuance-confirm>.field{flex-direction:column;align-items:stretch;display:flex}.issuance-issues{color:#a12222;overflow-wrap:anywhere}.revision-history{margin-top:20px}.revision-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.proposal-pdf-actions{border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;flex-direction:column;gap:8px;min-width:min(100%,260px);padding:12px;display:flex}.proposal-pdf-actions p{margin:0}.proposal-pdf-actions .row{gap:8px}.proposal-pdf-preview{border:1px solid var(--line);background:#f4f6f8;border-radius:8px;width:100%;height:min(75vh,900px);display:block}.revision-view code{overflow-wrap:anywhere}.commercial-summary .proposal-review{display:block}.commercial-summary .proposal-review>div{grid-template-columns:1fr 1.5fr;gap:12px;margin-bottom:12px;display:grid}.commercial-summary li{overflow-wrap:anywhere}@media (max-width:800px){.revision-item{flex-direction:column;align-items:stretch}.commercial-summary .proposal-review>div{grid-template-columns:1fr;gap:4px}.revision-view,.issuance-confirm{padding:12px}}.proposal-revision-actions{gap:10px;min-width:min(100%,280px);display:grid}.proposal-print-panel{border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;min-width:0;padding:12px}.proposal-print-panel h4{margin:0 0 8px}.proposal-print-panel p{overflow-wrap:anywhere}.proposal-print-panel button{min-height:44px}.proposal-print-jobs{gap:12px;margin:10px 0;padding:0;list-style:none;display:grid}.proposal-print-jobs>li{border-top:1px solid var(--line);gap:8px;padding:10px 0;display:grid}@media (max-width:800px){.proposal-revision-actions{width:100%}.proposal-print-panel .button{white-space:normal;width:100%}}.seller-link{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#fff;border-radius:8px;padding:10px}.proposal-editor{gap:16px;display:grid}.proposal-actions{align-items:center;margin:0 0 16px;top:8px;bottom:auto}.proposal-actions .proposal-save-status{background:0 0;padding:0}@media (max-width:800px){.proposal-actions{top:0}.proposal-actions>.button{flex:none}}
