:root{--ink:#17212b;--muted:#687684;--line:#dbe2e7;--soft:#f4f7f8;--paper:#fff;--navy:#163a59;--navy-2:#24587c;--amber:#f3b53f;--green:#20845a;--red:#bd493f;--shadow:0 12px 32px #152d3d17}*{box-sizing:border-box}html,body{background:var(--soft);min-height:100%;color:var(--ink);margin:0}body,button,input,select,textarea{letter-spacing:0;font:14px/1.45 Arial,Helvetica,sans-serif}button,input,select,textarea{border-radius:6px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,p{margin:0}h1{font-size:25px;line-height:1.16}h2{font-size:19px;line-height:1.25}small{color:var(--muted)}.brand{color:var(--navy);white-space:nowrap;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.brand b{color:var(--green)}.brand-mark{background:var(--navy);width:38px;height:38px;color:var(--amber);border-radius:7px;place-items:center;display:grid}.eyebrow{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:800}.primary,.secondary,.text-button,.icon{border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:700;text-decoration:none;display:inline-flex}.primary{background:var(--navy);color:#fff;padding:0 16px}.primary:hover{background:var(--navy-2)}.secondary{border-color:var(--line);color:var(--ink);background:#fff;padding:0 14px}.secondary:hover{background:#fafcfc;border-color:#aebdc7}.text-button{min-height:32px;color:var(--navy-2);background:0 0;padding:0}.icon{width:40px;color:var(--muted);background:0 0;border:0;padding:0}.icon:hover{background:var(--soft);color:var(--ink)}button:disabled{cursor:wait;opacity:.65}.danger{color:var(--red)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}label{color:#40505e;gap:7px;font-size:12px;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd6dc;outline:none}input,select{height:42px;padding:0 12px}textarea{resize:vertical;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--navy-2);box-shadow:0 0 0 3px #24587c1c}.login-shell{background:#fff;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-context{color:#fff;background:var(--navy);flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(32px,6vw,82px);display:flex;position:relative;overflow:hidden}.login-context:after{content:"";border:72px solid #ffffff0b;width:520px;height:520px;position:absolute;bottom:-170px;right:-120px;transform:rotate(18deg)}.login-context .brand{color:#fff;z-index:1}.login-context .brand-mark{color:var(--navy);background:#fff}.login-context .brand b,.login-context .eyebrow{color:var(--amber)}.login-copy{z-index:1;max-width:660px}.login-copy h1{max-width:650px;margin:13px 0 18px;font-size:clamp(36px,5vw,64px);line-height:1.02}.login-copy>p:last-child{color:#cbd9e3;max-width:560px;font-size:17px}.workflow-strip{z-index:1;color:#d6e1e8;align-items:center;gap:18px;display:flex}.workflow-strip span{align-items:center;gap:8px;display:flex}.workflow-strip b{color:var(--amber);font-size:11px}.login-panel{place-items:center;padding:36px;display:grid}.login-form{gap:20px;width:min(390px,100%);display:grid}.login-form h2{margin-top:5px;font-size:29px}.login-form .primary{height:46px}.form-error{border-left:3px solid var(--red);color:#903a33;background:#fff4f2;padding:10px 12px;font-size:13px}.loading-screen{place-content:center;justify-items:center;gap:22px;min-height:100vh;display:grid}.app-shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:20;border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:22px 14px 14px;display:flex;position:sticky;top:0}.sidebar-head{justify-content:space-between;align-items:center;padding:0 8px 27px;display:flex}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#596875;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;height:43px;padding:0 12px;font-weight:700;display:flex}.sidebar nav button:hover{background:var(--soft);color:var(--ink)}.sidebar nav button.active{color:var(--navy);background:#eaf1f4}.sidebar nav button.active:before{content:"";background:var(--green);width:3px;height:22px;margin-left:-12px}.sidebar-foot{border-top:1px solid var(--line);grid-template-columns:34px 1fr 36px;align-items:center;gap:9px;margin-top:auto;padding:14px 5px 0;display:grid}.sidebar-foot .avatar{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.sidebar-foot div:nth-child(2){min-width:0}.sidebar-foot b,.sidebar-foot span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-foot b{font-size:12px}.sidebar-foot span{color:var(--muted);font-size:11px}.workspace{min-width:0;padding:0 clamp(20px,4vw,56px) 60px}.topbar{justify-content:space-between;align-items:center;gap:18px;height:102px;display:flex}.topbar h1{margin-top:3px}.topbar .eyebrow{color:var(--muted)}.mobile-only{display:none}.toast{z-index:50;color:#176a48;max-width:360px;box-shadow:var(--shadow);background:#effaf5;border:1px solid #afd8c5;border-radius:6px;align-items:center;gap:9px;padding:12px 15px;font-weight:700;display:flex;position:fixed;top:22px;right:28px}.content-stack{gap:28px;display:grid}.metrics{border:1px solid var(--line);background:var(--paper);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metrics>div{border-right:1px solid var(--line);gap:6px;min-width:0;padding:20px 22px;display:grid}.metrics>div:last-child{border:0}.metrics span{color:var(--muted);font-size:12px;font-weight:700}.metrics strong{font-size:28px}.metrics small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-band{min-width:0}.section-title{justify-content:space-between;align-items:flex-start;gap:20px;min-height:52px;margin-bottom:13px;display:flex}.section-title h2{margin-top:4px}.action-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.action-grid>button{border:1px solid var(--line);min-width:0;color:var(--navy);text-align:left;background:#fff;border-radius:7px;grid-template-columns:38px 1fr 20px;align-items:center;gap:12px;padding:17px;display:grid}.action-grid>button:hover{border-color:#9db1be;box-shadow:0 5px 18px #152d3d0f}.action-grid span{min-width:0;display:grid}.action-grid b{color:var(--ink)}.action-grid small{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.data-table{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.table-head,.table-row{grid-template-columns:1.1fr 1.7fr .6fr;align-items:center;gap:18px;min-height:53px;padding:0 18px;display:grid}.table-head{border-bottom:1px solid var(--line);min-height:38px;color:var(--muted);text-transform:uppercase;background:#f8fafb;font-size:11px;font-weight:800}.table-row{border-bottom:1px solid #edf1f3}.table-row:last-child{border-bottom:0}.table-row>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.price-table .table-head,.price-table .table-row{grid-template-columns:.6fr 2fr .5fr .7fr}.status{color:#56646f;background:#edf2f4;border-radius:999px;align-items:center;width:fit-content;min-height:25px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.status-approved,.status-accepted,.status-active{color:#21734f;background:#e9f6ef}.status-sent{color:#315f84;background:#e9f1f8}.status-rejected{color:#a53e35;background:#fbedeb}.status-draft{color:#896516;background:#fff5db}.empty{color:#7b8993;text-align:center;background:#ffffff8c;border:1px dashed #bbc8d0;border-radius:7px;place-content:center;justify-items:center;gap:10px;min-height:170px;display:grid}.empty p{max-width:300px}.inline-form{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:12px;padding:18px;display:grid}.inline-form.compact{grid-template-columns:1fr auto}.inline-form button{height:42px}.search{border:1px solid var(--line);width:min(300px,45vw);height:40px;color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:7px;padding-left:11px;display:flex}.search input{height:38px;box-shadow:none;border:0;padding-left:0}.split-work{grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:28px;display:grid}.stack-form{border:1px solid var(--line);background:#fff;border-radius:7px;gap:15px;padding:19px;display:grid}.stack-form .primary{width:fit-content}.review-list{gap:10px;display:grid}.review-list>div{border:1px solid var(--line);background:#fff;border-radius:7px;padding:17px 70px 17px 17px;position:relative}.review-list b,.review-list p,.review-list small{display:block}.review-list p{margin-top:5px}.review-list small{margin-top:8px}.confidence{color:var(--green);font-weight:800;position:absolute;top:15px;right:15px}.question{border-left:3px solid var(--amber);background:#fffaf0;padding:12px 14px}.price-form{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:.6fr 2fr .5fr .7fr auto;align-items:end;gap:10px;padding:17px;display:grid}.price-form button{height:42px}.activate{margin-top:12px}.estimate-builder{border:1px solid var(--line);background:#fff;border-radius:7px;gap:14px;padding:18px;display:grid}.builder-head{grid-template-columns:2fr .5fr;gap:12px;display:grid}.line-picker{border:1px solid var(--line);border-radius:6px;display:grid}.line-picker>label{border-bottom:1px solid var(--line);grid-template-columns:1fr 120px;align-items:center;gap:15px;padding:10px 12px;display:grid}.line-picker>label:last-child{border:0}.line-picker span,.line-picker b,.line-picker small{display:block}.line-picker small{margin-top:2px}.estimate-builder>.primary{width:fit-content}.estimate-list{gap:8px;display:grid}.estimate-list article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:1.4fr .6fr auto;align-items:center;gap:18px;min-height:78px;padding:13px 16px;display:grid}.estimate-list article>div:first-child{grid-template-columns:auto 1fr;align-items:center;gap:5px 10px;display:grid}.estimate-list article small{grid-column:2}.estimate-list article>strong{text-align:right;font-size:18px}.row-actions{gap:7px;display:flex}.proposal-state{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:100vh;display:grid}.proposal-state svg{color:var(--navy)}.proposal-page{width:min(920px,100% - 32px);margin:0 auto;padding:26px 0 70px}.proposal-page>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:25px;display:flex}.proposal-title{padding:48px 0 30px}.proposal-title h1{margin:8px 0;font-size:36px}.proposal-title>p:last-child{color:var(--muted)}.proposal-lines{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.proposal-row{border-bottom:1px solid var(--line);grid-template-columns:2fr .7fr .7fr .7fr;align-items:center;gap:15px;min-height:54px;padding:9px 16px;display:grid}.proposal-row:last-child{border:0}.proposal-row.head{background:var(--navy);color:#fff;text-transform:uppercase;min-height:38px;font-size:11px;font-weight:800}.proposal-row span:not(:first-child){text-align:right}.proposal-total{gap:8px;width:min(380px,100%);margin:22px 0 35px auto;display:grid}.proposal-total>div{justify-content:space-between;padding:4px 0;display:flex}.proposal-total .grand{border-top:2px solid var(--ink);margin-top:4px;padding-top:13px;font-size:20px}.decision{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:20px;display:grid}.decision p{color:var(--muted);margin-top:4px}.decision-done{color:var(--green);text-align:center;background:#effaf5;border:1px solid #add8c2;border-radius:7px;justify-items:center;gap:8px;padding:28px;display:grid}.loader{border:3px solid var(--line);border-top-color:var(--navy);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@media (max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.metrics>div:nth-child(2){border-right:0}.metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.action-grid,.split-work{grid-template-columns:1fr}.price-form{grid-template-columns:1fr 2fr 1fr 1fr}.price-form button{grid-column:1/-1}}@media (max-width:760px){h1{font-size:22px}.mobile-only{display:inline-flex}.login-shell{grid-template-columns:1fr}.login-context{min-height:48vh;padding:28px 24px}.login-copy h1{font-size:38px}.workflow-strip{gap:8px;font-size:12px}.login-panel{padding:36px 24px 55px}.app-shell{display:block}.sidebar{width:255px;box-shadow:var(--shadow);transition:left .2s;position:fixed;left:-270px}.sidebar.open{left:0}.workspace{padding:0 15px 50px}.topbar{height:82px}.topbar>div{margin-right:auto}.topbar .secondary{width:40px;padding:0;font-size:0}.metrics{grid-template-columns:1fr 1fr}.metrics>div{padding:16px}.metrics strong{font-size:23px}.section-title{min-height:46px}.inline-form,.inline-form.compact{grid-template-columns:1fr}.search{width:45%}.table-head{display:none}.table-row{grid-template-columns:1fr auto;gap:5px 12px;padding:12px 14px}.table-row>span:nth-child(2){color:var(--muted);grid-area:2/1}.table-row>.status{grid-area:1/2/span 2}.price-table .table-row{grid-template-columns:.6fr 2fr .7fr}.price-table .table-row>span:nth-child(3){display:none}.price-table .table-row>span:last-child{color:var(--ink);grid-area:1/3}.builder-head{grid-template-columns:1fr}.line-picker>label{grid-template-columns:1fr 90px}.estimate-list article{grid-template-columns:1fr auto}.estimate-list article>strong{grid-area:1/2}.row-actions{grid-column:1/-1}.row-actions .secondary,.row-actions .primary{flex:1}.proposal-page{width:min(100% - 22px,920px)}.proposal-title{padding:35px 4px 24px}.proposal-title h1{font-size:28px}.proposal-row{grid-template-columns:1.4fr .6fr .7fr}.proposal-row>:nth-child(3){display:none}.decision{grid-template-columns:1fr 1fr}.decision>div{grid-column:1/-1}.decision button{width:100%}.toast{max-width:none;top:12px;left:12px;right:12px}}@media (max-width:430px){.metrics{grid-template-columns:1fr}.metrics>div{border-right:0;border-bottom:1px solid var(--line)}.metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.metrics>div:last-child{border-bottom:0}.workflow-strip svg{display:none}.section-title{align-items:center}.search{width:42%}.search input{min-width:0}.proposal-row{grid-template-columns:1.4fr .7fr}.proposal-row>:nth-child(2){display:none}.decision{grid-template-columns:1fr}.decision>div{grid-column:1}}
