@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750;800&display=swap";
:root{--ink:#172635;--muted:#758393;--line:#e6ebf0;--blue:#138ab8;--navy:#12394f;--bg:#f7f9fb}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px;outline-color:var(--blue)}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;justify-content:center;align-items:center;gap:8px;transition:background .15s,box-shadow .15s;display:inline-flex}button:disabled{opacity:.5;cursor:wait}button:hover{filter:brightness(.98)}.shell{min-height:100vh;display:flex}aside{border-right:1px solid var(--line);z-index:2;background:#fff;flex-direction:column;width:248px;height:100vh;padding:24px 18px;display:flex;position:fixed}.official-brand{width:210px;height:146px;margin:0 auto 14px;display:block;position:relative;overflow:hidden}.official-brand img{width:248px;height:auto;position:absolute;top:-48px;left:-19px}.portal-label{letter-spacing:1.7px;color:#a0aab4;margin:18px 15px 17px;font-size:9px;font-weight:650}nav{gap:6px;display:grid}nav button{color:#738291;background:0 0;border-radius:7px;justify-content:flex-start;padding:13px 14px;font-size:12px;font-weight:550}nav button:hover{background:#f3f7fa}nav .active{color:#117fa9;background:#edf6fb}nav small{background:#dfedf5;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px}.aside-bottom{border-top:1px solid var(--line);margin-top:auto;padding:22px 14px 2px}.workspace-status{color:#566d7b;align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.live-dot{background:#4c9b86;border-radius:50%;width:6px;height:6px;display:inline-block}.aside-note{color:#99a5af;margin:12px 0 20px;font-size:10px;line-height:1.8}.aside-bottom a{color:#6a7c89;font-size:11px}main{flex:1;min-width:0;margin-left:248px}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:77px;padding:0 42px;display:flex}.breadcrumbs{color:#9ca7b2;align-items:center;gap:13px;font-size:11px;display:flex}.breadcrumbs strong{color:#5b6c7b;font-weight:550}.account{align-items:center;gap:11px;font-size:11px;font-weight:600;display:flex}.account small{color:#94a0ac;margin-top:5px;font-size:9px;font-weight:400}small{display:block}.avatar{color:#397794;background:#eff5f9;border:1px solid #dfebf1;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:650;display:grid}.content{max-width:1470px;margin:auto;padding:37px 42px 15px}.page-title{justify-content:space-between;align-items:center;gap:25px;margin-bottom:31px;display:flex}.eyebrow{letter-spacing:1.8px;color:#8b9ba8;font-size:9px;font-weight:650}h1{letter-spacing:-1px;margin:11px 0 9px;font-size:28px;font-weight:650;line-height:1.3}p{color:var(--muted);margin:6px 0 18px;line-height:1.65}.page-title p{margin-bottom:0;font-size:12px}.title-actions{flex-shrink:0;gap:10px;display:flex}.primary{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:7px;padding:11px 16px;font-size:11px;font-weight:600;box-shadow:0 1px 2px #142d4310}.primary:hover{background:#0d2d41;box-shadow:0 2px 8px #142d4320}.secondary{color:#536b7a;background:#fff;border:1px solid #dce4ea;border-radius:7px;padding:10px 14px;font-size:11px;font-weight:550}.secondary:hover{background:#f7fafc}.icon-button{color:#81929f;background:#fff;border:1px solid #e0e7ed;border-radius:7px;flex-shrink:0;width:36px;height:36px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:9px;padding:22px 21px;box-shadow:0 2px 3px #152c4202}.stat>div{color:#81909d;justify-content:space-between;align-items:center;gap:6px;font-size:10px;font-weight:550;display:flex}.stat svg{color:#8ba9b8;box-sizing:content-box;background:#f4f8fa;border-radius:5px;padding:5px}.stat strong{letter-spacing:-1px;margin:12px 0 9px;font-size:31px;font-weight:600;display:block}.stat small{color:#a4afb9;font-size:9px}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;padding:24px;box-shadow:0 2px 3px #152c4202}.panel-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}h2{letter-spacing:-.15px;margin:0;font-size:13px;font-weight:650;line-height:1.5}h3{margin:23px 0 11px;font-size:12px;font-weight:650}.muted{color:#8d9aa7;font-size:11px}.panel-head p{margin:5px 0 0;font-size:10px}.overview-grid{grid-template-columns:1.1fr 1fr;gap:22px;margin-bottom:24px;display:grid}.review-panel,.pipeline-panel{min-height:226px}.section-icon{color:#8ba6b6;background:#f4f8fa;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.review-item{text-align:left;background:0 0;border-top:1px solid #edf1f5;justify-content:flex-start;gap:13px;width:100%;padding:14px 0;display:flex}.review-item>div{flex:1;min-width:0}.review-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;display:block;overflow:hidden}.review-item small{color:#9ba8b3;margin-top:5px;font-size:9px}.review-item>svg{color:#9fb1bd}.clear-state{align-items:center;gap:15px;padding:32px 0 17px;display:flex}.clear-state>span{color:#6b9e91;background:#f7fbfa;border:1px solid #e3eceb;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.clear-state strong{color:#647b89;font-size:12px;font-weight:550}.clear-state p{color:#a0acb6;margin:6px 0 0;font-size:10px}.pipeline-panel>.panel-head>svg{color:#9db0bd}.pipeline{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;display:grid}.pipeline span{color:#8c9dab;font-size:9px}.pipeline strong{margin-top:12px;font-size:22px;font-weight:550;display:block}.pipeline-track{background:#eff3f6;border-radius:2px;height:3px;margin-top:18px;overflow:hidden}.pipeline-track i{background:#68b1d0;height:100%;display:block}.count{color:#8a99a6;white-space:nowrap;background:#f5f7f9;border:1px solid #edf0f3;border-radius:5px;padding:6px 9px;font-size:10px}.toolbar{border-top:1px solid #eef2f5;gap:12px;padding:17px 0 20px;display:flex}.search{color:#9baebc;background:#fafcfd;border:1px solid #e3e9ee;border-radius:6px;flex:1;align-items:center;max-width:410px;padding:0 12px;display:flex}.search input{width:100%;box-shadow:none;background:0 0;border:0;margin:0;padding:10px;font-size:10px}.toolbar select{background:#fff;width:182px;margin:0 0 0 auto;padding:10px;font-size:10px}.table-wrap{margin:0 -24px -12px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#95a4b0;letter-spacing:1px;white-space:nowrap;background:#f9fbfc;border-top:1px solid #eef2f5;border-bottom:1px solid #eef2f5;padding:14px 18px;font-size:8px;font-weight:550}th:first-child,td:first-child{padding-left:24px}th:last-child,td:last-child{padding-right:24px}td{color:#728696;white-space:nowrap;border-bottom:1px solid #f0f3f6;padding:19px 18px;font-size:10px}tbody tr:hover{background:#fbfdfe}tbody tr:last-child td{border-bottom:0}.job-link{text-align:left;white-space:normal;background:0 0;padding:0;display:block}.job-link strong{color:#355263;font-size:11px;font-weight:600}.job-link small{color:#9eaeb9;margin-top:7px;font-size:9px}.badge{color:#748899;white-space:nowrap;background:#f5f7fa;border:1px solid #e8edf2;border-radius:5px;align-items:center;padding:5px 8px;font-size:9px;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-right:6px}.in-progress{color:#5d91b4;background:#f0f7fc;border-color:#e0edf7}.quote-submitted,.completion-submitted{color:#b99a5c;background:#fff9ef;border-color:#f5eacf}.approved,.paid{color:#69a18a;background:#f2f9f6;border-color:#dfeee6}.changes-requested{color:#c68c75;background:#fff4f1;border-color:#f5e1da}.empty{text-align:center;padding:35px 20px 43px}.empty-icon{color:#8dafc1;background:#f5f9fc;border:1px solid #e7eef4;border-radius:13px;place-items:center;width:58px;height:58px;margin:auto;display:grid}.empty h3{color:#4a6778;margin:19px 0 7px;font-size:14px;font-weight:600}.empty p{color:#9fadb8;margin-bottom:20px;font-size:10px}.empty .primary{color:#4f778d;box-shadow:none;background:#fff;border-color:#d5e5ee;margin:auto}.detail-grid{grid-template-columns:minmax(0,2.2fr) minmax(265px,1fr);gap:24px;display:grid}.job-detail{padding:30px}.job-detail>.panel-head{border-bottom:1px solid #edf1f5;padding-bottom:20px}.job-detail>.panel-head h2{letter-spacing:-.45px;font-size:19px}.job-meta{color:#8094a3;background:#f8fafc;border-radius:7px;grid-template-columns:1fr 1fr;gap:14px 18px;padding:19px;font-size:10px;display:grid}.job-meta span{align-items:center;gap:9px;line-height:1.5;display:flex}.job-meta span:first-child{grid-column:1/-1}.job-meta svg{color:#9ab0bf;flex-shrink:0}.preserve{white-space:pre-wrap;color:#718796;font-size:11px;line-height:1.8}.divider{background:#edf1f5;height:1px;margin-top:28px}.quote-amount{letter-spacing:-.5px;color:#416579;margin-bottom:12px;font-size:25px;font-weight:550}.back{color:#8d9fad;background:0 0;margin-bottom:20px;padding:0;font-size:10px}.activity{align-self:start}.activity>h2{padding-bottom:2px}.activity>p{margin-bottom:20px}.event{color:#8a9eac;overflow-wrap:anywhere;gap:14px;padding:0 0 24px;font-size:10px;line-height:1.7;display:flex;position:relative}.event:not(:last-child):before{content:"";background:#e5edf2;width:1px;position:absolute;top:13px;bottom:2px;left:3px}.event-dot{background:#95bdcf;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px;box-shadow:0 0 0 1px #d9e7ee}.event small{color:#b1bdc7;margin-top:7px;font-size:8px}.upload-box{background:#fafcfe;border:1px dashed #d7e4ed;border-radius:7px;padding:20px}.upload-box label{margin-bottom:14px}.upload-box input[type=file]{background:0 0;border:0;margin-bottom:18px;padding:0;font-size:10px}.upload-box input[type=file]::file-selector-button{color:#708b9b;font:inherit;background:#fff;border:1px solid #d5e1e9;border-radius:5px;margin-right:10px;padding:8px 12px}.file-list a{color:#7897a9;overflow-wrap:anywhere;border-bottom:1px solid #edf1f5;align-items:center;gap:12px;padding:16px 0;font-size:10px;display:flex}.file-list a>div{flex:1}.file-list small{color:#a5b4bf;margin-top:6px;font-size:8px}.file-list svg{flex-shrink:0}label{color:#6d8494;margin-bottom:17px;font-size:10px;font-weight:550;display:block}input,select,textarea{color:#36586d;background:#fff;border:1px solid #dfe7ed;border-radius:6px;width:100%;margin-top:8px;padding:11px 12px;font-size:11px;display:block;box-shadow:0 1px 2px #152d4203}input::placeholder,textarea::placeholder{color:#b1bec8;font-weight:400}input:focus,select:focus,textarea:focus{border-color:#9bc9dc}textarea{resize:vertical;min-height:96px;line-height:1.7}.form-row{gap:18px;display:flex}.form-row label{flex:1;min-width:0}form .primary,form .secondary{margin-top:3px}.job-detail form{margin:20px 0}.form-section-label{color:#9aadb9;letter-spacing:1.4px;border-top:1px solid #eff3f6;padding:18px 0 14px;font-size:8px;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#142c4260;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:640px;max-height:94vh;padding:30px;overflow:auto;box-shadow:0 25px 80px #142b4330}.modal>.panel-head{margin-bottom:22px}.modal h2{letter-spacing:-.6px;font-size:19px}.modal-actions{border-top:1px solid #e9eff3;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:22px;display:flex}.contractor{border-top:1px solid #edf2f5;align-items:center;gap:15px;padding:24px 0;display:flex}.contractor .avatar{background:#f2f7fb;border-radius:10px;width:43px;height:43px}.contractor strong{color:#4d6a7d;font-size:11px;font-weight:600}.contractor small{color:#99aebb;margin-top:6px;font-size:10px}.contractor>.muted{background:#f8fafc;border-radius:5px;margin-left:auto;padding:7px 10px}.urgent{color:#bc8b75;margin-top:6px;font-size:8px}.error{color:#ba8068;background:#fff6f2;border:1px solid #f2e3dc;border-radius:7px;margin:15px 20px;padding:14px 20px;font-size:11px;line-height:1.6}.error button{color:inherit;background:0 0;text-decoration:underline}.toast{color:#fff;z-index:20;background:#173f55;border-radius:8px;gap:8px;padding:15px 20px;font-size:11px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #19364920}.loading{color:#7c94a4;padding:60px}footer{color:#b0bec9;letter-spacing:1.4px;justify-content:space-between;gap:20px;padding:28px 2px 12px;font-size:8px;display:flex}footer span{letter-spacing:0;color:#b1bec8}@media (min-width:1500px){.content{padding-top:46px}.page-title{margin-bottom:37px}.stats{gap:22px}.stat{padding:24px}.overview-grid{gap:24px}}@media (max-width:1150px){aside{width:212px}.official-brand{width:175px;height:120px}.official-brand img{width:215px;top:-46px;left:-20px}main{margin-left:212px}.content{padding:30px 26px}header{padding:0 26px}.stat{padding:18px 15px}.stats{gap:12px}.stat>div{font-size:9px}.overview-grid{grid-template-columns:1fr}.review-panel,.pipeline-panel{min-height:unset}.pipeline{margin-top:20px}.pipeline-panel{padding-bottom:25px}.detail-grid{grid-template-columns:1fr}.activity{max-width:none}}@media (max-width:780px){.shell{display:block}aside{border-right:0;flex-flow:wrap;align-items:center;gap:8px;width:100%;height:auto;padding:12px 18px;display:flex;position:relative}.official-brand{flex-shrink:0;width:165px;height:86px;margin:0}.official-brand img{width:195px;top:-53px;left:-15px}.portal-label{text-align:right;letter-spacing:1.3px;max-width:110px;margin:0 0 0 auto;font-size:8px;line-height:1.8}.aside-bottom{display:none}nav{gap:5px;width:100%;padding:7px 0 0;display:flex;overflow-x:auto}nav button{white-space:nowrap;flex-shrink:0;padding:10px 12px;font-size:10px}nav button svg{width:15px;height:15px}nav small{font-size:8px}main{margin:0}header{height:65px;padding:0 20px}.breadcrumbs{gap:8px;font-size:9px}.breadcrumbs>span{display:none}.account{max-width:190px;font-size:10px}.account>div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.avatar{flex-shrink:0;width:29px;height:29px}.content{padding:26px 18px 14px}.page-title{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-bottom:24px}h1{font-size:25px}.eyebrow{font-size:8px}.page-title p{max-width:300px;font-size:10px}.primary{padding:10px 14px;font-size:10px}.icon-button{width:34px;height:34px}.title-actions{justify-content:flex-start;width:100%}.stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:16px}.stat strong{font-size:28px}.stat small{font-size:8px}.panel{padding:20px}.panel-head{gap:12px}.panel-head p{font-size:9px}.review-item{gap:9px}.review-item strong{font-size:10px}.review-item small{font-size:8px}.review-item .badge{font-size:7px}.clear-state{padding:20px 0 5px}.clear-state p{font-size:9px}.pipeline{gap:13px}.pipeline span{font-size:8px}.pipeline strong{font-size:20px}.toolbar{flex-wrap:wrap;gap:10px;padding:17px 0}.search{min-width:100%;max-width:none}.toolbar select{width:100%}.table-wrap{margin:0 -20px -10px}th:first-child,td:first-child{padding-left:20px}th:last-child,td:last-child{padding-right:20px}th,td{padding:15px 13px}.job-detail{padding:22px}.job-detail>.panel-head{display:block}.job-detail>.panel-head .badge{margin-top:12px}.job-meta{grid-template-columns:1fr;padding:16px;font-size:9px}.job-meta span:first-child{grid-column:auto}.form-row{display:block}.modal{max-height:92vh;padding:24px}.modal-backdrop{padding:15px}.contractor{flex-wrap:wrap;gap:12px}.contractor>.muted{margin-left:55px;font-size:9px}.contractor strong{font-size:10px}.contractor small{font-size:9px}footer{font-size:7px;line-height:1.8}footer span{text-align:right}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}body{font-size:14px}nav button{font-size:13px}.breadcrumbs,.account{font-size:12px}.page-title p{font-size:13px}h2{font-size:15px}h3{font-size:14px}.muted,.panel-head p,.stat>div{font-size:12px}.stat small,.pipeline span{font-size:11px}.review-item strong{font-size:12px}.review-item small{font-size:11px}.clear-state strong{font-size:13px}.clear-state p,.primary,.secondary,.search input,.toolbar select{font-size:12px}th{font-size:10px}td{font-size:12px}.job-link strong{font-size:13px}.job-link small,.badge,.count{font-size:11px}.job-meta{font-size:12px}.preserve{font-size:13px}.event{font-size:12px}.event small{font-size:10px}label{font-size:12px}input,select,textarea{font-size:13px}.form-section-label{font-size:10px}.file-list a{font-size:12px}.file-list small{font-size:10px}.contractor strong{font-size:13px}.contractor small{font-size:12px}.empty h3{font-size:16px}.empty p{font-size:12px}.empty-icon{margin-top:8px}.toast,.error{font-size:13px}@media (max-width:780px){.official-brand{height:106px}.official-brand img{top:-43px}nav button,.page-title p{font-size:12px}.stat>div{font-size:11px}.stat small{font-size:10px}.panel-head p{font-size:11px}.review-item .badge{font-size:9px}.review-item strong{font-size:12px}.review-item small,.pipeline span{font-size:10px}.clear-state p,.job-meta,.contractor>.muted{font-size:11px}.contractor strong{font-size:13px}.contractor small{font-size:11px}}.auth-wrap{background:#f1f5f9;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.auth-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:100%;max-width:440px;padding:36px;box-shadow:0 12px 40px #18344b0b}.auth-card>img{object-fit:contain;width:150px;height:150px;margin:0 auto 20px;display:block}.auth-card h1{margin:12px 0;font-size:30px}.auth-card>p{color:#64748b;line-height:1.6}.auth-card form{gap:18px;margin-top:24px;display:grid}.auth-card label{gap:8px;font-size:14px;font-weight:600;display:grid}.auth-card input{width:100%;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:12px}.auth-card small{color:#64748b;font-size:12px}.auth-card .primary{justify-content:center}.auth-links{justify-content:space-between;gap:12px;margin-top:22px;display:flex}.auth-links button{color:#1673a6;cursor:pointer;background:0 0;border:0;font-size:13px}.auth-home{color:#64748b;margin-top:28px;font-size:13px;display:block}.auth-message{color:#20593a;background:#e8f6ee;border-radius:8px;padding:14px;font-size:14px;line-height:1.5}.install-app{bottom:max(16px,env(safe-area-inset-bottom));color:#fff;z-index:100;background:#0b2540;border-radius:14px;max-width:560px;margin:auto;padding:16px 40px 16px 16px;position:fixed;left:16px;right:16px;box-shadow:0 8px 32px #0003}.install-app p{margin:6px 0;font-size:13px}.install-app button{color:#0b2540;cursor:pointer;background:#fff;border:0;border-radius:8px;padding:9px 14px}.install-app small{font-size:12px;display:block}.install-app .install-dismiss{color:#fff;background:0 0;padding:0 6px;font-size:24px;position:absolute;top:8px;right:8px}
