:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#16202a;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{background:#12253a;color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark,.login-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e74b3c;color:#fff;font-weight:800;font-size:24px}.brand div{display:flex;flex-direction:column}.brand small{opacity:.7}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar a{color:#d8e2eb;text-decoration:none;padding:11px 12px;border-radius:8px;font-size:14px}.sidebar a:hover,.sidebar a.active{background:#233d57;color:#fff}.user-card{margin-top:auto;border-top:1px solid #2d445d;padding-top:18px;display:flex;flex-direction:column;font-size:13px}.user-card span{opacity:.7}.link-button{background:transparent;padding:8px 0 0;text-align:left;color:#fff;font-weight:500}.main{min-width:0}.topbar{height:82px;background:#fff;border-bottom:1px solid #dde4e9;padding:18px 30px;display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:18px;margin:0}.topbar p{margin:4px 0 0;color:#6c7883;font-size:13px}.environment{background:#edf2f6;padding:7px 10px;border-radius:999px;font-size:12px}.content{padding:28px 30px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-heading h2{margin:0 0 6px;font-size:25px}.page-heading p,.muted{margin:0;color:#66737e}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric,.panel{background:#fff;border:1px solid #dfe6eb;border-radius:12px;box-shadow:0 3px 12px #1928370a}.metric{padding:20px;display:flex;flex-direction:column}.metric strong{font-size:30px}.metric span{color:#687580;margin-top:6px}.panel{padding:22px}.panel h3{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label,.login-card label,.role-toolbar label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea,.login-card input,.role-toolbar select,.field-editor input{width:100%;border:1px solid #cbd5dd;border-radius:8px;padding:11px;background:#fff}.span-2{grid-column:span 2}.form-actions{display:flex;align-items:center;gap:16px}button{border:0;border-radius:8px;padding:10px 14px;background:#df4437;color:#fff;font-weight:700;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.secondary{background:#e9eef2;color:#263746}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:15px 16px;border-bottom:1px solid #e5eaee;font-size:13px;vertical-align:top}th{background:#f7f9fa;color:#56636e}td small,.permission-card small,.field-editor small{display:block;color:#73808b;margin-top:4px}.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf2f6;color:#3c4d5b;font-size:12px;font-weight:700}.alert{background:#fff1ef;border:1px solid #f2b5ae;color:#9d2f25;padding:12px 14px;border-radius:8px;margin-bottom:14px}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#102338}.login-brand{padding:9vw;display:flex;align-items:center;gap:24px;color:#fff;background:linear-gradient(135deg,#102338,#1d405f)}.login-brand .login-logo{width:70px;height:70px;font-size:40px;flex:none}.login-brand h1{font-size:44px;margin:8px 0 14px}.login-brand p{max-width:620px;line-height:1.6;color:#d9e5ee}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px!important;font-weight:700}.login-panel{display:grid;place-items:center;padding:40px;background:#f3f6f8}.login-card{width:min(410px,100%);background:#fff;border-radius:16px;padding:34px;box-shadow:0 22px 60px #0a192833;display:flex;flex-direction:column;gap:18px}.login-card h2{margin:0;font-size:28px}.login-card p{margin:0;color:#66737e}.login-card button{padding:13px}.login-card small{color:#7a8791}.screen-centre{min-height:100vh;display:grid;place-items:center}.loader{width:34px;height:34px;border:4px solid #dce4ea;border-top-color:#df4437;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.narrow-page{max-width:650px;margin:60px auto}.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs button.active{background:#12253a}.admin-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(520px,1.25fr);gap:18px}.role-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.role-toolbar label{min-width:300px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-card{display:flex;align-items:flex-start;gap:10px;border:1px solid #dfe6eb;border-radius:10px;padding:14px}.permission-card input{margin-top:3px}.permission-card span{min-width:0}.field-list{display:flex;flex-direction:column;gap:10px}.field-editor{display:grid;grid-template-columns:150px minmax(170px,1fr) 80px 110px 95px 70px;align-items:center;gap:10px;border-bottom:1px solid #e5eaee;padding-bottom:10px}.field-editor label,.check-label{display:flex;align-items:center;gap:6px;font-size:13px}.field-editor label input,.check-label input{width:auto}.field-editor button{padding:8px}.field-editor>div{min-width:0}.field-editor strong{overflow-wrap:anywhere}@media(max-width:1050px){.admin-grid,.login-shell{grid-template-columns:1fr}.login-brand{display:none}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.user-card{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.permission-grid{grid-template-columns:1fr}.field-editor{grid-template-columns:1fr 1fr}.field-editor>div{grid-column:span 2}}@media(max-width:620px){.content,.topbar{padding-left:16px;padding-right:16px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.metric-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.login-panel{padding:18px}.role-toolbar{align-items:stretch;flex-direction:column}.role-toolbar label{min-width:0;width:100%}.field-editor{grid-template-columns:1fr}.field-editor>div{grid-column:auto}}.notice{background:#eef6ff;border:1px solid #c8def5;border-radius:10px;padding:14px 16px;margin-bottom:16px}.notice.error{background:#fff0ef;border-color:#f1b5af}.request-cards{display:grid;gap:16px}.request-card{background:#fff;border:1px solid #dce4ec;border-radius:14px;padding:20px;box-shadow:0 5px 18px #1430480d}.request-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.request-card h3{margin:5px 0 0}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.meta-grid span{background:#f5f8fb;border-radius:8px;padding:10px}.meta-grid b{display:block;font-size:12px;text-transform:uppercase;color:#708090;margin-bottom:4px}@media(max-width:900px){.meta-grid{grid-template-columns:1fr 1fr}}.scope-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.scope-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:12px;cursor:pointer}.scope-option input{width:auto;margin-top:.2rem}.scope-option span,.scope-option small{display:block}.scope-depot-select{max-width:420px;margin-bottom:1rem}.location-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:12px}@media(max-width:760px){.scope-options,.location-checklist{grid-template-columns:1fr}}button.danger{background:#a92f27}.table-heading{padding:20px 22px 0;margin-bottom:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:20px;align-items:start}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-list{display:grid;gap:16px;margin:18px 0}.detail-list>div{border-bottom:1px solid #e6e9ee;padding-bottom:12px}.detail-list small,.timeline small{display:block;color:#657085;margin-bottom:4px}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.timeline{display:grid;gap:12px;margin-top:18px;max-height:560px;overflow:auto}.timeline>div{border-left:3px solid #d9dee8;padding:4px 0 4px 12px}.button-link{display:inline-flex;background:#002b5c;color:#fff;text-decoration:none;padding:10px 14px;border-radius:7px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0310238c;display:grid;place-items:center;padding:24px;z-index:50}.modal{width:min(680px,100%);max-height:90vh;overflow:auto}.empty-state{padding:24px;text-align:center;color:#657085}.actions{white-space:nowrap}.actions button{margin-right:6px}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.choice-grid label{border:1px solid #dfe6eb;border-radius:8px;padding:10px;background:#f8fafb}.po-lines{display:grid;gap:8px}.po-line{display:grid;grid-template-columns:minmax(220px,1fr) 90px 120px 110px 44px;gap:8px}.po-line input,.po-line select{border:1px solid #cbd5dd;border-radius:8px;padding:10px;width:100%}.po-total{display:flex;justify-content:flex-end;gap:24px;padding:18px 0;font-size:15px}.public-page{min-height:100vh;background:#eef2f5;padding:40px}.public-card{max-width:980px;margin:auto;background:#fff;border-radius:18px;padding:34px;box-shadow:0 18px 60px #0f233726}.public-card h1{margin-bottom:4px}.public-card h2{margin-top:0;color:#5d6974}@media(max-width:800px){.choice-grid{grid-template-columns:1fr}.po-line{grid-template-columns:1fr 1fr}.po-line input:first-child{grid-column:span 2}.public-page{padding:14px}.public-card{padding:20px}}@media print{.sidebar,.topbar,.button-row{display:none!important}.app-shell{display:block}.content{padding:0}.panel{box-shadow:none;border:0}}.table-panel{padding:0}.list-toolbar{display:flex;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #e4e9ed}.list-search{min-width:280px;max-width:480px;width:42%;border:1px solid #cbd5dd;border-radius:8px;padding:10px 12px}.list-actions{display:flex;gap:8px}.list-actions select{border:1px solid #cbd5dd;border-radius:8px;padding:8px}.column-picker{display:flex;flex-wrap:wrap;gap:12px;padding:12px 18px;background:#f7f9fa;border-bottom:1px solid #e4e9ed}.column-picker label{font-size:13px;display:flex;gap:6px}.configurable-table table{table-layout:fixed;min-width:max-content}.configurable-table th{position:relative;-webkit-user-select:none;user-select:none}.configurable-table th.sortable{cursor:pointer}.sort-arrow{font-size:9px;margin-left:7px}.resize-handle{position:absolute;right:-3px;top:0;width:7px;height:100%;cursor:col-resize;z-index:2}.resize-handle:hover{background:#aab8c3}.configurable-table td{overflow:hidden;text-overflow:ellipsis}.configurable-table table.compact th,.configurable-table table.compact td{padding:8px 12px}.scope-page{padding:0}.scope-header{padding:20px;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #e4e9ed}.scope-header label{display:flex;flex-direction:column;gap:7px;min-width:360px;font-weight:600;font-size:13px}.scope-header select{padding:11px;border:1px solid #cbd5dd;border-radius:8px}.access-summary{margin:20px;display:flex;gap:12px;padding:16px;border:2px solid #dce4e9;border-radius:12px}.access-summary.selected{border-color:#1d405f;background:#f1f7fb}.access-summary span,.access-summary small{display:block}.depot-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 20px 20px}.depot-scope-card{border:1px solid #dfe6eb;border-radius:12px;overflow:hidden}.depot-scope-head{display:flex;justify-content:space-between;gap:12px;padding:14px;background:#f6f8fa}.depot-scope-head small{display:block;margin-top:3px;color:#6b7781}.location-scope-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.location-scope-list label,.depot-scope-head label{display:flex;align-items:center;gap:7px;font-size:13px}.published-fields{display:grid;gap:14px}.published-field{border:1px solid #dfe6eb;border-radius:12px;padding:16px;display:grid;grid-template-columns:1fr 130px;gap:12px}.published-field.inactive{opacity:.65;background:#f7f8f9}.published-field-head{display:flex;justify-content:space-between;align-items:start;gap:12px;grid-column:1/-1}.published-field label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.published-field input{padding:10px;border:1px solid #cbd5dd;border-radius:8px}.limit-list{display:grid;gap:12px;margin-top:20px}.limit-row{display:grid;grid-template-columns:minmax(220px,1fr) 220px 110px;gap:14px;align-items:end;border:1px solid #e0e6ea;border-radius:10px;padding:14px}.limit-row small{display:block;color:#6f7c87;margin-top:4px}.limit-row label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.limit-row input{padding:10px;border:1px solid #cbd5dd;border-radius:8px}.contractor-sections{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.contact-cards,.compliance-cards{display:grid;gap:12px;margin-top:18px}.contact-cards article,.compliance-cards article{border:1px solid #dfe6eb;border-radius:10px;padding:14px}.contact-cards article>div{display:flex;justify-content:space-between;align-items:center}.contact-cards p{line-height:1.6;margin-bottom:0}.compliance-cards article.expired{border-color:#e9aaa3;background:#fff8f7}.compliance-cards dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.compliance-cards dt{font-size:11px;text-transform:uppercase;color:#74818c}.compliance-cards dd{margin:4px 0 0;font-weight:700}.list-toggle{margin:0 0 12px}.work-order-hero{display:flex;justify-content:space-between;gap:30px;margin-bottom:18px}.work-order-hero h3{font-size:24px;margin:6px 0 10px}.work-order-hero>div:first-child{max-width:65%}.work-order-facts{display:grid;gap:14px;min-width:260px}.work-order-facts small{display:block;color:#75818b}.quote-summary{margin-bottom:18px}.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.quote-grid article{border:1px solid #dfe6eb;border-radius:10px;padding:14px}.quote-price{font-size:22px;font-weight:800;margin:14px 0 5px}.activity-panel textarea{width:100%;border:1px solid #cbd5dd;border-radius:8px;padding:10px;margin-bottom:8px}@media(max-width:900px){.depot-scope-grid,.contractor-sections,.quote-grid{grid-template-columns:1fr}.work-order-hero{display:block}.work-order-hero>div:first-child{max-width:none}.list-toolbar{align-items:stretch;flex-direction:column}.list-search{width:100%;max-width:none}.scope-header{align-items:stretch;flex-direction:column}.scope-header label{min-width:0}.limit-row,.published-field{grid-template-columns:1fr}}.save-confirmation{display:flex;align-items:center;gap:9px;background:#eaf7ef;border:1px solid #9fd0ae;color:#185c31;border-radius:10px;padding:12px 14px;margin:12px 0;font-weight:700}.save-confirmation.prominent{font-size:15px;box-shadow:0 5px 18px #22713e1a}.limit-row.just-saved{border-color:#4d9a67;background:#f1fbf4;box-shadow:0 0 0 3px #4d9a671a}.request-field-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(520px,1.4fr);gap:18px;align-items:start}.custom-field-builder{position:sticky;top:20px}.advanced-field-key{padding-top:12px;border-top:1px solid #e5eaee}.check-tile,.request-check-tile{display:flex!important;align-items:flex-start!important;gap:12px;border:1px solid #dce5eb;border-radius:11px;padding:14px;background:#f8fafb;cursor:pointer}.check-tile input,.request-check-tile input{width:auto;margin-top:4px}.check-tile span,.request-check-tile span{display:block}.check-tile small,.request-check-tile small{display:block;color:#687781;margin-top:4px}.clean-fields .published-field{display:block;padding:0;overflow:hidden}.field-summary{display:flex;align-items:center;gap:12px;padding:15px 16px;background:#f7f9fb;border-bottom:1px solid #e3e9ed}.field-summary>div{flex:1}.field-summary strong,.field-summary small{display:block}.field-summary small{color:#6c7984;margin-top:3px}.field-type-icon{width:38px;height:38px;border-radius:9px;background:#e4eef5;color:#174765;display:grid;place-items:center;font-weight:800}.publication-state{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.publication-state.live{background:#dff3e6;color:#176132}.publication-state.hidden{background:#eceff2;color:#65717b}.field-edit-row{display:grid;grid-template-columns:1fr 110px;gap:12px;padding:15px 16px}.field-card-footer{display:flex;align-items:center;gap:16px;padding:0 16px 15px}.field-card-footer button{margin-left:auto}.record-count{background:#edf2f5;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.table-help{display:flex;align-items:center;gap:18px;padding:10px 18px;background:#eef5f9;border-bottom:1px solid #d8e5ec;color:#496474;font-size:12px}.table-help strong{margin-left:auto;color:#263e4d}.search-wrap{position:relative;width:42%;min-width:280px}.search-wrap>span{position:absolute;left:12px;top:8px;font-size:20px;color:#6a7c87}.search-wrap .list-search{width:100%;min-width:0;padding-left:37px}.list-actions button{display:inline-flex;align-items:center;gap:6px}.configurable-table th{background:#edf3f6;border-right:1px solid #ccd9e0;color:#274758}.configurable-table th.sortable:hover{background:#dfeaf0}.heading-label{display:inline-flex;align-items:center;gap:6px}.sort-hint{opacity:.45;font-size:9px;text-transform:uppercase}.resize-handle{right:-1px;width:9px;border-right:3px solid #9bb0bc}.resize-handle:hover{background:#b9d0dc;border-color:#587a8d}.column-picker{align-items:center}.column-picker>strong{margin-right:5px}.configurable-table table.compact th,.configurable-table table.compact td{padding:9px 12px}.location-admin-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(520px,1.3fr);gap:18px;align-items:start}.location-editor{position:sticky;top:20px}.depot-card-list{display:grid;gap:16px}.depot-card{padding:0;overflow:hidden}.depot-card.archived{opacity:.7}.depot-card-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#f5f8fa;border-bottom:1px solid #dfe7eb}.depot-identity{display:flex;align-items:center;gap:13px}.depot-icon{width:42px;height:42px;border-radius:10px;background:#123e5b;color:#fff;display:grid;place-items:center}.depot-identity h3,.depot-identity p{margin:0}.depot-identity p{color:#687882;margin-top:4px;font-size:13px}.card-actions{display:flex;align-items:center;gap:8px}.icon-button,.text-button{background:transparent;color:#234b65;border:1px solid #c6d5de;padding:7px 10px}.icon-button span{margin-left:4px}.danger-outline{color:#9d3029;border-color:#e0b3af}.text-button{border:0;padding:5px 8px}.danger-text{color:#a4322b}.location-list{padding:8px 20px 14px}.location-list-heading{display:flex;justify-content:space-between;padding:9px 2px;color:#62727d;font-size:12px;text-transform:uppercase}.location-list-heading span{background:#e8eef2;border-radius:999px;padding:2px 7px}.location-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f2;padding:11px 2px}.location-row>div:first-child{display:flex;align-items:center;gap:9px}.location-dot{width:8px;height:8px;border-radius:50%;background:#37865a}.location-row.archived .location-dot{background:#929ca3}.location-row small{color:#8a949b}.compact-empty{padding:15px}.switch-control{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #dbe4e9;border-radius:9px;padding:9px 12px}.switch-control input{width:auto}.small-button{padding:7px 10px;margin-top:8px}.contact-cards article,.compliance-cards article{position:relative}.contact-cards .small-button,.compliance-cards .small-button{width:100%}.note-composer{border:1px solid #dce4e9;border-radius:11px;overflow:hidden;background:#fafcfd}.note-composer textarea{border:0!important;margin:0!important;min-height:95px;resize:vertical}.note-composer>div{display:flex;align-items:center;justify-content:space-between;background:#eef3f6;padding:8px 10px}.note-composer>div span{font-size:12px;color:#647681;font-weight:700}.polished-timeline>div{border:1px solid #e1e7eb;border-left:4px solid #628aa2;border-radius:8px;padding:11px 12px;background:#fafcfd}.polished-timeline p:empty{display:none}.decision-actions{padding-top:15px;border-top:1px solid #e3e9ed}.request-check-tile{position:relative;background:#f2f7fa;border:2px solid #cbdce6;align-items:center!important}.request-check-tile>input{position:absolute;opacity:0}.check-visual{width:28px;height:28px;border:2px solid #8aa6b6;border-radius:7px;display:grid!important;place-items:center;color:transparent;background:#fff;font-weight:900}.request-check-tile input:checked+.check-visual{background:#174b6b;border-color:#174b6b;color:#fff}.request-check-tile:has(input:focus-visible){outline:3px solid #a9c9dc}.dashboard-heading{align-items:center}.live-pill{display:inline-flex;align-items:center;gap:7px;background:#e8f6ed;color:#176035;padding:7px 11px;border-radius:999px;font-weight:700;font-size:12px}.live-pill i{width:8px;height:8px;border-radius:50%;background:#31a35a;box-shadow:0 0 0 5px #31a35a21}.visual-metrics .metric.visual{display:flex;align-items:center;gap:13px}.metric-icon{width:42px;height:42px;border-radius:12px;background:#e5eef4;color:#174966;display:grid;place-items:center;font-size:19px;font-weight:900}.metric.visual>div strong,.metric.visual>div span{display:block}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.dashboard-grid .chart-card:last-child{grid-column:span 2}.bar-chart{display:grid;gap:13px;margin-top:18px}.bar-row{display:grid;grid-template-columns:150px 1fr 35px;gap:10px;align-items:center;font-size:13px}.bar-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:12px;border-radius:999px;background:#e8edf0;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#164a6a,#3b86ad);min-width:3px}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:25px;padding:22px}.donut{--pct:0deg;width:145px;height:145px;border-radius:50%;background:conic-gradient(#2f7ea4 var(--pct),#e5ebee 0);display:grid;place-items:center;position:relative}.donut:before{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:#fff}.donut span{position:relative;font-size:25px;font-weight:900}.donut-wrap small,.donut-wrap strong{display:block}.dashboard-stat-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e4e9ed}.dashboard-stat-list div{padding:14px;text-align:center;border-right:1px solid #e4e9ed}.dashboard-stat-list div:last-child{border:0}.dashboard-stat-list span,.dashboard-stat-list strong{display:block}.dashboard-stat-list span{color:#687781;font-size:12px}.dashboard-stat-list strong{font-size:22px;margin-top:5px}@media(max-width:1000px){.request-field-layout,.location-admin-layout{grid-template-columns:1fr}.custom-field-builder,.location-editor{position:static}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .chart-card:last-child{grid-column:auto}}@media(max-width:700px){.table-help{display:none}.search-wrap{width:100%;min-width:0}.field-edit-row{grid-template-columns:1fr}.field-card-footer{align-items:flex-start;flex-wrap:wrap}.field-card-footer button{margin-left:0;width:100%}.depot-card-header{align-items:flex-start;flex-direction:column}.bar-row{grid-template-columns:100px 1fr 28px}.dashboard-stat-list{grid-template-columns:1fr}.dashboard-stat-list div{border-right:0;border-bottom:1px solid #e4e9ed}}.dash-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.dash-metric{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #d9e3ec;border-radius:16px;background:#fff;box-shadow:0 6px 20px #1530460f}.dash-metric-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#eaf3f9;color:#174f70;font-weight:800;font-size:20px}.dash-metric div:last-child{display:flex;flex-direction:column}.dash-metric span{color:#607486;font-size:13px}.dash-metric strong{font-size:30px;line-height:1;color:#0c2236;margin-top:6px}.dash-metric.tone-red{border-color:#efb6b2;background:#fff8f7}.dash-metric.tone-red .dash-metric-icon{background:#fee2df;color:#b72f27}.dash-metric.tone-green .dash-metric-icon{background:#e0f4e8;color:#267342}.dash-metric.tone-amber .dash-metric-icon{background:#fff1d1;color:#8b6200}.dash-metric.tone-purple .dash-metric-icon{background:#eee9fb;color:#5b42a2}.dash-metric.tone-navy .dash-metric-icon{background:#dfeaf3;color:#142f47}.dash-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dash-bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.dash-chart,.dash-progress,.dash-summary{padding:22px}.dash-chart header,.dash-progress header,.dash-summary header{margin-bottom:20px}.dash-chart header h3,.dash-progress h3,.dash-summary h3{margin:0 0 5px}.dash-chart header p,.dash-progress header p,.dash-summary header p{margin:0;color:#718292}.dash-bars{display:grid;gap:16px}.dash-bar-label{display:flex;justify-content:space-between;margin-bottom:7px;font-size:13px}.dash-bar-track{height:12px;border-radius:999px;background:#edf2f6;overflow:hidden}.dash-bar-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#174f70,#3d8aae)}.dash-ring-row{display:flex;align-items:center;justify-content:center;gap:32px;padding:14px}.dash-ring{width:150px;height:150px;border-radius:50%;background:conic-gradient(#e94638 var(--progress),#e7edf2 0);display:grid;place-items:center}.dash-ring>div{width:112px;height:112px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center}.dash-ring strong{font-size:28px}.dash-ring span,.dash-ring-copy span,.dash-ring-copy small{display:block;color:#718292}.dash-ring-copy strong{font-size:18px}.dash-ring-copy{display:grid;gap:8px}.dash-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-summary-grid div{padding:18px;border-radius:12px;background:#f4f7f9;display:flex;flex-direction:column}.dash-summary-grid span{font-size:12px;color:#687b8b}.dash-summary-grid strong{font-size:28px;margin-top:5px}.safety-question{border:1px solid #cfdae3;border-radius:14px;padding:18px;margin:0;background:#f8fafb}.safety-question legend{font-weight:800;padding:0 8px;color:#132b3e}.safety-question>p{margin:0 0 14px;color:#6c7e8d}.safety-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.safety-options label{display:flex;align-items:center;gap:12px;padding:15px;border:2px solid #d9e2e9;border-radius:12px;background:#fff;cursor:pointer}.safety-options input{position:absolute;opacity:0}.safety-options label.selected.safe{border-color:#2d8b55;background:#eef9f2}.safety-options label.selected.unsafe{border-color:#d74337;background:#fff2f1}.safety-choice-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8eff4;font-weight:900}.safety-options strong,.safety-options small{display:block}.safety-options small{color:#6f7f8d;margin-top:2px}.quote-page-grid{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(480px,1.2fr);gap:20px;align-items:start}.quote-invite-card,.quote-register{padding:24px}.quote-invite-card>label{display:grid;gap:7px;margin-bottom:18px}.contact-picker{display:grid;gap:9px;margin-bottom:18px}.field-title{display:flex;justify-content:space-between}.contact-choice{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #d5e0e8;border-radius:11px;cursor:pointer}.contact-choice.selected{border-color:#e94638;background:#fff5f4}.contact-choice input{accent-color:#e94638}.contact-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#183a54;color:#fff;font-weight:800}.contact-choice strong,.contact-choice small{display:block}.contact-choice small{color:#6d7d89}.quote-invite-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.quote-register-list{display:grid;gap:12px}.quote-register-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;border:1px solid #d8e2e9;border-radius:13px;padding:16px}.quote-register-row.received{border-left:5px solid #2e8050}.quote-company{display:flex;align-items:center;gap:12px}.quote-company-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e6f0f5;color:#174f70;font-weight:900}.quote-company strong,.quote-company small,.quote-value strong,.quote-value small{display:block}.quote-company small,.quote-value small{color:#71808c}.quote-value{text-align:right}.quote-value strong{font-size:18px}.quote-row-actions button{white-space:nowrap}.prominent-quotes article{border:1px solid #d6e2e9;padding:18px;border-radius:13px;background:#fff}.full-width{display:block;text-align:center;margin-top:15px}.contractor-expired-row td{background:#fff0ef!important;border-top-color:#efb7b2!important;border-bottom-color:#efb7b2!important}.contractor-expired-row:hover td{background:#ffe6e4!important}.danger-metric{border-color:#efb6b2;background:#fff6f5}.timeline-danger{border-left-color:#d33!important;background:#fff4f3!important}.section-divider{border-top:1px solid #dde5eb;padding-top:15px;margin-top:8px}.section-divider strong,.section-divider small{display:block}.section-divider small{color:#71808c;margin-top:3px}.quote-prefill-notice{display:flex;gap:10px;align-items:center}.quote-prefill-notice span{color:#567}.po-lines-labelled .po-line{align-items:end}.po-lines-labelled label{display:grid;gap:5px;font-size:12px}.po-lines-labelled label:first-child{min-width:260px}.purchase-order-document{max-width:1000px;margin:0 auto;background:#fff;border:1px solid #d5dee5;box-shadow:0 12px 38px #102c411a;padding:42px}.po-document-header{display:flex;justify-content:space-between;border-bottom:4px solid #e94638;padding-bottom:24px}.po-brand{display:flex;gap:13px;align-items:center}.po-brand>span{display:grid;place-items:center;width:50px;height:50px;border-radius:10px;background:#e94638;color:#fff;font-size:28px;font-weight:900}.po-brand strong,.po-brand small{display:block;letter-spacing:1px}.po-document-title{text-align:right}.po-document-title h1{margin:0;font-size:26px;color:#18364e}.po-document-title strong,.po-document-title span{display:block}.po-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.po-address-grid section{padding:18px;background:#f5f8fa;border-radius:10px}.po-address-grid small,.po-purpose small{color:#667b8c;font-weight:800;letter-spacing:.08em}.po-address-grid h3{margin:8px 0}.po-address-grid span{display:block;line-height:1.5}.po-purpose{padding:16px 0}.po-purpose p{font-size:16px}.po-document-table{width:100%;border-collapse:collapse}.po-document-table th{background:#18364e;color:#fff;text-align:left;padding:12px}.po-document-table td{padding:12px;border-bottom:1px solid #dce4ea}.po-document-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:28px}.po-document-footer>div:first-child span,.po-document-footer>div:first-child strong,.po-document-footer>div:first-child small{display:block}.po-document-totals{min-width:270px}.po-document-totals span{display:flex;justify-content:space-between;padding:8px 0}.po-document-totals .grand{font-size:18px;border-top:2px solid #18364e;margin-top:5px;padding-top:12px}.engineer-assignment{margin-top:24px;border-top:1px solid #dde5eb;padding-top:10px}.engineer-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.engineer-choice{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #d6e0e7;border-radius:10px;cursor:pointer}.engineer-choice input{position:absolute;opacity:0}.engineer-choice>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7eef3}.engineer-choice.selected{border-color:#e94638;background:#fff4f3}.engineer-choice.selected>span{background:#e94638;color:#fff}@media(max-width:1000px){.dash-metric-grid{grid-template-columns:repeat(2,1fr)}.dash-main-grid,.dash-bottom-grid,.quote-page-grid,.safety-options{grid-template-columns:1fr}}@media(max-width:650px){.dash-metric-grid,.dash-summary-grid,.engineer-choice-grid,.quote-register-row{grid-template-columns:1fr}.quote-value{text-align:left}.purchase-order-document{padding:20px}.po-address-grid{grid-template-columns:1fr}}@media print{.no-print,.sidebar,.header{display:none!important}.app-shell,.content{display:block!important;margin:0!important;padding:0!important}.purchase-order-document{box-shadow:none;border:0;max-width:none;padding:0}.po-document-header,.po-document-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--fs-navy:#102b44;--fs-navy-2:#173b59;--fs-navy-3:#225474;--fs-red:#e63b2e;--fs-red-dark:#bd2a21;--fs-ice:#eef4f7;--fs-mist:#f6f8fa;--fs-line:#d8e2e8;--fs-ink:#102334;--fs-muted:#63798a;--fs-shadow:0 10px 30px rgba(15,43,68,.08)}body{background:var(--fs-mist);color:var(--fs-ink)}a{color:var(--fs-navy-3)}a:hover{color:var(--fs-red-dark)}button,.button-link{background:var(--fs-red);box-shadow:0 3px #9c1f172e;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}button:hover,.button-link:hover{background:var(--fs-red-dark);transform:translateY(-1px);box-shadow:0 5px 12px #b82b202e}button.secondary{background:#e9f0f4;color:var(--fs-navy);box-shadow:none}button.secondary:hover{background:#dce8ee}.panel,.metric,.dash-metric{border-color:var(--fs-line);box-shadow:var(--fs-shadow)}.page-heading h2{color:var(--fs-navy);letter-spacing:-.02em}.page-heading:after{content:"";display:block;width:42px;height:4px;border-radius:99px;background:var(--fs-red);position:absolute;bottom:-10px;left:0}.page-heading{position:relative;margin-bottom:32px}.status-badge{background:#e7f0f5;color:var(--fs-navy);border:1px solid #d0e0e9}.fs-logo{display:flex;align-items:center;gap:11px;min-width:0}.fs-logo-symbol{width:46px;height:46px;display:grid;place-items:center;color:var(--fs-red);flex:none}.fs-logo-symbol svg{width:100%;height:100%;filter:drop-shadow(0 5px 10px rgba(9,31,48,.12))}.fs-logo-cut{fill:#fff}.fs-logo-copy{display:flex;flex-direction:column;line-height:1}.fs-logo-copy strong{font-size:21px;letter-spacing:.075em;color:var(--fs-navy);font-weight:900}.fs-logo-copy small{font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-top:7px;color:#6d8190;font-weight:800}.fs-logo-inverse .fs-logo-symbol,.fs-logo-inverse .fs-logo-copy strong{color:#fff}.fs-logo-inverse .fs-logo-copy small{color:#c5d5df}.fs-logo-inverse .fs-logo-cut{fill:var(--fs-navy)}.fs-logo-compact .fs-logo-symbol{width:36px;height:36px}.fs-logo-compact .fs-logo-copy strong{font-size:16px}.fs-app-shell{grid-template-columns:278px 1fr}.fs-sidebar{padding:0;background:linear-gradient(180deg,#102b44,#0d2438);border-right:4px solid var(--fs-red);gap:0;box-shadow:8px 0 30px #0c243814}.fs-sidebar-brand{padding:24px 22px 22px;border-bottom:1px solid rgba(255,255,255,.11);background:#ffffff06}.fs-nav-label{padding:24px 25px 10px;color:#7fa0b6;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.18em}.fs-sidebar nav{padding:0 13px;gap:4px}.fs-sidebar a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;color:#c9d8e2;font-weight:650;border-left:3px solid transparent}.fs-sidebar a:hover{background:#ffffff12;color:#fff}.fs-sidebar a.active{background:linear-gradient(90deg,#e63b2e38,#e63b2e0d);border-left-color:var(--fs-red);color:#fff}.fs-nav-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#ffffff12;font-size:14px;font-weight:900}.fs-sidebar a.active .fs-nav-icon{background:var(--fs-red);color:#fff}.fs-user-card{margin:24px 16px 18px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0b;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}.fs-user-avatar{width:38px;height:38px;border-radius:10px;background:var(--fs-red);display:grid;place-items:center;font-size:17px!important;font-weight:900;color:#fff;opacity:1!important}.fs-user-card>div{display:flex;flex-direction:column;min-width:0}.fs-user-card>div strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-user-card .link-button{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:10px;margin-top:2px;color:#d9e5ec}.fs-topbar{height:86px;padding:17px 30px;background:#fff;border:0}.fs-topbar-kicker{display:block;color:var(--fs-red);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;margin-bottom:5px}.fs-topbar h1{color:var(--fs-navy);font-size:21px}.fs-topbar-actions{display:flex;align-items:center;gap:14px}.environment{display:flex;align-items:center;gap:7px;background:#edf3f6;color:var(--fs-navy);border:1px solid #dbe7ed;font-weight:700}.environment i{width:7px;height:7px;border-radius:50%;background:#2d9a5c;box-shadow:0 0 0 3px #2d9a5c1f}.fs-topbar-user{font-size:13px;font-weight:750;color:var(--fs-navy)}.fs-brand-rule{height:4px;background:linear-gradient(90deg,var(--fs-red) 0 140px,var(--fs-navy-3) 140px 56%,#81aabc 56%)}.fs-app-footer{padding:22px 30px;color:#7a8d9b;font-size:11px;text-align:right;border-top:1px solid #e2e8ec;background:#fff}.fs-login-shell{background:#fff}.fs-login-brand{position:relative;overflow:hidden;background:linear-gradient(145deg,#0c2438,#123b59 62%,#174f70);padding:8vw;align-items:stretch}.fs-login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(112deg,transparent 58%,rgba(255,255,255,.04) 58% 60%,transparent 60%),radial-gradient(circle at 22% 80%,rgba(230,59,46,.28),transparent 25%)}.fs-login-brand-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;max-width:720px}.fs-login-copy{margin-top:70px}.fs-login-copy h1{font-size:clamp(46px,5vw,74px);line-height:.95;letter-spacing:-.055em;margin:14px 0 22px;color:#fff}.fs-login-copy p{font-size:18px;max-width:620px}.fs-login-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:48px}.fs-login-feature-grid span{padding:14px;border-top:2px solid rgba(255,255,255,.25);font-size:12px;color:#d7e4ec}.fs-login-feature-grid b{display:block;color:#ff766a;margin-bottom:5px}.fs-login-route-lines{position:absolute;right:-130px;bottom:-60px;width:560px;height:360px;transform:rotate(-12deg);opacity:.25}.fs-login-route-lines i{position:absolute;border:2px solid white;border-radius:50%;top:0;right:0;bottom:0;left:0}.fs-login-route-lines i:nth-child(2){top:50px;right:50px;bottom:50px;left:50px}.fs-login-route-lines i:nth-child(3){top:100px;right:100px;bottom:100px;left:100px}.fs-login-panel{background:linear-gradient(180deg,#f8fafb,#edf3f6)}.fs-login-card{border-radius:18px;border-top:6px solid var(--fs-red);box-shadow:0 28px 70px #0f2b442e}.fs-login-card-head{display:flex;gap:13px;align-items:center}.fs-login-card-head h2{font-size:26px}.fs-login-card-head p{margin-top:4px}.fs-login-card-badge{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:var(--fs-navy);color:#fff;font-weight:900;letter-spacing:.06em}.fs-primary-button{padding:14px;background:linear-gradient(90deg,var(--fs-red),#f05445)}.fs-login-security{font-size:12px;color:#607687;text-align:center}.fs-login-security span{color:#2c985a;font-size:10px}.public-page{background:linear-gradient(180deg,#eef4f7,#f9fbfc);padding:38px}.public-card{border-top:6px solid var(--fs-red);box-shadow:0 24px 70px #0f2b4424}.public-brand-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe5ea;padding-bottom:20px;margin-bottom:25px}.fs-secure-pill{padding:7px 10px;border-radius:999px;background:#e9f5ee;color:#237746;font-size:11px;font-weight:800}.public-card h1{color:var(--fs-red);letter-spacing:.02em}.public-card h2{color:var(--fs-navy)}.po-document-header{border-bottom-color:var(--fs-red)}.po-brand .fs-logo-symbol{width:54px;height:54px}.po-brand .fs-logo-copy strong{font-size:24px}.po-document-title h1{color:var(--fs-navy);letter-spacing:.06em}.po-document-kicker{display:block;color:var(--fs-red);font-size:9px;letter-spacing:.14em;font-weight:900;margin-bottom:5px}.po-document-table th{background:var(--fs-navy)}.po-document-footer{border-top:4px solid var(--fs-red);padding-top:20px}.purchase-order-document:after{content:"Ferryspeed · Portsmouth · Channel Islands · UK Logistics";display:block;margin-top:28px;padding-top:13px;border-top:1px solid #dce5ea;text-align:center;color:#778b99;font-size:9px;letter-spacing:.09em;text-transform:uppercase}.dash-metric{border-top:4px solid var(--fs-navy)}.dash-metric-icon{background:var(--fs-navy)!important;color:#fff!important}.dash-bar-track span{background:linear-gradient(90deg,var(--fs-navy),#2c718f,var(--fs-red))}.dash-ring{background:conic-gradient(var(--fs-red) var(--progress),#e7edf2 0)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(230,59,46,.13);border-color:var(--fs-red)}.table-wrap table thead th{background:var(--fs-navy);color:#fff}.table-wrap table tbody tr:hover td{background:#f2f7f9}.tabs button.active{background:var(--fs-navy)}@media(max-width:1050px){.fs-login-feature-grid{grid-template-columns:1fr}.fs-login-copy{margin-top:40px}}@media(max-width:900px){.fs-app-shell{grid-template-columns:1fr}.fs-sidebar{border-right:0;border-bottom:4px solid var(--fs-red)}.fs-sidebar-brand{padding:16px}.fs-nav-label{display:none}.fs-sidebar nav{padding:10px}.fs-user-card,.fs-topbar-user{display:none}}@media(max-width:650px){.fs-topbar-actions .environment{display:none}.fs-topbar{padding:14px 16px}.public-page{padding:15px}.public-brand-header{align-items:flex-start;gap:12px}.fs-logo-copy strong{font-size:17px}}:root{--fs-green:#2f765b;--fs-green-dark:#235a47;--fs-green-deep:#1f4e3e;--fs-green-soft:#eaf3ef;--fs-red:#d90f3d;--fs-red-dark:#b70c33;--fs-ink:#0b1822;--fs-muted:#687783;--fs-line:#d6e0dc;--fs-page:#f3f7f5;--fs-panel:#ffffff;--fs-shadow:0 14px 34px rgba(25,66,52,.09)}body{background:var(--fs-page);color:var(--fs-ink)}a{color:var(--fs-green-dark)}a:hover{color:var(--fs-red)}button,.button-link{background:var(--fs-green);box-shadow:0 8px 18px #2f765b29;border-radius:8px}button:hover,.button-link:hover{background:var(--fs-green-dark);box-shadow:0 10px 22px #2f765b33}button.secondary{background:#edf3f0;color:var(--fs-green-dark);border:1px solid #d6e2dc}button.secondary:hover{background:#e3ede8}button.danger,.danger-button{background:var(--fs-red)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(47,118,91,.13);border-color:var(--fs-green)}.panel,.metric,.dash-metric{border:1px solid var(--fs-line);box-shadow:var(--fs-shadow);border-radius:12px}.page-heading h2{color:var(--fs-ink)}.page-heading:after{background:var(--fs-red)}.status-badge{background:var(--fs-green-soft);color:var(--fs-green-dark);border:1px solid #d1e3da}.table-wrap table thead th{background:var(--fs-green-dark);color:#fff}.table-wrap table tbody tr:hover td{background:#f1f7f4}.tabs button.active{background:var(--fs-green)}.fs-logo{display:flex;align-items:center;gap:12px;min-width:0}.fs-official-logo{display:block;width:166px;height:auto;object-fit:contain}.fs-product-name{font-size:11px;font-weight:800;color:var(--fs-green-dark);text-transform:uppercase;letter-spacing:.08em;line-height:1.25;border-left:1px solid #cadbd3;padding-left:12px}.fs-logo-compact .fs-official-logo{width:126px}.fs-logo-inverse .fs-product-name{color:#dbeae3;border-color:#ffffff38}.uniform-login-shell{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:70px max(7vw,40px);background:linear-gradient(115deg,#1f5945,#2f765b 52%,#357b61)}.uniform-login-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.17;background:linear-gradient(135deg,transparent 0 18%,rgba(255,255,255,.07) 18% 23%,transparent 23% 42%,rgba(255,255,255,.05) 42% 53%,transparent 53%),linear-gradient(35deg,transparent 0 62%,rgba(15,63,47,.38) 62% 72%,transparent 72%)}.uniform-login-art{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.facet{position:absolute;display:block;opacity:.16;clip-path:polygon(50% 0,100% 100%,0 78%)}.facet-a{width:360px;height:280px;left:38px;top:34px;background:#123d31;transform:rotate(-10deg)}.facet-b{width:460px;height:290px;left:310px;top:-60px;background:#4e9477;transform:rotate(9deg)}.facet-c{width:520px;height:330px;right:32px;top:-42px;background:#24634e;transform:rotate(-8deg)}.facet-d{width:330px;height:310px;right:-30px;top:132px;background:#185442;transform:rotate(16deg)}.facet-e{width:260px;height:240px;left:805px;top:60px;background:#41886d;transform:rotate(24deg)}.facet-cluster{position:absolute;right:-15px;bottom:-40px;width:330px;height:430px;opacity:.55;background:linear-gradient(155deg,transparent 0 10%,#63a085 10% 19%,transparent 19% 25%,#28775f 25% 34%,transparent 34% 39%,#96aa82 39% 46%,transparent 46% 52%,#3d8a6d 52% 62%,transparent 62%),linear-gradient(25deg,transparent 0 18%,#3c8268 18% 30%,transparent 30% 35%,#6f9c80 35% 44%,transparent 44% 53%,#295f4e 53% 66%,transparent 66%);clip-path:polygon(44% 0,58% 13%,74% 8%,78% 25%,94% 35%,82% 49%,100% 66%,73% 69%,82% 91%,58% 80%,44% 100%,32% 77%,8% 88%,18% 62%,0 49%,22% 36%,17% 16%)}.uniform-login-card{position:relative;z-index:2;width:min(430px,100%);margin-left:clamp(40px,12vw,175px);padding:36px 37px;border-radius:16px;background:#fff;box-shadow:0 26px 60px #08261c42}.uniform-login-card .fs-logo{margin-bottom:16px}.uniform-login-card .fs-official-logo{width:170px}.uniform-product-kicker{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--fs-red);margin:8px 0 10px}.uniform-login-card h1{font-size:28px;line-height:1.12;margin:0 0 12px;letter-spacing:-.035em}.uniform-login-card>p{font-size:14px;line-height:1.55;color:var(--fs-muted);margin:0 0 28px}.uniform-login-card label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;margin-top:18px}.uniform-login-card input{height:43px;border:1px solid #cad8d1;border-radius:7px;padding:10px 12px;background:#fff}.uniform-login-card button{width:100%;margin-top:20px;padding:13px 16px;background:var(--fs-green);box-shadow:0 10px 25px #2f765b36}.ferryspeed-app-shell{grid-template-columns:270px 1fr}.ferryspeed-sidebar{background:#fff;color:var(--fs-ink);padding:0;border-right:1px solid #dce6e1;gap:0;box-shadow:8px 0 28px #235a470d}.ferryspeed-sidebar-brand{padding:24px 20px 20px;border-bottom:1px solid #e3ebe7}.ferryspeed-sidebar-brand .fs-logo{display:block}.ferryspeed-sidebar-brand .fs-official-logo{width:152px;margin-bottom:12px}.ferryspeed-sidebar-brand .fs-product-name{display:block;border:0;padding:0;color:var(--fs-green-dark);font-size:10px}.ferryspeed-sidebar nav{padding:18px 12px;gap:4px}.ferryspeed-sidebar a{display:flex;align-items:center;gap:11px;padding:11px 12px;color:#4e6259;border-radius:8px;font-weight:650}.ferryspeed-sidebar a:hover{background:#edf5f1;color:var(--fs-green-dark)}.ferryspeed-sidebar a.active{background:var(--fs-green);color:#fff;box-shadow:0 8px 20px #2f765b2e}.ferryspeed-sidebar .fs-nav-icon{width:26px;height:26px;border-radius:6px;background:#edf4f1;color:var(--fs-green-dark)}.ferryspeed-sidebar a.active .fs-nav-icon{background:#ffffff26;color:#fff}.ferryspeed-user-card{margin:18px 15px;padding:14px;border:1px solid #dce7e2;border-radius:10px;background:#f6faf8;color:var(--fs-ink)}.ferryspeed-user-card span{color:#708078;opacity:1}.ferryspeed-user-card .link-button{color:var(--fs-green-dark);border-top:1px solid #dde7e2}.ferryspeed-topbar{height:84px;background:#fff;border-bottom:1px solid #dde7e2;padding:17px 30px}.fs-topbar-kicker{color:var(--fs-red)}.ferryspeed-topbar h1{color:var(--fs-ink)}.environment{background:#eef5f1;border-color:#dce9e2;color:var(--fs-green-dark)}.environment i{background:var(--fs-green)}.fs-app-footer{background:#fff;border-top-color:#dde7e2;color:#708078}.public-page{background:linear-gradient(180deg,#eaf3ef,#f8fbf9)}.public-card{border-top:5px solid var(--fs-green);box-shadow:0 24px 70px #235a4724}.public-card h1{color:var(--fs-ink)}.public-card h2{color:var(--fs-green-dark)}.public-brand-header{border-bottom-color:#dce7e2}.fs-secure-pill{background:#edf5f1;color:var(--fs-green-dark)}.po-document-header{border-bottom-color:var(--fs-green)}.po-document-kicker{color:var(--fs-red)}.po-document-title h1{color:var(--fs-green-dark)}.po-document-table th{background:var(--fs-green-dark)}.po-document-footer{border-top-color:var(--fs-green)}.dash-metric{border-top:4px solid var(--fs-green)}.dash-metric.tone-red,.dash-metric.tone-amber{border-top-color:var(--fs-red)}.dash-metric-icon{background:var(--fs-green)!important}.dash-metric.tone-red .dash-metric-icon,.dash-metric.tone-amber .dash-metric-icon{background:var(--fs-red)!important}.dash-bar-track span{background:linear-gradient(90deg,var(--fs-green-dark),var(--fs-green),#6ca084)}.dash-ring{background:conic-gradient(var(--fs-green) var(--progress),#e5ede9 0)}@media(max-width:900px){.ferryspeed-app-shell{grid-template-columns:1fr}.ferryspeed-sidebar{border-right:0;border-bottom:1px solid #dce7e2}.ferryspeed-sidebar-brand{padding:14px 16px}.ferryspeed-sidebar nav{padding:10px}.uniform-login-card{margin-left:0}.uniform-login-shell{justify-content:center;padding:24px}.facet-cluster{opacity:.22}}@media(max-width:600px){.uniform-login-card{padding:28px 24px}.uniform-login-card h1{font-size:25px}.uniform-login-card .fs-official-logo{width:150px}}.large-modal{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.import-column-help{padding:16px;border:1px solid #d7e2dd;border-radius:12px;background:#f7faf8}.import-column-help p{margin:8px 0 0;line-height:1.55;color:#53645c}.success-button{background:#137a4d;border-color:#137a4d;color:#fff}.success-button:hover{background:#0e603c}.attachment-form{display:grid;grid-template-columns:minmax(180px,1fr) 150px 130px auto;gap:.65rem;align-items:end}.attachment-list{display:grid;gap:.55rem;margin-top:1rem}.attachment-list>div{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem;border:1px solid #dfe7e2;border-radius:10px;background:#f8fbf9}.attachment-list small{display:block;color:#68736d;margin-top:.2rem}@media(max-width:800px){.attachment-form{grid-template-columns:1fr}}.health-check-list{display:grid;gap:.55rem}.health-check-list>div{display:flex;justify-content:space-between;align-items:center;padding:.8rem;border:1px solid #dfe7e2;border-radius:10px}.attachment-upload-card{display:grid;gap:1rem;padding:1rem;border:1px solid #dbe5df;border-radius:14px;background:#f8fbf9;margin-bottom:1rem}.file-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;border:2px dashed #9db9a7;border-radius:12px;background:#fff;cursor:pointer;text-align:center;padding:1.25rem}.file-drop-zone:hover{border-color:#006b3c;background:#f3faf6}.file-drop-zone input{position:absolute;opacity:0;pointer-events:none}.file-drop-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e4f2e9;color:#006b3c;font-size:1.35rem;font-weight:800;margin-bottom:.55rem}.file-drop-zone small{margin-top:.25rem;color:#617069}.attachment-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.attachment-list{display:grid;gap:.65rem}.attachment-list>div{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem .9rem;border:1px solid #e2e8e4;border-radius:10px;background:#fff}.attachment-list strong,.attachment-list small{display:block}.attachment-list small{color:#66736c;margin-top:.2rem}.material-entry{padding-bottom:1rem;border-bottom:1px solid #e4ebe6;margin-bottom:1rem}.completion-panel{grid-column:1/-1}.completion-summary,.review-box{padding:1rem;border-radius:12px;background:#f5f9f6;border:1px solid #dce9e1;margin-top:1rem}.completion-summary small,.completion-summary span{display:block;color:#637069}.financial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1rem 0}.financial-summary>div{padding:1rem;border-radius:12px;background:#f5f8f6;border:1px solid #e0e7e3}.financial-summary small,.financial-summary strong{display:block}.financial-summary strong{font-size:1.25rem;margin-top:.3rem}.variance-warning{background:#fff3f1!important;border-color:#f2b8b1!important;color:#9b2217}.success-button{background:#087f4c!important;color:#fff!important}.review-box .button-row{margin-top:.8rem}@media(max-width:760px){.attachment-options,.financial-summary{grid-template-columns:1fr}.attachment-list>div{align-items:flex-start;flex-direction:column}}.completion-panel .panel-heading{margin-bottom:1.1rem}.completion-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:end;padding:1.15rem;border:1px solid #dbe7df;border-radius:14px;background:#f8fbf9}.completion-field{min-width:0}.completion-field>label{display:block;margin:0 0 .35rem;color:#17231d;font-size:.95rem;font-weight:750}.completion-field .field-help{margin:0 0 .75rem;color:#607068;font-size:.9rem;line-height:1.45}.completion-field textarea{display:block;width:100%;min-height:150px;resize:vertical;padding:.9rem 1rem;border:1px solid #bdcec4;border-radius:10px;background:#fff;color:#17231d;font:inherit;line-height:1.5;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease}.completion-field textarea:focus{outline:none;border-color:#1d7a50;box-shadow:0 0 0 3px #1d7a5021}.completion-field textarea::placeholder{color:#89958f}.completion-field-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:.45rem;color:#6a7770}.completion-actions{display:flex;align-items:flex-end;padding-bottom:1.55rem}.completion-actions .success-button{min-width:230px;min-height:46px;white-space:nowrap}@media(max-width:900px){.completion-form{grid-template-columns:1fr}.completion-actions{padding-bottom:0}.completion-actions .success-button{width:100%;min-width:0}}.asset-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:800;background:#eaf3ef;color:#245f49}.asset-pill.high,.asset-pill.critical{background:#fde8e8;color:#a82222}.asset-pill.medium{background:#fff3d8;color:#805400}.asset-pill.condition-poor,.asset-pill.condition-out-of-service{background:#fde8e8;color:#a82222}.asset-pill.condition-fair{background:#fff3d8;color:#805400}.asset-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1rem;margin-bottom:1rem}.qr-panel{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}.qr-panel img{width:min(240px,100%);aspect-ratio:1;background:#fff;border:1px solid #dce9e3;border-radius:14px;padding:.75rem}.record-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e4ede9;text-decoration:none;color:inherit}.record-row>div{display:flex;flex-direction:column}.record-row small,.record-row span{color:#667b72}.ppm-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.ppm-kpis>div{background:#fff;border:1px solid #dce9e3;border-radius:14px;padding:1rem;box-shadow:0 8px 22px #194c3a12}.ppm-kpis strong{display:block;color:#267656;font-size:1.8rem}.ppm-kpis span{color:#64776f}.overdue-text{color:#b42318;font-weight:800}.checklist-template-row{display:flex;gap:.8rem;padding:.8rem 0;border-bottom:1px solid #e4ede9}.checklist-template-row>span,.check-number{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:#e8f3ee;color:#267656;font-weight:800;flex:0 0 auto}.checklist-template-row div{display:flex;flex-direction:column}.checklist-template-row small{color:#667b72}.checklist-add{display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dce9e3}.work-checklist{display:grid;gap:.7rem}.work-checklist-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:start;padding:1rem;border:1px solid #dce9e3;border-radius:12px;background:#fbfdfc}.check-main{display:grid;gap:.5rem}.check-main label{font-weight:800}.check-main label em{font-style:normal;font-size:.7rem;color:#c7193f;background:#fdeaf0;padding:.15rem .4rem;border-radius:999px;margin-left:.5rem}.check-complete{color:#23805d;font-size:1.4rem;font-weight:900}.check-pending{color:#9caea6;font-size:1.4rem}.compact-notice{padding:.65rem!important;margin:0!important;display:flex;align-items:center;gap:.7rem}.compact-notice select{max-width:150px}.button-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.detail-list div{background:#f7faf8;border-radius:10px;padding:.75rem}.detail-list dt{font-size:.75rem;color:#65776f}.detail-list dd{margin:.2rem 0 0;font-weight:800}.notice.success{border-color:#a8d8c4;background:#effaf5;color:#185b43}@media(max-width:800px){.asset-detail-grid,.ppm-kpis,.detail-list{grid-template-columns:1fr}.work-checklist-item{grid-template-columns:auto minmax(0,1fr)}.work-checklist-item>.check-complete,.work-checklist-item>.check-pending{display:none}}@media(min-width:901px){.ferryspeed-app-shell{grid-template-columns:236px minmax(0,1fr)}.ferryspeed-sidebar{position:sticky;top:0;height:100vh;min-height:0;overflow:hidden}.ferryspeed-sidebar-brand{flex:0 0 auto;padding:13px 15px 11px}.ferryspeed-sidebar-brand .fs-official-logo{width:132px;margin-bottom:5px}.ferryspeed-sidebar-brand .fs-product-name{font-size:8.5px;line-height:1.2;letter-spacing:.07em}.ferryspeed-sidebar nav{flex:1 1 auto;min-height:0;padding:8px 9px 5px;gap:2px;overflow:hidden}.ferryspeed-sidebar a{min-height:34px;gap:8px;padding:5px 8px;border-radius:7px;font-size:12.5px;line-height:1.15;white-space:nowrap}.ferryspeed-sidebar .fs-nav-icon{flex:0 0 22px;width:22px;height:22px;border-radius:5px;font-size:12px}.ferryspeed-sidebar a.active{box-shadow:0 5px 13px #2f765b26}.ferryspeed-user-card{flex:0 0 auto;margin:5px 9px 9px;padding:8px 10px;border-radius:8px;font-size:11.5px;line-height:1.25}.ferryspeed-user-card>div{min-width:0}.ferryspeed-user-card strong,.ferryspeed-user-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ferryspeed-user-card .link-button{padding-top:6px;margin-top:5px;font-size:11.5px}}@media(min-width:901px)and (max-height:760px){.ferryspeed-sidebar-brand{padding-top:9px;padding-bottom:8px}.ferryspeed-sidebar-brand .fs-official-logo{width:118px;margin-bottom:3px}.ferryspeed-sidebar nav{padding-top:5px;gap:1px}.ferryspeed-sidebar a{min-height:30px;padding-top:3px;padding-bottom:3px;font-size:12px}.ferryspeed-sidebar .fs-nav-icon{flex-basis:20px;width:20px;height:20px;font-size:11px}.ferryspeed-user-card{margin-top:3px;padding-top:6px;padding-bottom:6px}}.notification-centre{position:relative}.notification-bell{position:relative;width:36px;height:36px;border-radius:10px;border:1px solid #d9e4df;background:#fff;color:#145f45;display:grid;place-items:center;padding:0}.notification-bell>span{font-size:13px}.notification-bell b{position:absolute;right:-5px;top:-6px;background:#d9272e;color:#fff;border:2px solid #fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-size:10px;display:grid;place-items:center}.notification-popover{position:absolute;right:0;top:44px;width:min(390px,calc(100vw - 30px));max-height:520px;background:#fff;border:1px solid #d9e4df;border-radius:16px;box-shadow:0 18px 50px #0e30262e;z-index:100;overflow:hidden}.notification-popover header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #edf2ef}.notification-popover header div{display:grid}.notification-popover header small{color:#687b74}.notification-list{max-height:440px;overflow:auto}.notification-item{width:100%;display:grid;grid-template-columns:10px 1fr;gap:10px;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2ef;border-radius:0;padding:12px 16px;color:#1e2b27}.notification-item:hover{background:#f5faf7}.notification-item.unread{background:#eef8f3}.notification-dot{width:8px;height:8px;border-radius:50%;background:#cbd7d2;margin-top:6px}.notification-item.unread .notification-dot{background:#d9272e}.notification-item>span:last-child{display:grid;gap:3px}.notification-item small{color:#4f625b;line-height:1.35}.notification-item time{font-size:11px;color:#81918b}.notification-empty{padding:30px;text-align:center;color:#687b74}.assignment-picker{border:1px solid #d8dee8;border-radius:12px;padding:14px;display:grid;gap:8px;max-height:220px;overflow:auto}.assignment-picker legend{font-weight:700;padding:0 6px}.check-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;background:#f7f9fc}.check-row input{width:auto}.review-box{border:1px solid #d8dee8;border-radius:14px;padding:18px;background:#f8fafc}.review-box .button-row{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.assignment-modal{width:min(860px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:0}.assignment-modal-heading{padding:24px 26px;border-bottom:1px solid var(--border-color,#dfe5ec);align-items:flex-start}.assignment-modal-heading h3{margin:3px 0 4px;font-size:1.5rem}.assignment-modal-heading p{margin:0;color:var(--muted,#607080)}.eyebrow{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#607080)}.assignment-form{display:grid;gap:18px;padding:22px 26px 26px}.assignment-section{border:1px solid var(--border-color,#dfe5ec);border-radius:12px;background:#fff;padding:18px}.assignment-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}.assignment-section-heading h4{margin:0 0 3px;font-size:1rem}.assignment-section-heading p{margin:0;color:var(--muted,#607080);font-size:.88rem}.assignment-section-heading>span{white-space:nowrap;border-radius:999px;background:#eef3f7;padding:5px 10px;font-size:.78rem;font-weight:700}.assignment-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.assignment-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border-color,#dfe5ec);border-radius:9px;padding:12px;cursor:pointer}.assignment-option:hover{background:#f7f9fb}.assignment-option input{margin-top:3px}.assignment-option span{display:grid;gap:2px}.assignment-option small{color:var(--muted,#607080)}.contractor-multi-select{width:100%;min-height:150px;border:1px solid var(--border-color,#cfd8e3);border-radius:9px;padding:8px;background:#fff}.contractor-multi-select option{padding:7px 9px;border-radius:5px}.selected-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.selected-chips span{background:#eef4f1;border:1px solid #cfe1d8;border-radius:999px;padding:5px 9px;font-size:.8rem;font-weight:700}.assignment-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.assignment-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}.completion-review-card{border:1px solid #d9e2ea;border-radius:14px;background:#fbfcfd;padding:20px;display:grid;gap:18px}.completion-review-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.completion-review-heading h4{margin:3px 0 4px;font-size:1.08rem}.completion-review-heading p{margin:0;color:var(--muted,#607080)}.completion-review-notes{display:grid;gap:5px}.completion-review-notes>span{font-weight:800}.completion-review-notes>small{color:var(--muted,#607080)}.completion-review-notes textarea{width:100%;min-height:120px;resize:vertical}.completion-review-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:700px){.assignment-modal{width:calc(100vw - 18px)}.assignment-modal-heading,.assignment-form{padding-left:16px;padding-right:16px}.assignment-schedule-grid{grid-template-columns:1fr}.assignment-schedule-grid .span-2{grid-column:auto}.completion-review-heading{display:grid}}.assignment-schedule-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;align-items:start!important}.assignment-schedule-grid>label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;min-width:0!important;font-weight:700!important}.assignment-schedule-grid>label>input,.assignment-schedule-grid>label>textarea{display:block!important;width:100%!important;box-sizing:border-box!important;margin:0!important}.assignment-schedule-grid .span-2{grid-column:1/-1!important}.assignment-schedule-grid textarea{min-height:118px!important;resize:vertical!important;line-height:1.45!important}.reopen-card{margin-top:18px;padding:22px;border:1px solid #d7e3e6;border-radius:16px;background:linear-gradient(145deg,#f8fbfa,#fff);box-shadow:0 8px 22px #0f3c370f}.reopen-card-heading h4{margin:4px 0 6px;font-size:19px;color:#102b2b}.reopen-card-heading p{margin:0 0 18px;color:#637579}.reopen-field{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}.reopen-field>span{font-weight:800;color:#173b3a}.reopen-field>small{color:#718184}.reopen-field textarea{display:block!important;width:100%!important;box-sizing:border-box!important;min-height:110px!important;margin:0!important;resize:vertical!important;line-height:1.5!important}.reopen-actions{display:flex;justify-content:flex-end;margin-top:16px}.reopen-actions button{min-width:190px}.completion-review-card{padding:24px!important;border-radius:18px!important;border:1px solid #cbdde0!important;background:linear-gradient(145deg,#f8fbfc,#fff)!important}.completion-review-heading{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:18px!important;margin-bottom:20px!important}.completion-review-heading h4{margin:4px 0 5px!important;font-size:20px!important}.completion-review-heading p{margin:0!important;color:#687b83!important}.completion-review-notes{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}.completion-review-notes>span{font-weight:800!important}.completion-review-notes textarea{width:100%!important;box-sizing:border-box!important;min-height:126px!important;margin:0!important;resize:vertical!important;line-height:1.5!important}.completion-review-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;margin-top:18px!important}.completion-review-actions button{min-width:190px!important}.dash-metric-link{display:block;color:inherit;text-decoration:none}.dash-metric-link:hover .dash-metric{transform:translateY(-2px);box-shadow:0 12px 28px #1530461c}.dash-metric{transition:transform .18s ease,box-shadow .18s ease;min-height:112px}.dash-metric small{margin-top:8px;color:#718292;font-size:12px}.dash-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.dash-recent{padding:22px}.dash-recent>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-recent>header h3{margin:0}.dash-recent-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #edf1f4;text-decoration:none;color:inherit}.dash-recent-row:last-child{border-bottom:0}.dash-recent-row>div{display:flex;flex-direction:column;gap:3px}.dash-recent-row>div:last-child{text-align:right}.dash-recent-row span,.dash-recent-row small{color:#6b7d89}.dash-recent-row b{font-size:12px;color:#194e50}.dash-summary-list{display:grid;gap:12px}.dash-summary-list>div{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:12px;background:#f4f8fa}.dash-summary-list span{color:#607486}.dash-summary-list strong{font-size:20px;color:#113a3b}.report-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin:18px 0}.report-kpi-grid article{padding:20px;border:1px solid #dbe5e9;border-radius:16px;background:#fff;box-shadow:0 7px 22px #16374a0f;display:flex;flex-direction:column;gap:5px}.report-kpi-grid span{font-size:13px;color:#657887}.report-kpi-grid strong{font-size:27px;color:#0e3b3d}.report-kpi-grid small{color:#7a8c96}.report-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.report-chart{padding:22px}.report-chart h3{margin:0 0 18px}.report-bar{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 32px;align-items:center;gap:10px;margin:12px 0;font-size:13px}.report-bar>div{height:10px;background:#ecf2f4;border-radius:999px;overflow:hidden}.report-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#155b5c,#4b9c98)}.report-bar strong{text-align:right}.report-library{margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.section-heading h3{margin:0 0 5px}.section-heading p{margin:0;color:#6e808c}.section-heading>span{padding:7px 11px;border-radius:999px;background:#e8f3f1;color:#175654;font-weight:800;font-size:12px}.report-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.report-download-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:160px;padding:20px;border:1px solid #dbe5e9;border-radius:16px;background:linear-gradient(150deg,#fff,#f8fbfb);box-shadow:0 6px 18px #1530460d}.report-download-card h4{margin:0 0 7px;color:#133e3e}.report-download-card p{margin:0;color:#6a7b86;line-height:1.45}.report-download-card button{align-self:flex-start}@media(max-width:1100px){.dash-metric-grid,.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.report-visual-grid,.report-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-main-grid,.dash-bottom-grid{grid-template-columns:1fr!important}}@media(max-width:700px){.assignment-schedule-grid{grid-template-columns:1fr!important}.assignment-schedule-grid .span-2{grid-column:auto!important}.dash-metric-grid,.report-kpi-grid,.report-visual-grid,.report-card-grid{grid-template-columns:1fr!important}.completion-review-heading{flex-direction:column!important}.completion-review-actions,.reopen-actions{flex-direction:column}.completion-review-actions button,.reopen-actions button{width:100%!important}.report-bar{grid-template-columns:95px 1fr 28px}}.preference-list{display:grid;gap:.75rem}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border,#dfe6e2);border-radius:12px;background:#fff}.preference-row span{display:grid;gap:.2rem}.preference-row small{color:#64756d}.preference-row input{width:1.25rem;height:1.25rem}.user-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}button.danger{background:#a8322a;color:#fff}.small-button{padding:7px 10px;font-size:12px}.user-edit-modal{width:min(680px,calc(100vw - 32px));max-height:90vh;overflow:auto}.system-health-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:18px}.email-queue-list{display:flex;flex-direction:column;gap:10px}.email-queue-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;border:1px solid #dfe6eb;border-radius:10px;background:#f8fafb}.email-queue-row small{display:block;color:#6d7983;margin-top:4px}.queue-error{color:#a8322a!important;overflow-wrap:anywhere}.queue-status{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;background:#edf2f6}.queue-status.sent{background:#e7f6ec;color:#20723a}.queue-status.failed{background:#fff0ee;color:#a8322a}.queue-status.pending{background:#fff7df;color:#856300}@media(max-width:1000px){.system-health-layout{grid-template-columns:1fr}}.public-request-entry{margin-top:20px;padding:16px;border:1px solid #d9e5df;border-radius:12px;background:#f5faf7;text-align:center;display:grid;gap:6px}.public-request-entry span{font-weight:700;color:var(--fs-ink)}.public-request-link{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border-radius:9px;background:var(--fs-green);color:#fff!important;text-decoration:none;font-weight:800;padding:10px 14px}.public-request-entry small{color:#64756d}.public-request-card .page-heading{margin-top:0}.public-footer-links{margin-top:18px;text-align:center}.public-footer-links a,.secondary-link{color:var(--fs-green-dark);font-weight:700}.tracking-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.tracking-hero h1{margin:3px 0;color:var(--fs-ink)}.tracking-hero h2{margin:0;font-size:20px}.tracking-status{background:#e7f2ec;color:var(--fs-green-dark);border-radius:999px;padding:9px 13px;font-weight:800;white-space:nowrap}.public-request-meta{margin-bottom:18px}.public-description-panel{margin:18px 0}.public-timeline{margin-top:24px}.public-timeline-row{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:0 0 20px;position:relative}.public-timeline-row:not(:last-child):before{content:"";position:absolute;left:6px;top:15px;bottom:0;width:2px;background:#d7e5de}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--fs-green);margin-top:3px;z-index:1}.public-timeline-row strong,.public-timeline-row small{display:block}.public-timeline-row small{color:#6b7b73;margin-top:3px}.public-timeline-row p{margin:6px 0 0}.public-actions{margin-top:18px}.button-link{background:var(--fs-green);color:#fff!important;text-decoration:none;border-radius:9px;padding:11px 15px;font-weight:800}.secondary-link{text-decoration:none;padding:11px 15px}@media(max-width:700px){.tracking-hero{display:grid}.tracking-status{justify-self:start}.public-request-card .form-grid{grid-template-columns:1fr}.public-request-card .span-2{grid-column:auto}}.email-admin-page{display:flex;flex-direction:column;gap:16px}.email-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.email-summary-card{background:#fff;border:1px solid #dfe6eb;border-top:4px solid #2f7d62;border-radius:12px;padding:14px 16px;box-shadow:0 6px 18px #152a370f}.email-summary-card span{display:block;color:#65727e;font-size:13px}.email-summary-card strong{display:block;font-size:28px;margin-top:4px}.email-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) auto;gap:12px;align-items:end;margin-bottom:16px}.email-search{grid-column:span 1}.email-admin-table td{vertical-align:top}.email-admin-table small{display:block;color:#6d7983;margin-top:4px}.email-admin-table details{margin-top:8px}.email-admin-table summary{cursor:pointer;color:#9b2f3f;font-weight:700}.queue-status.processing{background:#eaf2ff;color:#225d9c}.queue-status.deadletter{background:#eceff2;color:#3b4650}.queue-status.cancelled{background:#f2f2f2;color:#666}.email-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.email-pagination>div{display:flex;gap:10px;align-items:center}@media(max-width:1200px){.email-summary-grid{grid-template-columns:repeat(3,1fr)}.email-filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.email-summary-grid{grid-template-columns:repeat(2,1fr)}.email-filter-grid{grid-template-columns:1fr}.email-pagination{align-items:flex-start;gap:12px;flex-direction:column}}
