:root{--navy:#082b52;--blue:#0f67a0;--turq:#11aabd;--aqua:#46d2d6;--sky:#dff6fb;--ice:#f5fbfd;--ink:#15324a;--muted:#6a8191;--line:#cde4eb;--white:#fff;--green:#148364;--red:#b4485a;--amber:#cc8a19;--shadow:0 12px 30px rgba(8,43,82,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(180deg,#edf9fc,#f9fcfd 55%,#eef9fb)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,var(--navy),#0b4779 57%,#087f96);padding:18px 14px;color:#fff}.brand{display:flex;gap:10px;align-items:center;margin-bottom:20px}.brand img{width:72px;height:58px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.brand strong{font-size:14px}.brand span{display:block;font-size:11px;opacity:.8;margin-top:4px}.nav{display:block;width:100%;border:0;background:transparent;color:#eefcff;padding:11px 12px;margin:3px 0;text-align:left;border-radius:10px;font-size:13px;cursor:pointer}.nav:hover,.nav.active{background:linear-gradient(90deg,rgba(71,210,214,.35),rgba(255,255,255,.1));box-shadow:inset 3px 0 0 #62edf0}main{min-width:0;padding:24px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.topbar h1{margin:0;color:var(--navy);font-size:30px}.topbar p{margin:5px 0 0;color:var(--muted)}button{border:1px solid #b9dce5;background:#fff;color:var(--navy);padding:9px 12px;border-radius:9px;font-weight:700;cursor:pointer}button:hover{border-color:var(--turq)}button.primary{border:0;background:linear-gradient(135deg,var(--blue),var(--turq));color:white}.ghost{background:transparent}.link-btn{border:0;padding:3px;background:transparent;color:var(--blue)}.view{display:none}.view.active{display:block}.panel,.kpi,.summary{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.panel{padding:18px;margin-bottom:16px}.panel h2{margin:0 0 12px;color:var(--navy);font-size:20px}.panel h3{color:var(--navy)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{padding:17px;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--aqua))}.kpi span,.summary span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.kpi strong,.summary strong{display:block;color:var(--navy);font-size:27px;margin-top:7px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span2{grid-column:span 2}.span4{grid-column:1/-1}label{display:block;font-weight:700;font-size:12px;color:#557084;margin-bottom:5px}input,select,textarea{width:100%;border:1px solid #b9dce5;border-radius:10px;padding:10px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--turq);box-shadow:0 0 0 3px rgba(17,170,189,.12)}textarea{min-height:82px;resize:vertical}.actions{display:flex;justify-content:flex-end;gap:8px}.table-wrap{overflow:auto;border:1px solid #d9eaf0;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}th,td{padding:10px;border-bottom:1px solid #e7f1f4;text-align:left;font-size:12px;white-space:nowrap}th{background:#dff4f8;color:var(--navy);position:sticky;top:0}.profit{color:var(--green);font-weight:800}.loss{color:var(--red);font-weight:800}.info{padding:10px 12px;background:#e8f9fb;border:1px solid #bce8ef;border-radius:10px;color:#1b6572}.chips-check{display:flex;flex-wrap:wrap;gap:7px}.chips-check label{display:flex;gap:5px;align-items:center;border:1px solid #c8e4ea;background:#f8fdfe;padding:7px 9px;border-radius:999px;color:var(--ink);margin:0}.chips-check input{width:auto}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.template-select{width:auto;min-width:260px}.estimate-tabs{display:flex;flex-wrap:wrap;gap:7px}.estimate-tab{font-size:12px}.estimate-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.template-fields{padding:14px;border:1px solid #cfe7ec;border-radius:14px;background:#f5fcfd}.template-fields h3{margin-top:0}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.calc-output{padding:10px;border-radius:10px;background:#e7f8fa;border:1px solid #bee6ec}.calc-output strong{display:block;font-size:18px;color:var(--navy)}.master-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary{padding:15px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:16px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center}.calendar-toolbar>div{text-align:center}.calendar-toolbar h2{margin:0}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week span{text-align:center;color:var(--muted);font-size:11px;font-weight:800;padding:7px}.day{min-height:112px;border:1px solid #e0edf1;margin:-1px 0 0 -1px;padding:7px;background:#fff;cursor:pointer}.day.other{background:#f7fafb;color:#9caeb8}.day.today{box-shadow:inset 0 0 0 2px var(--turq)}.day-num{font-weight:800;font-size:12px}.day-events{display:flex;flex-direction:column;gap:4px;margin-top:5px}.day-event{font-size:10px;background:#dff5f8;border-left:3px solid var(--blue);padding:4px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-event.misc{background:#fff2d7;border-left-color:var(--amber)}.event-list{display:flex;flex-direction:column;gap:8px}.event-card{border:1px solid var(--line);border-left:5px solid var(--turq);border-radius:10px;padding:9px;background:#fbfeff}.event-card .mini-actions{float:right}.bar-list{display:flex;flex-direction:column;gap:8px}.bar-row{display:grid;grid-template-columns:145px 1fr 38px;gap:8px;align-items:center;font-size:12px}.bar-track{height:12px;border-radius:999px;background:#e8f3f6;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--aqua));border-radius:999px}.data-list{display:flex;flex-direction:column;gap:7px}.data-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #e5eff2}.toast{position:fixed;right:20px;bottom:20px;background:var(--navy);color:#fff;padding:11px 15px;border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.22)}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;position:sticky;top:0;z-index:10;padding:9px}.brand{display:none}.nav{width:auto;flex:0 0 auto;margin:0}.dashboard-grid,.master-grid,.calendar-layout{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){main{padding:12px}.form-grid,.form-grid.two{grid-template-columns:1fr}.span2,.span4{grid-column:1}.kpi-grid,.summary-grid{grid-template-columns:1fr 1fr}.calc-grid{grid-template-columns:1fr 1fr}.section-head{flex-direction:column}.template-select{width:100%}.day{min-height:80px}}
/* V5 workflow upgrades */
#dashboard .panel{padding:12px;margin-bottom:10px;border-radius:14px}#dashboard .panel h2{font-size:16px;margin-bottom:8px}#dashboard .kpi-grid{gap:8px;margin-bottom:10px}#dashboard .kpi{padding:10px 12px;border-radius:14px}#dashboard .kpi strong{font-size:20px;margin-top:4px}#dashboard .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#dashboard .summary{padding:10px}#dashboard .summary strong{font-size:19px}#dashboard table{min-width:600px}#dashboard th,#dashboard td{padding:7px;font-size:11px}.calendar-jump{display:flex;align-items:center;gap:8px}.calendar-jump select{width:auto;min-width:120px}.move-btn{padding:3px 6px;margin-right:2px;font-size:11px}.calculator-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.wide-table{min-width:1500px}.route-head,.route-return{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:end;margin-bottom:12px}.route-home,.route-return>div:first-child{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--ice)}.route-home strong,.route-return strong{display:block;color:var(--navy);margin-bottom:4px}.route-stops{display:flex;flex-direction:column;gap:8px}.route-stop{display:grid;grid-template-columns:34px minmax(220px,1.1fr) minmax(250px,1.5fr) 120px;gap:8px;align-items:end;padding:8px;border:1px solid #d9eaf0;border-radius:12px;background:#fbfeff}.route-number{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:4px}.route-return{grid-template-columns:1fr 180px;margin-top:10px}.route-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:12px 0;font-size:14px}.route-total strong{font-size:22px;color:var(--navy)}.muted{color:var(--muted)}.timesheet-wrap{margin-top:14px}.timesheet-wrap input,.timesheet-wrap select{min-width:115px;padding:7px}.timesheet-wrap .ts-notes{min-width:220px}@media(max-width:1100px){.route-stop{grid-template-columns:34px 1fr 1fr 100px}.calculator-row{grid-template-columns:1fr}}@media(max-width:750px){#dashboard .dashboard-grid{grid-template-columns:1fr}.calendar-jump{flex-wrap:wrap;justify-content:center}.route-head,.route-return,.route-stop{grid-template-columns:1fr}.route-number{display:none}}
.estimate-group{margin:18px 0 26px;border:1px solid #c9e8ee;border-radius:14px;padding:14px;background:#fbfeff}.estimate-group h3{margin:0 0 10px;color:#0b4f7d;display:flex;align-items:center;gap:8px}.badge{display:inline-flex;min-width:24px;height:24px;border-radius:999px;background:#dff4f8;align-items:center;justify-content:center;font-size:12px}.worksheet-box{margin-top:18px;border:1px solid #aadce5;border-radius:12px;padding:14px;background:#f7fcfd}.worksheet-box input{min-width:82px}.worksheet-box table{font-size:13px}.worksheet-box tfoot th{font-size:14px}.form-grid small{display:block;margin-top:4px;color:#617b8d}

/* V9 branding and worksheet updates */
.brand{overflow:hidden}.brand img{width:72px;height:58px;object-fit:cover;object-position:0 0}.fill-cell-box{margin-top:12px}.fill-cell-box .calc-output{margin-top:10px}.worksheet-box input::placeholder{color:#9bb1bd}.template-fields select{width:100%;border:1px solid #b9dce5;border-radius:10px;padding:10px;background:#fff;color:var(--ink)}
.brand-pic{width:72px;height:58px;overflow:hidden;background:#fff;border-radius:12px;flex:0 0 72px}.brand-pic img{width:114px!important;height:auto!important;max-width:none!important;object-fit:initial!important;display:block;padding:0!important;border-radius:0!important}
/* V10 refinements */
.brand-logo-only{justify-content:center;margin-bottom:16px}.brand-logo-only .brand-pic{width:150px;height:92px;flex-basis:150px}.brand-logo-only .brand-pic img{width:150px!important;height:92px!important;object-fit:cover!important;object-position:center!important;border-radius:12px!important}
#contractorPortal textarea{min-height:95px}

/* V14 compact/responsive additions */
#dashboard .panel{padding:12px 14px;margin-bottom:12px}#dashboard .panel h2{font-size:15px;margin:0 0 8px}.kpi-grid{gap:10px}.kpi{padding:12px}.kpi span{font-size:11px}.kpi strong{font-size:22px}.dashboard-grid{gap:10px}.dashboard-grid .panel{min-height:0}.dashboard-grid canvas{max-height:120px}.data-row{padding:4px 0;font-size:12px}.bar-list{font-size:12px}.compact-table table{font-size:10.5px}.compact-table th,.compact-table td{padding:5px 6px;white-space:nowrap}.compact-panel{overflow:hidden}.request-options{border:1px solid #c7e5eb;border-radius:10px;padding:12px;margin-top:10px;background:#f7fcfd}.upload-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.upload-preview>div{border:1px solid #c8dde5;border-radius:8px;padding:6px;background:#fff}.upload-preview img{width:90px;height:70px;object-fit:cover;border-radius:6px;display:block}.upload-preview small{display:block;max-width:90px;overflow:hidden;text-overflow:ellipsis}.file-chip{padding:10px}.material-actions{min-width:180px}.material-actions button{margin:2px}.route-stop select{min-width:170px}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:sticky;top:0;z-index:30;width:100%;height:auto;display:flex;overflow-x:auto;padding:8px;background:#0d3555;gap:6px}.brand{min-width:80px;margin:0;padding:0}.brand-pic{width:70px;height:44px}.nav{white-space:nowrap;min-width:max-content;padding:9px 11px;font-size:12px}.topbar{position:sticky;top:60px;z-index:20;padding:10px 12px}.topbar h1{font-size:20px}.topbar p{font-size:11px}main{margin-left:0!important}.form-grid,.form-grid.two{grid-template-columns:1fr 1fr}.span4,.span2{grid-column:1/-1}.calendar-layout,.master-grid,.dashboard-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.panel{border-radius:10px}.route-stop{grid-template-columns:32px 1fr}.route-stop>div:nth-of-type(2),.route-stop>div:nth-of-type(3){grid-column:2}.table-wrap{overflow-x:auto}.calendar-grid{min-width:760px}.calendar-layout>.panel:first-child{overflow-x:auto}}
@media(max-width:560px){body{font-size:13px}.sidebar{top:0}.brand{display:none}.topbar{top:52px}.topbar button{font-size:11px}.form-grid,.form-grid.two{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi strong{font-size:18px}.dashboard-grid{grid-template-columns:1fr}.panel{padding:10px;margin:8px}.panel h2{font-size:16px}.actions{display:flex;flex-wrap:wrap;gap:6px}.actions button{flex:1 1 120px}.estimate-tabs{display:flex;overflow-x:auto;white-space:nowrap}.estimate-tab{min-width:max-content}.route-head,.route-return{display:block}.route-stop{display:grid;grid-template-columns:28px 1fr}.summary-grid{grid-template-columns:1fr 1fr}.table-wrap table{font-size:11px}.table-wrap th,.table-wrap td{padding:6px}.calendar-toolbar{display:flex;flex-wrap:wrap;gap:5px}.calendar-jump{width:100%;display:flex;gap:5px}.calendar-jump select{flex:1}.upload-preview img{width:74px;height:58px}.request-job-types{max-height:170px;overflow:auto}.pic-logo{width:120px}}

/* V15 contractor request + dashboard visibility */
.sidebar-contact{margin:-10px 5px 16px;padding:10px 8px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);font-size:10px;line-height:1.4;color:#e9fbff;word-break:break-word}.sidebar-contact strong,.sidebar-contact span{display:block}.sidebar-contact strong{font-size:11px;margin-bottom:3px}.dashboard-grid .dash-large{min-height:300px}.dashboard-grid .dash-large canvas{max-height:235px!important}.dashboard-grid .dash-small{max-height:180px;overflow:auto}.dashboard-grid .dash-small .bar-row{grid-template-columns:115px 1fr 32px;gap:5px;font-size:10px}.dashboard-grid .dash-small .bar-track{height:9px}@media(max-width:1050px){.sidebar-contact{display:none}.dashboard-grid .dash-large{min-height:260px}.dashboard-grid .dash-large canvas{max-height:205px!important}}

/* V16 dashboard readability correction */
.dashboard-brand-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:12px 16px;margin-bottom:12px}.dashboard-brand-card img{width:118px;height:76px;object-fit:cover;object-position:center;border-radius:10px;background:#fff}.dashboard-company-contact{display:flex;flex-direction:column;gap:2px;color:var(--navy);font-size:12px;line-height:1.3}.dashboard-company-contact strong{font-size:15px;margin-bottom:2px}.dashboard-primary-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1.35fr) minmax(210px,.7fr)!important;align-items:start}.dashboard-primary-grid .dash-large{min-height:360px!important;grid-row:span 2}.dashboard-primary-grid .dash-large .chart-frame{height:300px;min-height:300px;overflow:visible}.dashboard-primary-grid .dash-large canvas{width:100%!important;height:300px!important;max-height:none!important;display:block}.dashboard-primary-grid .dash-small{min-height:145px!important;max-height:190px!important;padding:10px!important;overflow:auto}.dashboard-primary-grid .dash-small h2{font-size:13px!important;margin-bottom:5px!important}.dashboard-primary-grid .dash-small .bar-list{gap:4px}.dashboard-primary-grid .dash-small .bar-row{grid-template-columns:92px 1fr 26px!important;gap:4px!important;font-size:9.5px!important}.dashboard-primary-grid .dash-small .bar-track{height:7px!important}.dashboard-primary-grid .dash-medium{min-height:160px!important;max-height:210px;overflow:auto;padding:10px!important}.dashboard-primary-grid .dash-medium h2{font-size:13px!important}.dashboard-primary-grid .dash-medium .data-row{font-size:10.5px;padding:3px 0}.dashboard-primary-grid+ .panel{margin-top:2px}
@media(max-width:1350px){.dashboard-primary-grid{grid-template-columns:1fr 1fr!important}.dashboard-primary-grid .dash-large{grid-row:auto}.dashboard-primary-grid .dash-small,.dashboard-primary-grid .dash-medium{max-height:none}}
@media(max-width:850px){.dashboard-brand-card{align-items:flex-start}.dashboard-primary-grid{grid-template-columns:1fr!important}.dashboard-primary-grid .dash-large{min-height:330px!important}.dashboard-primary-grid .dash-large .chart-frame,.dashboard-primary-grid .dash-large canvas{height:270px!important;min-height:270px}.dashboard-company-contact{font-size:11px}.dashboard-company-contact strong{font-size:14px}}

/* V17 universal company header + role portals */
.global-company-header{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#f9feff,#eaf8fb);border:1px solid #b9dfe8;border-radius:14px;padding:10px 14px;margin:0 0 12px;box-shadow:0 4px 14px #16445a12}.global-company-header img{width:94px;height:62px;object-fit:cover;object-position:center;border-radius:9px;background:#fff}.global-company-header>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 14px;color:var(--navy);font-size:11px;line-height:1.25}.global-company-header strong{flex-basis:100%;font-size:14px}.role-intro{border-left:5px solid #16aabd}.portal-grid,.portal-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-status-grid{grid-template-columns:1.2fr 1fr 1fr}.portal-stat-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.portal-stat-row>div{min-width:84px;background:#edf9fb;border:1px solid #c9e8ee;border-radius:10px;padding:8px;text-align:center}.portal-stat-row strong,.portal-stat-row span{display:block}.portal-stat-row strong{font-size:19px;color:var(--navy)}.portal-stat-row span{font-size:10px;color:var(--muted)}.inline-ready{display:flex;gap:6px;align-items:center;margin-top:6px}.inline-ready input{max-width:160px}.event{border:1px solid #d5e9ee;border-radius:10px;padding:9px 10px;margin:7px 0;background:#fff}.event strong,.event span{display:block}.event span{font-size:11px;color:#577489;margin-top:2px}
@media(max-width:1050px){.portal-status-grid{grid-template-columns:1fr 1fr}.portal-status-grid>.panel:first-child{grid-column:1/-1}.global-company-header>div{font-size:10px}}
@media(max-width:700px){.global-company-header{align-items:flex-start;padding:8px 10px}.global-company-header img{width:72px;height:48px}.global-company-header>div{display:flex;flex-direction:column;gap:1px;font-size:9.5px}.global-company-header strong{font-size:12px}.portal-grid,.portal-status-grid{grid-template-columns:1fr}.portal-status-grid>.panel:first-child{grid-column:auto}.inline-ready{align-items:stretch;flex-direction:column}.inline-ready input{max-width:none}}
.global-company-header a,.dashboard-company-contact a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.pm-estimate-status{display:inline-block!important;width:max-content;margin-top:7px!important;padding:4px 8px;border-radius:999px;background:#e4f7fa;color:#07566a!important;font-weight:700}
.instruction-steps{margin:8px 0 0;padding-left:24px}.instruction-steps li{margin:12px 0;line-height:1.45}.instruction-sheet a{color:#087e92}.document-folder{margin:14px 0 20px}.document-folder h3{padding:8px 10px;margin:0;background:#eaf8fb;border:1px solid #c9e8ee;border-radius:10px 10px 0 0;color:var(--navy)}
.pdf-email-tools{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:10px 0;padding:10px;border:1px solid #c9e8ee;border-radius:10px;background:#f4fbfc}.pdf-email-tools>div{min-width:260px;flex:1}.pdf-email-tools label{display:block;margin-bottom:4px}.pdf-email-tools select{width:100%}@media(max-width:600px){.pdf-email-tools{align-items:stretch;flex-direction:column}.pdf-email-tools>div{min-width:0}.pdf-email-tools button{width:100%}}
.role-preview-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 14px 12px;padding:10px 14px;border:2px solid #16aabd;border-radius:12px;background:#e8fbfd;color:#0b3552}.role-preview-banner span{flex:1}.role-comparison td:first-child{font-weight:700;color:var(--navy)}@media(max-width:650px){.role-preview-banner{align-items:stretch;flex-direction:column}.role-preview-banner button{width:100%}}

/* V18 beta test controls */
.beta-test-bar{position:sticky;top:0;z-index:9999;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 14px;background:#082f49;color:#fff;border-bottom:3px solid #22d3ee;font-size:13px}
.beta-test-left,.beta-test-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.beta-test-left strong{letter-spacing:.04em}.beta-test-actions select,.beta-test-actions button{min-height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.35);padding:5px 9px}.beta-test-actions button{background:#fff;color:#082f49;font-weight:700;cursor:pointer}
@media(max-width:760px){.beta-test-bar{position:relative;align-items:flex-start;flex-direction:column}.beta-test-actions{width:100%}.beta-test-actions select,.beta-test-actions button{flex:1;min-width:120px}}

.contractor-group-row td{background:#eaf8fb;color:#063b63;border-top:2px solid #13a8b5;padding:10px 12px;font-size:14px}.form-grid input:required:invalid,.form-grid textarea:required:invalid{border-left:3px solid #d8a42b}.form-grid input:required:valid,.form-grid textarea:required:valid{border-left:3px solid #2a9d67}
/* V21 live authentication */
.live-auth{position:fixed;inset:0;z-index:99999;background:rgba(6,35,55,.94);display:flex;align-items:center;justify-content:center;padding:20px}.live-auth.hidden{display:none}.live-login-card{width:min(430px,94vw);background:#fff;border-radius:18px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.35);display:grid;gap:12px}.live-login-card img{width:150px;max-height:95px;object-fit:contain;margin:auto}.live-login-card h1,.live-login-card p{text-align:center;margin:0}.live-login-card form{display:grid;gap:9px}.live-login-card input{width:100%;box-sizing:border-box}.live-login-card .error{color:#a71930}.live-locked{filter:blur(3px);pointer-events:none}.live-user-bar{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px}.live-user-bar.hidden{display:none}body[data-live-role="contractor"] #contractorPortal .role-intro,body[data-live-role="project_manager"] #projectManagerPortal .role-intro{display:none!important}@media(max-width:700px){.live-user-bar{width:100%;justify-content:flex-end}.live-user-bar span{max-width:170px;overflow:hidden;text-overflow:ellipsis}.live-login-card{padding:20px}}
.notification-bell{position:relative;min-width:46px!important;background:#fff!important;color:#083d5c!important;border:1px solid #85cbd6!important;font-size:19px!important}.notification-badge{position:absolute;right:-7px;top:-8px;display:grid!important;place-items:center;min-width:21px;height:21px;padding:0 4px;border-radius:999px;background:#d92d46;color:#fff;font-size:11px;font-weight:800;border:2px solid #fff}.notification-badge.hidden,.notification-bell.hidden{display:none!important}.notification-drawer{position:fixed;z-index:9990;right:18px;top:82px;width:min(430px,calc(100vw - 28px));max-height:70vh;overflow:auto;padding:14px;background:#fff;border:2px solid #16aabd;border-radius:14px;box-shadow:0 18px 55px rgba(5,39,61,.28)}.notification-drawer.hidden{display:none}.notification-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:var(--navy)}.request-inbox-panel{border-left:6px solid #16aabd!important;background:linear-gradient(135deg,#fff,#f1fbfc)!important}.request-inbox-panel h2{font-size:18px!important}@media(max-width:700px){.notification-drawer{top:118px;right:8px;width:calc(100vw - 16px);box-sizing:border-box}.notification-bell{min-width:42px!important}.request-inbox-panel{margin-top:10px!important}}

/* V24 website links, Sheet shortcuts, and email signatures */
.sheet-link-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-left:5px solid var(--turq)}.sheet-link-panel h2{margin-bottom:4px}.button,.topbar-site-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border:1px solid #9bcbd4;border-radius:8px;background:#fff;color:#0b4f7d;text-decoration:none;font-weight:700}.button:hover,.topbar-site-link:hover{background:#eaf7f9}.topbar-site-link{margin-top:8px;width:max-content}.signature-grid{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:14px 20px}.email-signature{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #b9dfe8;border-radius:12px;background:#fff;max-width:620px}.email-signature img{width:160px;height:auto;flex:0 0 auto}.email-signature div{display:flex;flex-direction:column;gap:3px}.email-signature a{color:#0b4f7d;text-decoration:none}.header-site-link{font-weight:700}.brand a[data-aoc-website]{display:block}.brand a[data-aoc-website] img{display:block}@media(max-width:700px){.signature-grid{grid-template-columns:1fr}.email-signature{align-items:flex-start}.email-signature img{width:135px}.sheet-link-panel{align-items:flex-start}.sheet-link-panel .actions{width:100%}.sheet-link-panel .actions>*{flex:1 1 180px}}
.external-readonly-calendar .day{cursor:default}.external-readonly-calendar .day-event{pointer-events:none}
.completed-record>td,.completed-record.event-card{background:#d9f4f7!important}
.estimate-action-stack{display:grid;gap:8px;min-width:390px;white-space:normal}.estimate-action-stack>div:first-child{display:flex;gap:5px;flex-wrap:wrap}.estimate-email-label{margin:0}.estimate-recipient-select{min-width:330px}.estimate-contact-links{line-height:1.65;color:#557084}.estimate-contact-links a{color:#087e92;text-decoration:underline;text-underline-offset:2px}.estimate-action-stack button.primary{justify-self:start}.estimate-action-stack button.danger{border-color:#d9aab1;color:#9c2638}@media(max-width:700px){.estimate-action-stack{min-width:280px}.estimate-recipient-select{min-width:260px}}
.dashboard-work-center{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(520px,1.4fr);gap:14px;margin:14px 0}.dashboard-todo-list{display:grid;gap:8px}.dashboard-task{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #b9dfe8;border-radius:10px;background:#f4fbfc}.dashboard-task span{display:grid;gap:2px}.dashboard-task small{color:#557084}.dashboard-task.done{opacity:.65;background:#e4f4ef}.dashboard-task.done strong{text-decoration:line-through}.dashboard-mini-calendar .calendar-grid{min-height:320px}.dashboard-mini-calendar .day{min-height:48px;padding:5px}.dashboard-mini-calendar .day-event{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.completed-record>td,.completed-record.event-card{background:#e5f5f1!important}.status-chip,.payment-chip{display:inline-block;padding:4px 8px;border-radius:999px;background:#dff4f8;color:#083d5c;font-weight:700}.status-waiting-on-other-work{background:#fff1d6;color:#795200}.status-completed{background:#dcefe7;color:#17633e}.request-focus{outline:3px solid #10aabd;outline-offset:-3px;background:#e8fbfd!important}@media(max-width:950px){.dashboard-work-center{grid-template-columns:1fr}.dashboard-mini-calendar .calendar-grid{min-height:280px}}
