.tender-demo{min-height:100vh;background:#f4f5f0;color:#1d2621}.tender-demo-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.tender-demo-side{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:24px 16px;background:linear-gradient(180deg,#12271d,#1d3a2b 55%,#28503a);color:#e9f0e7}.tender-demo-side .opsivio-logo{margin:0 8px 26px}.tender-demo-badge{display:inline-flex;margin:0 8px 18px;padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.tender-demo-nav{display:grid;grid-gap:5px;gap:5px}.tender-demo-nav a{padding:11px 12px;border-radius:9px;color:#dce7db;font-size:12px;font-weight:700}.tender-demo-nav a.active,.tender-demo-nav a:hover{background:rgba(154,184,117,.16);color:#fff;box-shadow:inset 3px 0 0 #9ab875}.tender-demo-side-note{position:absolute;left:24px;right:24px;bottom:22px;color:#aebfaf;font-size:10px;line-height:1.5}.tender-demo-main{min-width:0}.tender-demo-topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;border-bottom:1px solid #d8ded6;background:rgba(255,254,250,.96);position:-webkit-sticky;position:sticky;top:0;z-index:30}.tender-demo-title small{display:block;color:#708078;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.tender-demo-title strong{display:block;margin-top:4px;font-size:18px;color:#1d3a2b}.tender-demo-actions{display:flex;gap:9px;flex-wrap:wrap}.tender-demo-content{max-width:1500px;margin:0 auto;padding:30px}.tender-demo-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:28px;border:1px solid #d9ded6;border-radius:16px;background:linear-gradient(120deg,#fffefa,#f5f7f1);box-shadow:0 10px 30px rgba(32,55,39,.06)}.tender-demo-hero h1{margin:8px 0 10px;font-size:34px;letter-spacing:-.04em;color:#1d3a2b}.tender-demo-hero p{max-width:760px;margin:0;color:#67736b;font-size:13px;line-height:1.65}.tender-demo-live{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#e7f1e7;border:1px solid #d0e2cf;color:#3f7048;font-size:10px;font-weight:900;white-space:nowrap}.tender-demo-kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-top:14px}.tender-demo-kpi{padding:19px;border:1px solid #d9ded6;border-radius:13px;background:#fffefa;box-shadow:0 7px 22px rgba(32,55,39,.04)}.tender-demo-kpi small,.tender-demo-kpi span{display:block;color:#7a857d;font-size:10px}.tender-demo-kpi strong{display:block;margin:9px 0 7px;font-size:29px;color:#1d3a2b}.tender-demo-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);grid-gap:14px;gap:14px;margin-top:14px}.tender-demo-card{padding:22px;border:1px solid #d9ded6;border-radius:14px;background:#fffefa;box-shadow:0 7px 22px rgba(32,55,39,.04)}.tender-demo-card h2{margin:0;font-size:18px;color:#1d3a2b}.tender-demo-card>p{margin:6px 0 0;color:#748078;font-size:11px;line-height:1.55}.tender-demo-section{scroll-margin-top:100px;margin-top:18px}.tender-demo-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.tender-demo-section-head h2{margin:0;font-size:23px;letter-spacing:-.025em;color:#1d3a2b}.tender-demo-section-head p{max-width:600px;margin:0;color:#748078;font-size:11px;line-height:1.55;text-align:right}.tender-demo-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:11px}.tender-demo-table th{padding:10px;text-align:left;color:#728078;background:#f3f5f0;border-bottom:1px solid #dfe4dd;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.tender-demo-table td{padding:12px 10px;border-bottom:1px solid #edf0eb;color:#35463c}.tender-demo-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e8f1e8;color:#356942;font-size:9px;font-weight:850}.tender-demo-pill.warn{background:#f7edda;color:#8a6434}.tender-demo-pill.alert{background:#f6e5e2;color:#9a4f42}.tender-demo-bars{display:grid;grid-gap:11px;gap:11px;margin-top:18px}.tender-demo-bar-row{display:grid;grid-template-columns:160px 1fr 46px;grid-gap:12px;gap:12px;align-items:center;font-size:11px;color:#536259}.tender-demo-bar{height:10px;overflow:hidden;border-radius:999px;background:#edf1ea}.tender-demo-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2e6844,#819f67)}.tender-demo-priority{display:grid;grid-gap:9px;gap:9px;margin-top:16px}.tender-demo-priority article{padding:12px;border:1px solid #e1e5df;border-radius:10px;background:#fafaf7}.tender-demo-priority b{display:block;font-size:11px;color:#35463c}.tender-demo-priority span{display:block;margin-top:4px;font-size:10px;color:#7a857d}.tender-demo-capabilities{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:11px;gap:11px}.tender-demo-capability{min-height:160px;padding:18px;border:1px solid #d9ded6;border-radius:12px;background:#fffefa}.tender-demo-capability small{display:inline-flex;padding:5px 7px;border-radius:7px;background:#edf3e9;color:#4d7148;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.tender-demo-capability h3{margin:20px 0 7px;font-size:15px;color:#1d3a2b}.tender-demo-capability p{margin:0;color:#748078;font-size:10px;line-height:1.55}.tender-demo-footer{margin-top:22px;padding:20px 4px 8px;display:flex;justify-content:space-between;gap:20px;color:#7b867e;font-size:10px}.tender-demo-callout{margin-top:14px;padding:14px 16px;border-radius:11px;border:1px solid #d9ded6;background:#f8f4eb;color:#685538;font-size:10px;line-height:1.55}@media(max-width:1100px){.tender-demo-shell{grid-template-columns:86px 1fr}.tender-demo-badge,.tender-demo-side .opsivio-logo-copy,.tender-demo-side-note{display:none}.tender-demo-side .opsivio-logo{margin:0 auto 26px;width:48px}.tender-demo-nav a{font-size:0;text-align:center}.tender-demo-nav a:before{content:"•";font-size:18px}.tender-demo-capabilities,.tender-demo-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.tender-demo-shell{display:block}.tender-demo-side{display:none}.tender-demo-topbar{padding:12px 16px;align-items:flex-start}.tender-demo-title strong{font-size:14px}.tender-demo-content{padding:16px}.tender-demo-hero{align-items:flex-start;flex-direction:column;padding:20px}.tender-demo-hero h1{font-size:28px}.tender-demo-grid{grid-template-columns:1fr}.tender-demo-kpis{grid-template-columns:1fr 1fr}.tender-demo-capabilities{grid-template-columns:1fr}.tender-demo-section-head{align-items:flex-start;flex-direction:column}.tender-demo-section-head p{text-align:left}.tender-demo-card{overflow-x:auto}.tender-demo-table{min-width:660px}.tender-demo-actions .public-btn-ghost{display:none}}.academic-shell{display:grid;grid-gap:18px;gap:18px}.academic-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.academic-hero h1{margin:5px 0 6px;font-size:28px}.academic-quick-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-card{padding:0;overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--border,#e3e8e1);background:#fbfcf9}.calendar-tabs{display:flex;gap:6px;flex-wrap:wrap}.calendar-tab{padding:8px 11px;border-radius:9px;border:1px solid #dce3da;background:white;color:#435248;text-decoration:none;font-size:12px;font-weight:750}.calendar-tab.active{background:#244d35;color:white;border-color:#244d35}.calendar-date-form{display:flex;gap:7px;align-items:center}.calendar-date-form input,.calendar-date-form select{min-height:36px}.calendar-range{padding:12px 18px;background:#f5f7f2;border-bottom:1px solid #e4e8e1;color:#617067;font-size:11px}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:760px}.calendar-day{min-height:150px;border-right:1px solid #e5e9e3;border-bottom:1px solid #e5e9e3;padding:10px;background:white}.calendar-day:last-child{border-right:0}.calendar-day-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:9px}.calendar-day-head b{font-size:12px}.calendar-day-head span{font-size:10px;color:#78847c}.calendar-event{display:block;padding:9px;margin-bottom:7px;border:1px solid #dde6dc;border-left:3px solid #3d744d;border-radius:8px;background:#f8fbf6;color:inherit;text-decoration:none}.calendar-event strong{display:block;font-size:11px;color:#213c2b}.calendar-event small,.calendar-event span{display:block;margin-top:3px;font-size:9px;color:#68756d}.calendar-list{display:grid;grid-gap:10px;gap:10px;padding:16px}.calendar-list-day{display:grid;grid-template-columns:130px 1fr;grid-gap:14px;gap:14px;align-items:start}.calendar-list-date{position:-webkit-sticky;position:sticky;top:82px;padding:10px;border-radius:10px;background:#f2f5ef;font-size:11px}.calendar-list-events{display:grid;grid-gap:8px;gap:8px}.calendar-empty{padding:28px;text-align:center;color:#718078}.venue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.venue-card{padding:14px;border:1px solid #dde3dc;border-radius:11px;background:#fff;color:inherit;text-decoration:none}.venue-card:hover{border-color:#93aa8f;box-shadow:0 6px 20px rgba(37,73,50,.07)}.venue-card b{display:block;color:#244d35}.venue-card small,.venue-card span{display:block;margin-top:5px;color:#6f7c73;font-size:10px}.venue-card.selected{outline:2px solid #3d744d}.venue-scope{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:999px;background:#edf4ea;color:#416842!important;font-weight:800}.venue-scope.restricted{background:#f6eadc;color:#805d36!important}.booking-simple{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.booking-simple .wide{grid-column:span 2}.booking-simple .form-actions{align-self:end}.academic-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.academic-setup details{border:1px solid #dfe5dd;border-radius:11px;background:#fff}.academic-setup summary{cursor:pointer;padding:14px 16px;font-weight:800;color:#294a34}.academic-setup details>div{padding:0 16px 16px}.academic-status-row{display:flex;gap:8px;flex-wrap:wrap}.academic-status{padding:6px 9px;border-radius:999px;background:#edf4ea;color:#416842;font-size:10px;font-weight:800}.academic-status.warn{background:#f9ebdf;color:#8a5f37}.academic-scroll{overflow-x:auto}.academic-venue-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-end}.academic-venue-header select{min-width:260px}@media(max-width:1100px){.booking-simple,.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-setup{grid-template-columns:1fr}}@media(max-width:760px){.academic-hero,.academic-venue-header,.calendar-toolbar{align-items:flex-start;flex-direction:column}.booking-simple,.venue-grid{grid-template-columns:1fr}.booking-simple .wide{grid-column:auto}.calendar-list-day{grid-template-columns:1fr}.calendar-list-date{position:static}.academic-quick-actions{width:100%}.academic-quick-actions .btn{flex:1 1}.calendar-date-form{width:100%}.calendar-date-form input{flex:1 1}}:root{--cloud:#F6F5F0;--mist:#EEF1EA;--azure:#2E6844;--cyan:#819F67;--deep:#1D3A2B;--navy:#12271D;--ink:#1D2621;--ink-soft:#35463C;--muted:#69736C;--muted-light:#8D978F;--line:#D9DED6;--success:#3F7D54;--warning:#AD7D39;--danger:#A94D46;--shadow:0 12px 34px rgba(32,55,39,.075);--brand-primary:#2E6844;--brand-primary-dark:#1D4931;--brand-secondary:#819F67;--brand-olive:#607A4D;--brand-earth:#9B7342;--brand-gold-earth:#B18A54;--brand-charcoal:#1D2621;--brand-stone:#E9E5DB;--brand-cream:#F8F7F2;--cloud-white:#FFFEFA;--cloud-mist:#EEF1EA;--cloud-blue:#E9F1EB;--azure-deep:#1D4931;--sky:#819F67;--deep-blue:#1D3A2B;--ivory:#F6F5F0;--paper:#FFFEFA;--white:#FFFFFF;--terracotta:#9B7342;--terracotta-soft:#F2E9DF;--teal:#2E6844;--teal-dark:#1D4931;--teal-soft:#E9F1EB;--gold:#B18A54;--gold-soft:#F3EBDD;--red:#A94D46}body,html{background:#F6F5F0;color:var(--ink)}body{background-image:radial-gradient(circle at 92% 3%,rgba(129,159,103,.075),transparent 24%),linear-gradient(180deg,#F9F8F4,#F3F4EF)}.platform-shell,.shell,.workspace{background:linear-gradient(180deg,#F9F8F4,#F3F4EF)}.demo-sidebar,.sidebar{background:linear-gradient(180deg,#12271D,#1D3A2B 48%,#244B35);border-right:1px solid rgba(255,255,255,.075);box-shadow:10px 0 34px rgba(18,39,29,.08)}.brand,.brand-lockup,.demo-brand{border-bottom-color:rgba(255,255,255,.1)}.brand-mark,.demo-brand-mark{filter:saturate(.88)}.brand span,.brand strong span,.demo-brand strong span,.opsivio-logo-word span{color:#A4C77B}.brand small,.brand-sub,.demo-brand small{color:#A8BBA9}.demo-nav-label,.main-nav p,.nav-label{color:#89A08B}.demo-sidebar nav button,.main-nav button,.nav-link{color:#D5E0D5}.demo-sidebar nav button:hover,.main-nav button:hover,.nav-link:hover{background:rgba(129,159,103,.105);color:#fff}.demo-sidebar nav button.active,.main-nav button.active,.nav-link.active{background:linear-gradient(90deg,rgba(129,159,103,.2),rgba(155,115,66,.075));color:#fff;box-shadow:inset 3px 0 0 #9AB875}.main-nav button.active:before{background:#9AB875}.main-nav button.active svg,.nav-link.active .nav-icon{color:#E2EBD9}.demo-sidebar nav button em,.main-nav button em{background:rgba(129,159,103,.18);color:#DDEACD}.demo-workspace-card,.workspace-card{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.12)}.demo-workspace-card>span:first-child,.workspace-icon{background:rgba(129,159,103,.16);color:#DDEACD}.sidebar-profile,.sidebar-support{border-color:rgba(255,255,255,.11)}.sidebar-support:hover{background:rgba(129,159,103,.1)}.demo-topbar,.topbar{background:rgba(255,254,250,.91);border-bottom-color:var(--line);box-shadow:0 4px 18px rgba(35,60,42,.035)}.demo-public-bar,.presentation-data-banner{background:#E9F1EB;color:#294D38;border-color:#D4E1D5}.crumbs b{color:#BFC6C0}.demo-catalogue-search,.global-search{border-color:var(--line)}.demo-page-head h1,.fleet-hero h1,.housing-hero h1,.module-header h1,.page-heading h1,.settlement-hero h1{color:var(--deep);letter-spacing:-.035em}.demo-general-hero>div>span,.demo-page-head span,.demo-panel-head>div>span,.eyebrow{color:#55764F}.card,.data-panel,.demo-drawer,.demo-kpis article,.demo-modal,.demo-panel,.demo-resident-card,.fleet-modal,.fleet-register-card,.housing-modal,.housing-panel,.kpi-card,.metric-card,.module-card,.panel,.record-hero,.request-drawer,.request-modal,.res-panel,.sat-panel,.settlement-modal,.table-wrap,.venue-booking-register,.venue-calendar-panel{background:#FFFEFA;border-color:var(--line);box-shadow:0 7px 24px rgba(32,55,39,.045)}.demo-panel:hover,.module-card:hover{border-color:#B7C8AF}.btn,.demo-booking-grid article>button,.demo-panel-head button,.download-button,.icon-button,.month-controls button,.res-row-button,.row-action,.sat-row-button,.secondary-button,.settlement-title-actions button{border-color:#D5DBD3;background:#FFFEFA;color:#35463C;border-radius:8px}.btn:hover,.icon-button:hover,.res-row-button:hover,.row-action:hover,.sat-row-button:hover,.secondary-button:hover{border-color:#AFC2A7;background:#F7F8F3;color:#274D35}.btn-primary,.demo-page-head>a,.demo-page-head>button,.demo-primary,.demo-top-actions>button.demo-top-new,.primary-button{background:linear-gradient(135deg,#2E6844,#3C7650);border-color:#2E6844;color:#fff;box-shadow:0 7px 17px rgba(46,104,68,.18)}.btn-primary:hover,.demo-primary:hover,.primary-button:hover{background:#275B3B;border-color:#275B3B;transform:translateY(-1px)}.btn-soft{background:#EDF3E9;color:#456B45;border-color:#D5E2CE}.link-button,.section-link,.text-button{color:#4D7347}.danger-button,button.danger-action{color:#A24B44;background:#FFF9F7;border-color:#E3BBB5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(129,159,103,.34);outline-offset:2px}.field input,.field select,.field textarea,.filter-select,.fleet-form input,.fleet-form select,.form-grid input,.form-grid select,.form-grid textarea,.housing-case-form input,.housing-case-form select,.housing-case-form textarea,.housing-form input,.housing-form select,.housing-form textarea,.module-search,.register-filter,.register-search,.settings-form input,.settings-form textarea,.settlement-form input,.settlement-form select,.settlement-form textarea{background:#FFFEFA;border-color:#D5DBD3;color:var(--ink);border-radius:8px}.field input:focus,.field select:focus,.field textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.housing-form input:focus,.housing-form select:focus,.housing-form textarea:focus,.register-search:focus,.settings-form input:focus,.settings-form textarea:focus{border-color:#819F67;box-shadow:0 0 0 3px rgba(129,159,103,.12)}.admin-tabs,.demo-tabs,.res-module-nav,.sat-nav,.workspace-tabs{background:#EEF1EA;border-color:var(--line)}.admin-tabs button,.demo-tabs button,.res-module-nav button,.sat-nav button,.workspace-tab{color:#687369}.admin-tabs button:hover,.demo-tabs button:hover,.res-module-nav button:hover,.sat-nav button:hover,.workspace-tab:hover{background:#F7F8F3;color:#34583D}.admin-tabs button.active,.demo-tabs button.active,.res-module-nav button.active,.sat-nav button.active,.workspace-tab.active{background:#FFFEFA;color:#24462F;box-shadow:0 2px 8px rgba(37,66,45,.08)}.drawer-tabs button.active,.fleet-tabs button.active,.institution-tabs button.active,.settlement-tabs button.active{border-bottom-color:#819F67;color:#294A34}.project-stage-strip button.active{background:#1D3A2B;color:#fff}.housing-tabs button.active,.housing-tabs button:hover{background:#E9F1EB;color:#2E6844}.housing-tabs button.active{box-shadow:inset 0 -2px #2E6844}.calendar-weekday,.data-table th,.demo-th,.fleet-table th,.housing-table th,.queue-table th,.readiness-table th,.res-table th,.sat-table th{background:#F2F4EF;color:#69756B;border-color:#E4E8E2}.data-table td,.demo-tr,.fleet-table td,.housing-table td,.queue-table td,.readiness-table td,.res-table td,.sat-table td{border-color:#E8EBE6}.data-table tbody tr:hover td,.demo-tr:not(.demo-th):hover,.fleet-table tbody tr:hover,.housing-table tbody tr:hover,.queue-table tbody tr:hover td,.res-table tbody tr:hover,.sat-table tbody tr:hover{background:#F8FAF5}.clickable-row:hover td{background:#F7F9F4}.booking-status,.env-badge,.fleet-freshness.live,.readiness-status.success,.res-status.good,.sat-status.good,.settings-status,.status-chip.approved,.status-chip.suggested,.tenant-status{background:#E7F1E7;color:#3F7048;border-color:#D0E2CF}.res-demo-badge,.role-badge{background:#F3EBDD;color:#795D37;border-color:#E4D3B7}.demo-growth-badge,.pill,.res-status.neutral,.sat-status.neutral{background:#EEF2EA;color:#5A6B59;border-color:#DBE2D7}.live-dot,.request-status.assigned i,.request-status.dispatched i,.request-status.in-progress i,.status-dot i{background:#4A8057}.completion-track,.fund-utilisation>i,.progress-track,.readiness-score>i,.service-coverage-bar{background:#E4E9E2}.benchmark-bar i,.completion-track i,.fund-utilisation>i b,.performance-rate>span i,.progress-fill,.readiness-score>i b,.service-coverage-bar i{background:linear-gradient(90deg,#2E6844,#819F67)}.donut{background:conic-gradient(#2E6844 0 92.4%,#B18A54 92.4% 96%,#A94D46 96% 100%)}.impact-hero,.module-hero,.report-hero{background:linear-gradient(120deg,#193726,#295A3C 58%,#607A4D);box-shadow:0 15px 34px rgba(29,58,43,.15)}.module-hero p{color:#DCE7D9}.module-hero .btn{background:#F8F7F2;color:#23482F;border-color:#F8F7F2}.module-hero .btn-primary{background:#A4C77B;color:#17301F;border-color:#A4C77B}.ai-insight,.res-intelligence,.sat-advisory{background:linear-gradient(100deg,#EDF4E9,#FFFEFA 58%,#F4EBDD);border-color:#D7DDCF}.ai-icon,.res-intelligence-icon,.sat-advisory>svg{background:#1D2621;color:#D0AF78}.demo-modal-backdrop,.drawer-backdrop,.fleet-modal-backdrop,.housing-modal-backdrop,.modal-backdrop,.settlement-modal-backdrop{background:rgba(18,35,27,.62)}.fleet-modal>header,.housing-modal>header,.request-drawer>header,.request-modal>header,.settlement-modal>header{background:#FFFEFA;border-color:var(--line)}.toast{background:#1D2621;border-color:#8EAC80}.demo-map,.fleet-map-panel,.gis-map,.res-map,.sat-map-canvas,.settlement-map{filter:saturate(.88)}.gis-pin,.res-map-pin,.sat-detection-pin:not(.risk),.settlement-code{background:#2E6844}.admin-summary>article,.data-panel,.fleet-register-card,.housing-panel,.kpi-card,.maintenance-summary>article,.module-card,.module-stat-grid>article,.panel,.team-card,.tenant-card,.venue-booking-register,.venue-calendar-panel{border-radius:12px}.btn,.filter-select,.icon-button,.module-search,.primary-button,.row-action,.secondary-button{min-height:36px}.demo-modal,.fleet-modal,.housing-modal,.request-modal,.settlement-modal{border-radius:14px}.demo-drawer,.request-drawer{background:#FFFEFA}@media(max-width:820px){.demo-sidebar.is-open,.sidebar.is-open{box-shadow:20px 0 50px rgba(18,39,29,.25)}}.verification-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px}.verification-check-card{border:1px solid #dce6d7;border-radius:14px;background:#fbfcf8;overflow:hidden}.verification-check-card .verification-action{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:13px 14px;border-bottom:1px solid #e4eadf}.verification-check-card .verification-action b,.verification-check-card .verification-action small{display:block}.verification-check-card .verification-action b{font-size:11px;color:#234A33}.verification-check-card .verification-action small{margin-top:4px;font-size:8.7px;line-height:1.45;color:#73806d}.verification-provider-badge{display:inline-flex!important;align-items:center;width:max-content;margin-top:7px!important;padding:4px 7px;border-radius:999px;font-size:7.4px!important;font-weight:850;letter-spacing:.03em}.verification-provider-badge.ready{background:#e5f2df;color:#3e6f35}.verification-provider-badge.missing{background:#f4efe5;color:#8b6c36}.verification-result-card{padding:13px 14px;background:#fff}.verification-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.verification-result-head>div>b,.verification-result-head>div>span{display:block}.verification-result-head>div>span{font-size:7.7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#7b8974}.verification-result-head>div>b{margin-top:3px;font-size:12px;color:#234A33}.verification-result-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;margin-bottom:10px}.verification-result-meta>span{display:block;padding:8px 9px;border:1px solid #e5e9df;border-radius:9px;background:#f8faf5;color:#566450;font-size:8.7px;word-break:break-word}.verification-result-meta b{display:block;margin-bottom:2px;font-size:7.2px;letter-spacing:.06em;text-transform:uppercase;color:#85907f}.verification-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;margin-top:10px}.verification-result-grid>div{padding:8px 9px;border-radius:9px;background:#f1f5ec;border:1px solid #e0e7da;min-width:0}.verification-result-grid b,.verification-result-grid span{display:block}.verification-result-grid span{font-size:7.2px;letter-spacing:.04em;text-transform:uppercase;color:#788472;word-break:break-word}.verification-result-grid b{margin-top:3px;font-size:9.5px;color:#2e4630;word-break:break-word}.verification-raw-result{margin-top:10px;border-top:1px dashed #d8dfd2;padding-top:9px}.verification-raw-result summary{cursor:pointer;font-size:8.5px;font-weight:850;color:#6b7e58}.verification-raw-result pre{margin:9px 0 0;max-height:360px;overflow:auto;padding:11px;border-radius:10px;background:#15251b;color:#e8f2e2;font-size:8px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.verification-no-result{padding:12px 14px;background:#f7f9f4;color:#71806b}.verification-no-result b,.verification-no-result span{display:block}.verification-no-result b{font-size:9.5px;color:#52634d}.verification-no-result span{margin-top:3px;font-size:8.2px}.verification-history-title{margin-top:18px}.status-chip.completed{background:#e5f2df;color:#3e6f35}.status-chip.running{background:#eef0dd;color:#72762f}.status-chip.failed{background:#f8e5e1;color:#a14840}@media(max-width:1100px){.verification-check-grid{grid-template-columns:1fr}}@media(max-width:680px){.verification-check-card .verification-action{grid-template-columns:1fr}.verification-check-card .verification-action .btn{width:100%}.verification-result-grid,.verification-result-meta{grid-template-columns:1fr}}.project-type-flow{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.project-type-flow span{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #dce6d7;border-radius:9px;background:#f8faf5;color:#5c6c56;font-size:8.5px;font-weight:750}.project-type-flow b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e7f0df;color:#365f35;font-size:8px}.housing-project-lifecycle{margin-top:0}.housing-delivery-hero{background:linear-gradient(180deg,#fff,#fbfdf8)}.housing-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin:12px 0}.housing-kpi{padding:12px;border:1px solid #dfe8d9;border-radius:12px;background:#f8faf5}.housing-kpi.primary{background:#edf5e6;border-color:#d0e2c1}.housing-kpi.attention{background:#fff7ea;border-color:#ead3ad}.housing-kpi b,.housing-kpi em,.housing-kpi span{display:block}.housing-kpi span{font-size:7.7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#73806d}.housing-kpi b{margin-top:5px;font-size:21px;line-height:1;color:#234A33}.housing-kpi b small{font-size:10px;color:#70806a}.housing-kpi em{margin-top:5px;font-size:8.5px;font-style:normal;color:#73806d}.housing-progress{margin:12px 0}.housing-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;color:#5b6b55;font-size:9px}.housing-capture-box{margin:10px 0;padding:11px 12px;border:1px solid #dce6d7;border-radius:11px;background:#f8faf5}.housing-capture-box>summary{cursor:pointer;color:#3f6339;font-size:9px;font-weight:850}.housing-capture-box .form-grid{margin-top:12px}.field-wide{grid-column:1/-1}.housing-meeting-list{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.housing-meeting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:11px 12px;border:1px solid #e1e7dc;border-radius:11px;background:#fcfdf9;color:inherit}.housing-meeting-row b,.housing-meeting-row small{display:block}.housing-meeting-row b{font-size:10px;color:#234A33}.housing-meeting-row small{margin-top:3px;font-size:8.4px;color:#75806f}.housing-meeting-row p{margin:5px 0 0;font-size:9px;color:#626f5e}.housing-import-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.housing-import-grid .housing-capture-box{margin:0}.housing-import-form{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.housing-import-form input[type=file]{width:100%;padding:10px;border:1px dashed #becdb5;border-radius:10px;background:#fff;font-size:9px}.housing-import-form p{margin:0;color:#71806b;font-size:8.5px;line-height:1.5}.housing-beneficiary-table{margin-top:12px;border:1px solid #dde6d7;border-radius:12px;overflow:hidden}.housing-beneficiary-head,.housing-beneficiary-row{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(180px,1fr) minmax(135px,.7fr) minmax(135px,.7fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px}.housing-beneficiary-head{background:#eef4e9;color:#66745f;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.housing-beneficiary-row{border-top:1px solid #e5eadf;background:#fff}.housing-beneficiary-row:nth-child(odd){background:#fbfcf8}.housing-beneficiary-row b,.housing-beneficiary-row small{display:block}.housing-beneficiary-row b{font-size:9.8px;color:#234A33}.housing-beneficiary-row small{margin-top:3px;font-size:8px;color:#76816f;line-height:1.35}.housing-beneficiary-row>div:not(:first-child) small{max-width:220px}.handover-certificate-form{display:grid;grid-template-columns:160px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end;margin:10px 0 14px}.handover-certificate-form label{display:grid;grid-gap:5px;gap:5px}.handover-certificate-form label>span{font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#71806b}.handover-certificate-form input{width:100%;border:1px solid #d9e2d4;border-radius:9px;background:#fff;padding:9px 10px;color:#34452f;font-size:9px}.handover-certificate-form>small{grid-column:1/-1;color:#9b6b2f}.housing-certificate-list{margin-top:8px}@media(max-width:1150px){.housing-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.housing-beneficiary-head{display:none}.housing-beneficiary-row{grid-template-columns:1fr 1fr}.housing-beneficiary-row>.row-action-button{justify-self:start}.housing-import-grid{grid-template-columns:1fr}.handover-certificate-form{grid-template-columns:1fr 1fr}.handover-certificate-form .btn{grid-column:1/-1;justify-self:start}}@media(max-width:680px){.housing-beneficiary-row,.housing-kpi-grid,.housing-meeting-row{grid-template-columns:1fr}.housing-meeting-row .row-action-button{justify-self:start}.handover-certificate-form{grid-template-columns:1fr}.handover-certificate-form .btn{grid-column:auto;width:100%}.project-type-flow{display:grid;grid-template-columns:1fr}.field-wide{grid-column:auto}}:root{--brand-primary:#1F7A57;--brand-primary-dark:#123B2D;--brand-secondary:#2FA87C;--brand-olive:#5F8F55;--brand-earth:#176C71;--brand-gold-earth:#2FA87C;--brand-charcoal:#18231F;--brand-stone:#E4ECE8;--brand-cream:#F7FAF8;--cloud:#F7FAF8;--mist:#EDF4F0;--azure:#1F7A57;--cyan:#2FA87C;--deep:#123B2D;--navy:#0D2B22;--ink:#18231F;--ink-soft:#34453E;--muted:#66756E;--line:#D7E2DC;--success:#2F805B;--warning:#A97B37;--shadow:0 12px 34px rgba(18,59,45,.07)}.platform-shell,.shell,.workspace,body,html{background:linear-gradient(180deg,#FAFCFB,#F3F7F5)}body{background-image:radial-gradient(circle at 91% 3%,rgba(47,168,124,.075),transparent 24%),linear-gradient(180deg,#FAFCFB,#F3F7F5)}.demo-sidebar,.sidebar{background:linear-gradient(180deg,#0D2B22,#123B2D 52%,#174A38);box-shadow:10px 0 34px rgba(13,43,34,.09)}.brand span,.brand strong span,.demo-brand strong span,.opsivio-logo-word span{color:#2FA87C}.brand small,.brand-sub,.demo-brand small{color:#A6C5B6}.demo-nav-label,.main-nav p,.nav-label{color:#83A797}.demo-sidebar nav button.active,.main-nav button.active,.nav-link.active{background:linear-gradient(90deg,rgba(47,168,124,.2),rgba(23,108,113,.07));box-shadow:inset 3px 0 0 #45B486}.nav-link.active .nav-icon{background:#1F7555;border-color:#45B486}.live-dot{background:#2FA87C;box-shadow:0 0 0 5px rgba(47,168,124,.12)}.demo-topbar,.topbar{background:rgba(252,254,253,.92);border-bottom-color:#D7E2DC}.env-badge{background:#EAF6F0;color:#226B4D;border-color:#D1E9DD}.role-badge{background:#EDF4F1;color:#49655A;border-color:#D9E5DF}.card,.data-panel,.fleet-register-card,.housing-panel,.kpi-card,.metric-card,.module-card,.panel,.record-hero,.table-wrap,.venue-booking-register,.venue-calendar-panel{background:#FCFEFD;border-color:#D7E2DC;box-shadow:0 7px 24px rgba(18,59,45,.04)}.btn-primary,.demo-page-head>a,.demo-page-head>button,.demo-primary,.demo-top-actions>button.demo-top-new,.primary-button{background:linear-gradient(135deg,#1F7A57,#2F946B);border-color:#1F7A57;box-shadow:0 7px 17px rgba(31,122,87,.18)}.btn-primary:hover,.demo-primary:hover,.primary-button:hover{background:#196B4C;border-color:#196B4C}.btn-soft{background:#EAF5F0;color:#286E51;border-color:#D5E8DE}.field input:focus,.field select:focus,.field textarea:focus,.register-search:focus{border-color:#2FA87C;box-shadow:0 0 0 3px rgba(47,168,124,.12)}.impact-hero,.module-hero,.report-hero{background:linear-gradient(120deg,#103426,#1B684A 58%,#176C71);box-shadow:0 15px 34px rgba(18,59,45,.15)}.module-hero .btn-primary{background:#6FC18F;color:#0F3325;border-color:#6FC18F}.benchmark-bar i,.completion-track i,.fund-utilisation>i b,.performance-rate>span i,.progress-fill,.readiness-score>i b,.service-coverage-bar i{background:linear-gradient(90deg,#1F7A57,#2FA87C)}.public-site{background:radial-gradient(circle at 84% 7%,rgba(47,168,124,.1),transparent 25%),linear-gradient(180deg,#FBFDFC,#F3F7F5);color:#18231F}.public-nav{background:rgba(252,254,253,.96);border-color:#D7E2DC;box-shadow:0 14px 36px rgba(18,59,45,.075)}.public-nav-links a{color:#53655D}.public-nav-links a:hover{color:#1F7A57}.public-btn-primary{background:linear-gradient(135deg,#1F7A57,#2F946B);border-color:#1F7A57;box-shadow:0 8px 18px rgba(31,122,87,.18)}.public-btn-primary:hover{background:#196B4C}.public-btn-ghost{background:#FCFEFD;color:#34453E;border-color:#D7E2DC}.public-eyebrow,.public-kicker{color:#34795C}.public-kicker:before{background:#2FA87C;box-shadow:0 0 0 5px rgba(47,168,124,.11)}.public-hero h1{color:#123B2D}.public-hero h1 span{color:#1F7A57}.public-hero-lead{color:#607069}.public-trust-row{color:#66756E}.public-trust-row span:before{background:#2FA87C}.public-preview-shell{border-color:#D4E1DA;background:#FCFEFD;box-shadow:0 28px 70px rgba(18,59,45,.13)}.public-preview-sidebar{background:linear-gradient(180deg,#0D2B22,#123B2D 48%,#174A38)}.public-preview-nav-item.active{background:linear-gradient(90deg,rgba(47,168,124,.19),rgba(23,108,113,.08));box-shadow:inset 3px 0 0 #45B486}.public-kpi-grid article,.public-module-card,.public-preview-lower>article,.public-preview-topbar,.public-sector-grid article,.public-step-grid article{background:#FCFEFD;border-color:#D7E2DC}.public-kpi-grid strong,.public-module-card h3,.public-preview-heading h3,.public-preview-topbar b,.public-section-heading h2,.public-sector-grid h3,.public-step-grid h3{color:#123B2D}.public-live-pill{background:#E7F5EE;color:#247052!important;border-color:#D1E9DD}.public-bars i{background:linear-gradient(180deg,#52B887,#1F7A57)}.public-step-grid article>span{background:#E8F4EE;color:#1F7A57}.public-module-no{background:#123B2D;color:#DDF3E8}.public-module-category{background:#ECF5F1;color:#477165;border-color:#D9E8E1}.public-module-line{background:linear-gradient(90deg,#1F7A57,#2FA87C 58%,#176C71)}.public-sector-mark{background:linear-gradient(90deg,#1F7A57,#2FA87C,#176C71)}.public-final-cta{background:linear-gradient(120deg,#103426,#1B684A 58%,#176C71);box-shadow:0 22px 54px rgba(18,59,45,.18)}.public-btn-earth{background:#2FA87C;color:#0D2B22;border-color:#2FA87C}.public-footer{color:#66756E}.fp-workspace{display:flex;flex-direction:column;gap:20px;min-width:0;color:var(--ink)}.fp-review-warning{font-size:12px;color:#80531f;background:#faf0d9;border-radius:8px;padding:10px;line-height:1.5}.fp-label-review{margin:16px 0;font-size:12px}.fp-label-review summary{cursor:pointer;font-weight:650;color:var(--deep)}.fp-label-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.fp-label-list button{display:flex;justify-content:space-between;gap:8px;text-align:left;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fffefa;color:var(--ink);cursor:pointer}.fp-label-list button span{overflow-wrap:anywhere;min-width:0}.fp-label-list button small{color:var(--muted);flex-shrink:0}.fp-label-list .fp-label-uncertain{background:#faf0d9}.fp-extracted-label.fp-label-uncertain{fill:#a3681e}.fp-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;background:linear-gradient(120deg,#e7efdf,#f8f7f2 75%);border:1px solid #d9e3d2;border-radius:18px}.fp-hero h1{font-size:30px;line-height:1.2;color:var(--deep);margin:7px 0 10px;letter-spacing:-.03em}.fp-hero p{margin:0;color:var(--muted);max-width:680px;line-height:1.5}.fp-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.fp-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.fp-summary>div{display:flex;align-items:center;justify-content:space-between;background:#fffefa;padding:18px 24px;border:1px solid var(--line);border-radius:12px}.fp-summary span{color:var(--muted);font-size:13px}.fp-summary strong{color:var(--deep);font-size:28px}.fp-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fp-panel-section h2,.fp-section-heading h2{font-size:17px;color:var(--deep);margin:5px 0}.fp-muted{color:var(--muted);font-size:13px;line-height:1.65}.fp-file-tag{color:var(--deep);background:#edf2e9;padding:6px 10px;border-radius:7px}.fp-file-tag,.fp-status{font-size:11px;white-space:nowrap}.fp-status{display:inline-flex;padding:6px 11px;border-radius:20px;font-weight:700;text-transform:capitalize}.fp-status-approved{color:#225e37;background:#e3f0e3}.fp-status-draft{color:#856028;background:#f6edd8}.fp-status-archived,.fp-status-uploading{color:#606b64;background:#eceee9}.fp-workspace label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:var(--ink-soft)}.fp-workspace input:not([type=checkbox]),.fp-workspace select,.fp-workspace textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;font-weight:400;background:#fffefa}.fp-workspace a:focus-visible,.fp-workspace button:focus-visible,.fp-workspace input:focus,.fp-workspace select:focus,.fp-workspace textarea:focus{outline:2px solid #739c66;outline-offset:2px}.fp-workspace input:disabled,.fp-workspace select:disabled{background:#f1f2ee;color:#68756b}.fp-workspace label small{font-size:11px;font-weight:400;line-height:1.5;color:var(--muted)}.fp-library,.fp-upload{padding:24px}.fp-upload-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:20px}.fp-file-input input[type=file]{border-style:dashed;padding:20px;background:#f5f7f1;font-size:12px}.fp-form-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.fp-form-footer,.fp-upload-form>.fp-error{grid-column:1/-1}.fp-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;grid-gap:14px;gap:14px;align-items:end;margin:20px 0 24px}.fp-workspace .fp-checkbox{flex-direction:row;align-items:center;gap:7px;font-size:11px;white-space:nowrap;font-weight:400;padding:10px 0}.fp-checkbox input{accent-color:#2e6844}.fp-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:18px;gap:18px}.fp-plan-card{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.fp-plan-card:hover{border-color:#7fa16f;transform:translateY(-2px)}.fp-plan-symbol{height:140px;background:linear-gradient(135deg,#e8f1eb,#f2f4ed);display:flex;align-items:center;justify-content:center;color:#698967;position:relative}.fp-plan-symbol svg{width:160px;height:90px}.fp-plan-symbol .fp-status{position:absolute;right:12px;top:12px}.fp-plan-card-copy{padding:17px}.fp-plan-card-copy small{color:#74816f;font-size:11px}.fp-plan-card-copy h3{font-size:17px;margin:8px 0;color:var(--deep);line-height:1.4;overflow-wrap:anywhere}.fp-plan-card-copy p{font-size:12px;color:var(--muted);margin:0 0 18px}.fp-plan-card-copy>div{display:flex;justify-content:space-between;font-size:10px;color:#74816f}.fp-empty{text-align:center;padding:48px 20px;color:var(--muted)}.fp-empty h3{color:var(--deep);font-size:20px}.fp-empty p{font-size:13px;line-height:1.65}.fp-breadcrumb{font-size:12px;color:var(--muted)}.fp-breadcrumb a{color:var(--deep)}.fp-editor .fp-hero{padding:22px}.fp-editor .fp-hero h1{font-size:24px}.fp-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.fp-tool-buttons{display:flex;flex-wrap:wrap;gap:5px}.fp-toolbar button{padding:9px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#435547;font:inherit;font-size:12px;cursor:pointer}.fp-toolbar button:hover{background:#edf3e8}.fp-toolbar button[aria-pressed=true]{background:#254f35;color:white;border-color:#254f35}.fp-toolbar button:disabled{opacity:.5;cursor:default}.fp-zoom{display:flex;align-items:center;gap:3px}.fp-zoom span{min-width:45px;text-align:center;font-size:11px;color:var(--muted)}.fp-instructions{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;min-height:24px}.fp-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;grid-gap:18px;gap:18px}.fp-drawing-panel{padding:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:20px}.fp-drawing-scroll{overflow:auto;max-height:72vh;min-height:380px;background-color:#e9ede5;background-image:radial-gradient(#cbd3c4 1px,transparent 0);background-size:16px 16px}.fp-drawing-stage{padding:18px;box-sizing:border-box;line-height:0}.fp-canvas{display:block;width:100%;height:auto;background:#fff;box-shadow:0 4px 24px #263b2517;touch-action:pan-x pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fp-tool-asset,.fp-tool-fault,.fp-tool-polygon,.fp-tool-rectangle,.fp-tool-scale{cursor:crosshair}.fp-region{fill:#659b6040;stroke:#497947;cursor:pointer;transition:fill .12s}.fp-region:focus,.fp-region:hover{fill:#659b6060;outline:none;stroke:#1e512d}.fp-region-selected{fill:#67934850;stroke:#21552c}.fp-region-unit{fill:#a77d4240;stroke:#9b7342}.fp-room-label{fill:#1f3f2b;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round;pointer-events:none;font-weight:650}.fp-vertex{fill:white;stroke:#21552c;stroke-width:2px;cursor:move;touch-action:none}.fp-extracted-label{fill:#825b18;pointer-events:none}.fp-extracted-label text{paint-order:stroke;stroke:#fff;stroke-width:2px}.fp-scale-line{stroke:#a35e3c;fill:#a35e3c;pointer-events:none}.fp-scale-line text{stroke:white;stroke-width:2px;paint-order:stroke;font-weight:700}.fp-pending{stroke:#a87729;fill:#a87729;pointer-events:none}.fp-marker{cursor:pointer}.fp-marker circle{stroke:#fff;filter:drop-shadow(0 1px 2px #19312255)}.fp-asset-marker circle{fill:#235e3e}.fp-fault-marker circle{fill:#bc663e}.fp-marker text{fill:#fff;font-weight:800;pointer-events:none}.fp-marker:focus{outline:none}.fp-marker:focus circle{stroke:#e5b24f}.fp-canvas-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;padding:9px 14px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.fp-canvas-footer .fp-checkbox{font-size:10px;padding:3px 0}.fp-room-panel{display:flex;flex-direction:column;gap:14px;min-width:0}.fp-panel-section{padding:18px}.fp-panel-section form>label,.fp-panel-section>label{margin:14px 0}.fp-panel-section form>.btn{margin-top:8px;width:100%}.fp-room-list{max-height:225px;overflow:auto;margin-top:10px}.fp-room-list button{display:flex;justify-content:space-between;gap:10px;text-align:left;width:100%;font:inherit;font-size:12px;color:var(--ink);border:0;border-radius:6px;background:none;padding:10px 8px;cursor:pointer}.fp-room-list button:hover{background:#f0f4eb}.fp-room-list button.fp-room-selected{background:#e7efde;color:#22452b}.fp-room-list small{font-size:10px;color:var(--muted);white-space:nowrap}.fp-measurement{background:#f0f4e9;border-radius:9px;padding:16px;margin:16px 0}.fp-measurement>span{font-size:11px;color:var(--muted)}.fp-measurement strong{display:block;font-size:30px;color:var(--deep);margin:8px 0}.fp-measurement strong small{font-size:13px;font-weight:400}.fp-measurement p{font-size:10px;color:var(--muted);margin:0;line-height:1.5}.fp-linked-record{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.fp-linked-record a{color:#2e6844}.fp-linked-record button{border:1px solid #cad7c0;background:#edf3e7;padding:7px;border-radius:6px;font:inherit;color:#315736;cursor:pointer}.fp-linked-record button:disabled{opacity:.45;cursor:default}.fp-linked-info{font-size:12px;text-transform:capitalize;color:var(--muted)}.fp-text-button{border:0;background:none;font:inherit;font-size:12px;color:#35653d;cursor:pointer;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.fp-danger{color:#a04f3f}.fp-panel-section>.fp-text-button{display:block;margin-top:16px}.fp-text-link{display:block;margin-top:12px;font-size:12px;color:#35653d}.fp-review-checks{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted);margin:16px 0}.fp-error{color:#9d463a;background:#fcf0e9}.fp-error,.fp-success{font-size:12px;line-height:1.65;padding:12px 16px;border-radius:8px;margin:0}.fp-success{color:#305c38;background:#edf4e7}.fp-status-line:empty{display:none}.fp-notice{padding:30px}.fp-notice h1{color:var(--deep)}.fp-notice p{color:var(--muted);line-height:1.6}.fp-record-links{margin:20px 0}.fp-record-links .fp-record-link-list{display:flex;flex-wrap:wrap;gap:10px}.fp-record-links a{font-size:12px;color:#2e6844}.fp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.fp-editor-grid{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1100px){.fp-hero{align-items:flex-start;flex-direction:column}.fp-header-actions{justify-content:flex-start}.fp-filters{grid-template-columns:1fr 1fr}.fp-editor-grid{grid-template-columns:minmax(0,1fr) 265px}.fp-drawing-scroll{min-height:280px}}@media(max-width:800px){.fp-editor-grid{grid-template-columns:1fr}.fp-drawing-panel{position:static}.fp-room-panel{display:grid;grid-template-columns:1fr 1fr;align-items:start}.fp-hero{padding:20px}.fp-hero h1{font-size:26px}.fp-summary>div{padding:14px}.fp-summary strong{font-size:23px}.fp-instructions{flex-wrap:wrap}.fp-drawing-scroll{max-height:65vh}}@media(max-width:550px){.fp-filters,.fp-room-panel,.fp-upload-form{grid-template-columns:1fr}.fp-summary{gap:6px}.fp-summary>div{flex-direction:column;gap:8px;align-items:flex-start}.fp-summary span{font-size:10px}.fp-library,.fp-upload{padding:18px}.fp-plan-grid{grid-template-columns:1fr}.fp-header-actions .btn{font-size:11px}.fp-canvas-footer{gap:10px}.fp-drawing-stage{padding:8px}}@media(max-width:550px){.shell:has(.fp-workspace) .topbar{flex-wrap:wrap;gap:8px}.shell:has(.fp-workspace) .topbar-left{min-width:0;flex:1 1 100%}.shell:has(.fp-workspace) .topbar-title{max-width:100%}.shell:has(.fp-workspace) .topbar-right{flex-wrap:wrap;min-width:0;max-width:100%}}.visual-workspace{--visual-accent:#167a62;--visual-tint:#edf4ec;--visual-line:#dce7df;max-width:1500px;margin:auto;color:#244336;font-size:14px}.visual-fleet{--visual-accent:#35688b;--visual-tint:#e9f1f6;--visual-line:#d7e4ed}.visual-inspections,.visual-maintenance{--visual-accent:#986929;--visual-tint:#faf2e5;--visual-line:#ebdfc7}.visual-people,.visual-teams{--visual-accent:#76619a;--visual-tint:#f1edf7;--visual-line:#e2dced}.visual-integrations{--visual-accent:#396f93;--visual-tint:#eaf3f8;--visual-line:#d8e6ee}.visual-workspace-header{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:8px 0 22px}.visual-eyebrow{display:block;color:#628071;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.6}.visual-workspace h1{font-size:34px;line-height:1.18;letter-spacing:-.04em;margin:8px 0 10px;color:#244336}.visual-workspace-header p{max-width:690px;margin:0;color:#687b70;font-size:14px;line-height:1.65}.visual-header-actions{display:flex;gap:9px;flex-wrap:wrap;flex-shrink:0}.visual-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:43px;padding:10px 15px;border:1px solid var(--visual-line,#dce7df);border-radius:12px;background:#fff;color:#385c4b;font:inherit;font-size:13px;font-weight:700;cursor:pointer;line-height:1.3}.visual-button:hover{background:var(--visual-tint,#edf4ec)}.visual-button:disabled{opacity:.55;cursor:wait}.visual-primary{background:var(--visual-accent,#167a62);border-color:var(--visual-accent,#167a62);color:#fff;box-shadow:0 5px 14px #17493515}.visual-primary:hover{background:#225941;color:#fff}.visual-shortcuts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.visual-shortcuts>a,.visual-tools>summary{display:inline-flex;align-items:center;gap:20px;padding:10px 14px;min-height:42px;border:1px solid var(--visual-line);border-radius:11px;background:#fff;color:#526d5d;font-size:12px;font-weight:700;cursor:pointer}.visual-shortcuts>a:hover{background:var(--visual-tint);color:var(--visual-accent)}.visual-shortcuts>a>span{font-size:15px;color:var(--visual-accent)}.visual-motion-control{margin-left:auto;border:0;background:none;color:#74877b;font-size:12px;padding:11px 6px;cursor:pointer}.visual-motion-control:disabled{cursor:default}.visual-tools{position:relative}.visual-tools>summary{list-style:none}.visual-tools>summary:after{content:"⌄";margin-left:12px}.visual-tools[open]>div{position:absolute;left:0;top:calc(100% + 8px);min-width:245px;max-height:400px;overflow:auto;z-index:30;padding:8px;background:#fff;border:1px solid var(--visual-line);border-radius:12px;box-shadow:0 14px 40px #18362a20}.visual-tools>div a{display:block;padding:11px 12px;min-height:40px;font-size:12px;border-radius:8px;color:#476452}.visual-tools>div a:hover{background:var(--visual-tint)}.visual-summary{display:flex;align-items:center;gap:32px;padding:20px 24px;margin-bottom:22px;background:#fff;border:1px solid var(--visual-line);border-radius:16px}.visual-summary>div{display:flex;gap:11px;align-items:center;min-width:0}.visual-summary strong{font-size:27px;font-weight:750;letter-spacing:-.04em;color:var(--visual-accent)}.visual-summary span{font-size:12px;color:#6e7f72;max-width:128px;line-height:1.5}.visual-summary p{margin:0 0 0 auto;font-size:11px;color:#86958a;white-space:nowrap}.visual-search-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.visual-search-row label{display:grid;grid-gap:8px;gap:8px;width:min(390px,100%);font-size:12px;font-weight:700;color:#5d7465}.visual-search-row input{width:100%;min-height:46px;padding:11px 15px;border:1px solid var(--visual-line);border-radius:12px;background:#fff;font:inherit;font-size:14px;color:#31523e}.visual-filters{display:flex;gap:5px;flex-wrap:wrap;padding:5px;background:#e8eee7;border-radius:13px}.visual-filters button{min-height:36px;border:0;border-radius:9px;background:transparent;padding:9px 13px;color:#667b6c;font-size:12px;font-weight:650;cursor:pointer}.visual-filters button[aria-pressed=true]{background:#fff;color:var(--visual-accent);box-shadow:0 2px 6px #264a3210}.visual-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:26px 0 17px}.visual-section-heading h2,.visual-section-heading h3{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:#2e503c}.visual-section-heading>a{font-size:12px;font-weight:650;color:var(--visual-accent,#167a62)}.visual-caption{font-size:12px;color:#748779;margin:-6px 0 18px;line-height:1.6}.visual-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.visual-record-card{--mood:#347e65;--mood-tint:#e7f2e8;display:flex;flex-direction:column;position:relative;min-width:0;overflow:hidden;border:1px solid var(--visual-line);border-radius:18px;background:#fff;box-shadow:0 3px 12px #173e2b04;transition:transform .2s,box-shadow .2s,border-color .2s;color:#294a38}.visual-record-card:hover{transform:translateY(-4px);box-shadow:0 13px 27px #183e2f12;border-color:#a4c5b0}.mood-attention{--mood:#a45836;--mood-tint:#fbebe1}.mood-waiting{--mood:#917025;--mood-tint:#faf0d8}.mood-complete{--mood:#347e65;--mood-tint:#e1f3e7}.mood-neutral{--mood:#6c7884;--mood-tint:#edf0f3}.visual-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:17px 18px 0}.visual-status{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 10px;border-radius:99px;background:var(--mood-tint,#edf4ec);color:var(--mood,#347e65);font-size:10px;font-weight:750;line-height:1.4;text-transform:capitalize}.visual-status:before{content:"";height:5px;width:5px;flex:0 0 5px;background:var(--mood,#347e65);border-radius:50%}.visual-card-reference{font-size:10px;color:#84968a;white-space:nowrap;max-width:50%;text-overflow:ellipsis;overflow:hidden}.visual-art-wrap{position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 70%,var(--visual-tint) 0,transparent 64%);min-height:160px;padding:4px 20px}.visual-record-art{width:190px;height:145px;max-width:100%;filter:drop-shadow(0 3px 3px #29452d05)}.visual-record-card:hover .visual-record-art{animation:visual-art-greet 1.2s ease-in-out infinite}.visual-card-body{display:flex;flex-direction:column;flex:1 1;min-width:0;padding:6px 22px 20px}.visual-card-body h3{margin:0 0 8px;font-size:17px;line-height:1.4;color:#294a38;letter-spacing:-.015em;overflow-wrap:anywhere}.visual-card-body p{margin:0 0 16px;font-size:12px;line-height:1.6;color:#7b8c7f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.visual-card-body dl{margin:auto 0 0;display:grid;grid-gap:7px;gap:7px;padding-top:8px}.visual-card-body dl>div{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.visual-card-body dt{font-size:10px;color:#809186;flex-shrink:0}.visual-card-body dd{margin:0;text-align:right;font-size:11px;font-weight:650;color:#557061;overflow-wrap:anywhere}.visual-card-open{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--visual-line);padding-top:14px;margin-top:17px;color:var(--visual-accent);font-size:12px;font-weight:750}.visual-card-open b{font-size:18px}.garage-grid{background:#e3ebef;padding:22px;border:1px solid #d7e2e9;border-radius:22px;gap:24px}.garage-grid .visual-record-card{background:#f9fcff;border-color:#cddce6}.garage-grid .visual-art-wrap{min-height:192px;background:linear-gradient(90deg,#e7eff6,#e0eaf1);margin:15px 15px 10px;border-radius:10px;border:1px solid #d4e0e9}.garage-grid .visual-record-art{position:relative;z-index:2;height:164px;width:220px}.garage-bay-lines{position:absolute;inset:14px 34px 17px;border:2px solid #fafcfde0;border-bottom:0;border-radius:10px 10px 0 0}.garage-bay-lines:after{content:"";position:absolute;bottom:-7px;left:-7px;right:-7px;border-top:3px dashed #ffffffb5}.garage-grid .visual-card-reference{font-family:ui-monospace,monospace;color:#68849a;font-weight:750;letter-spacing:.08em}.garage-grid .visual-card-body h3{display:inline-flex;align-self:start;background:#f9f4e0;border:1px solid #ddd6b8;padding:5px 10px;border-radius:6px;font-family:ui-monospace,monospace;letter-spacing:.035em}.neighbourhood-grid .visual-art-wrap{background:linear-gradient(180deg,#f6faf3,#e7f0df);min-height:180px;margin-top:12px}.neighbourhood-grid .visual-record-art{width:210px;height:155px}.visual-report-card .visual-record-art{transform:rotate(-5deg)}.project-choice{--mood:#347e65;--mood-tint:#e7f2e8;padding:19px;text-align:left;background:#fff;border:1px solid var(--visual-line);border-radius:15px;color:#2b503e;font:inherit;cursor:pointer;transition:border-color .15s,transform .15s;min-width:0}.project-choice.mood-attention{--mood:#a45836;--mood-tint:#fbebe1}.project-choice.mood-waiting{--mood:#917025;--mood-tint:#faf0d8}.project-choice.mood-neutral{--mood:#6c7884;--mood-tint:#edf0f3}.project-choice.selected{border-color:#4c9a77;box-shadow:0 0 0 2px #72b59225}.project-choice:hover{transform:translateY(-2px);border-color:#88b59a}.project-choice>b{display:block;font-size:15px;line-height:1.5;margin:12px 0 5px;overflow-wrap:anywhere}.project-choice>small{font-size:11px;color:#7e9084}.project-choice-progress{display:flex;align-items:center;gap:12px;margin-top:18px}.project-choice-progress strong{font-size:13px;color:#477b60}.journey-milestones progress,.project-choice progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;background:#e7eee2}.journey-milestones progress::-webkit-progress-bar,.project-choice progress::-webkit-progress-bar{background:#e7eee2}.journey-milestones progress::-webkit-progress-value,.project-choice progress::-webkit-progress-value{background:#59a781;border-radius:99px}.journey-milestones progress::-moz-progress-bar,.project-choice progress::-moz-progress-bar{background:#59a781;border-radius:99px}#journey-focus{scroll-margin-top:110px;border-radius:21px}.project-journey{--visual-accent:#167a62;--visual-line:#dce7df;border:1px solid #d2e3d2;background:#fbfdf6;overflow:hidden;border-radius:21px;box-shadow:0 8px 24px #245b3610;color:#284b36}.journey-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 28px 16px}.journey-heading :is(h1,h2){font-size:24px;line-height:1.35;letter-spacing:-.025em;margin:7px 0 0;color:#284b36}.journey-percent{text-align:right;flex-shrink:0}.journey-percent strong{display:block;font-size:36px;line-height:1;color:#2c855f;letter-spacing:-.045em}.journey-percent small{font-size:19px}.journey-percent>span{display:block;margin-top:7px;font-size:10px;color:#7d907a}.journey-speech{display:flex;align-items:center;gap:17px;margin:0 27px;padding:10px 18px 8px;background:#eff5e7;border-radius:14px;border:1px solid #e0ead4}.journey-guide{flex:0 0 56px;width:56px;height:78px;overflow:visible}.journey-speech>div{flex:1 1}.journey-speech b{font-size:17px;color:#386246;line-height:1.5}.journey-speech p{font-size:12px;color:#78856a;margin:4px 0;line-height:1.65}.journey-attention .journey-speech,.journey-waiting .journey-speech{background:#fff3df;border-color:#e8d4b0}.journey-attention .journey-speech b,.journey-waiting .journey-speech b{color:#9d632e}.journey-attention .journey-percent strong{color:#a87636}.journey-complete .journey-speech{background:#e4f3df}.journey-landscape{display:block;width:100%;height:auto;margin-top:6px;max-height:340px}.journey-stages{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:5px;gap:5px;list-style:none;padding:0 22px;margin:0 0 22px}.journey-stages li{display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#84947b;line-height:1.4}.journey-stages li>span{display:grid;place-items:center;flex:0 0 23px;height:23px;width:23px;border-radius:50%;border:1px solid #d3dfc7;background:#f6f8ed;font-size:10px}.journey-stages .current{color:#34644c;font-weight:800}.journey-stages .current span{background:#3d8c69;color:#fff;border-color:#3d8c69;box-shadow:0 0 0 4px #79b59124}.journey-stages .passed span{background:#e1edda;color:#59936a;border-color:#c5ddbb}.journey-facts{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;grid-gap:20px;gap:20px;padding:20px 28px;border-top:1px solid #dfebd6;background:#f6f9ef}.journey-facts>div{min-width:0}.journey-facts span{display:block;font-size:10px;color:#7e9175}.journey-facts b{display:block;margin-top:6px;font-size:15px;color:#427054;overflow-wrap:anywhere}.journey-next{padding:0 26px 20px}.journey-next .visual-section-heading{margin-top:20px}.journey-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.journey-milestones>a{display:flex;flex-direction:column;gap:7px;min-width:0;padding:14px;border:1px solid #dfe9d7;border-radius:12px;background:#fffdf6}.journey-milestone-icon{font-size:19px;color:#559873}.journey-milestones b{font-size:12px;line-height:1.5;color:#486843;overflow-wrap:anywhere}.journey-milestones small{font-size:10px;line-height:1.5;color:#8a9680}.journey-milestones progress{margin-top:auto}.journey-no-milestones{margin:0;padding:19px 28px;font-size:12px;color:#819373;line-height:1.65}.visual-help{padding:16px 26px;border-top:1px solid #e3ebd7;color:#849378;font-size:11px}.visual-help summary{cursor:pointer}.visual-help p{font-size:12px;line-height:1.7;max-width:850px;margin:12px 0 0}.walker-person{transform-origin:0 -25px;animation:walker-bob 1.1s ease-in-out infinite}.walker-arm,.walker-leg{transform-box:fill-box;transform-origin:50% 0}.arm-two,.leg-one{animation:walker-stride 1.1s ease-in-out infinite}.arm-one,.leg-two{animation:walker-stride 1.1s ease-in-out infinite reverse}.walker-attention .walker-person{animation-duration:2.8s;transform:rotate(8deg)}.walker-attention .walker-arm,.walker-attention .walker-leg{animation-duration:2.8s}.walker-attention .walker-head{transform:translate(3px,4px) rotate(4deg)}.walker-fatigue{animation:walker-sweat 2.3s ease-out infinite}.walker-waiting .walker-person{animation:walker-wait 3s ease-in-out infinite}.walker-neutral *,.walker-waiting .walker-arm,.walker-waiting .walker-leg{animation:none}.walker-complete .walker-person{animation:walker-celebrate 2s ease-in-out infinite}.walker-complete .walker-leg{animation:none}.walker-complete .arm-two{transform:rotate(-90deg);animation:walker-wave 1s ease-in-out infinite}.visual-motion-paused *{animation:none!important;transition:none!important}.project-journey:has(.visual-help[open]){scroll-margin-top:100px}.visual-board-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0}.visual-board-footer p{color:#8a998e;font-size:11px}.visual-limit-note{padding:15px 18px;background:#f3f6ef;border:1px solid #e0e7db;border-radius:12px;color:#74816d;font-size:12px;line-height:1.6}.visual-limit-note a{text-decoration:underline;color:#457b5c}.visual-empty{text-align:center;display:flex;flex-direction:column;align-items:center;padding:50px 20px;background:#fafcf7;border:1px dashed #cfdccb;border-radius:18px}.visual-empty h2{font-size:21px;margin:17px 0 8px}.visual-empty p{font-size:13px;color:#7c8b75;line-height:1.7;margin:0 0 20px;max-width:420px}.visual-load-error{padding:25px;background:#fff5ed;border:1px solid #ebd5c4;border-radius:15px;margin:25px 0;color:#926843}.visual-load-error p{font-size:13px;line-height:1.6}.project-journey a:focus-visible,.project-journey summary:focus-visible,.visual-workspace a:focus-visible,.visual-workspace button:focus-visible,.visual-workspace input:focus-visible,.visual-workspace summary:focus-visible{outline:3px solid #91bdb0;outline-offset:4px}.visual-workspace input:focus{border-color:var(--visual-accent)}@keyframes walker-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-2px) rotate(2deg)}}@keyframes walker-stride{0%,to{transform:rotate(-19deg)}50%{transform:rotate(19deg)}}@keyframes walker-sweat{0%{opacity:0;transform:translateY(-3px)}40%{opacity:1}to{opacity:0;transform:translateY(9px)}}@keyframes walker-wait{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}@keyframes walker-celebrate{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-7px)}}@keyframes walker-wave{0%,to{transform:rotate(-100deg)}50%{transform:rotate(-70deg)}}@keyframes visual-art-greet{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-2deg)}}@media(max-width:1200px){.visual-workspace-header{align-items:flex-start;flex-direction:column;gap:16px}.visual-summary{gap:20px}.visual-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-search-row{align-items:stretch;flex-direction:column;gap:14px}.visual-filters{align-self:flex-start}.journey-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-facts>.visual-button{grid-column:1/-1;justify-self:end}.journey-stages li{flex-direction:column;font-size:9px}}@media(max-width:700px){.visual-workspace h1{font-size:28px}.visual-workspace-header p{font-size:13px}.visual-header-actions{width:100%}.visual-header-actions>.visual-primary{flex:1 1}.visual-shortcuts{gap:7px}.visual-shortcuts>a,.visual-tools>summary{font-size:11px;padding:10px 12px;gap:10px}.visual-motion-control{margin-left:0}.visual-summary{padding:17px;gap:16px;flex-wrap:wrap}.visual-summary>div{gap:7px;flex:1 1;align-items:flex-start;flex-direction:column}.visual-summary span{font-size:10px}.visual-summary p{width:100%;margin-left:0;font-size:10px}.visual-record-grid{gap:13px}.visual-card-body{padding:5px 16px 17px}.visual-art-wrap{min-height:125px;padding:4px 12px}.visual-record-art{height:116px;width:155px}.visual-card-top{padding:14px 13px 0;align-items:flex-start;flex-wrap:wrap;gap:5px}.visual-card-body h3{font-size:15px}.visual-card-body p{font-size:11px}.visual-card-body dl>div{display:block}.visual-card-body dd{text-align:left;margin-top:3px}.visual-card-open{font-size:11px}.visual-status{font-size:9px;padding:5px 8px}.garage-grid{padding:13px;gap:13px}.garage-grid .visual-art-wrap{margin:12px 9px 8px;min-height:144px}.garage-grid .visual-record-art{height:126px}.garage-bay-lines{inset:13px 16px 16px}.garage-grid .visual-card-body h3{font-size:12px;padding:5px 7px}.neighbourhood-grid .visual-art-wrap{min-height:142px}.neighbourhood-grid .visual-record-art{height:128px}.journey-heading{padding:20px 18px 15px;gap:12px}.journey-heading :is(h1,h2){font-size:19px}.journey-percent strong{font-size:29px}.journey-percent>span{font-size:9px}.journey-speech{margin:0 15px;padding:10px 12px;gap:9px;flex-wrap:wrap}.journey-guide{width:44px;flex-basis:44px;height:65px}.journey-speech b{font-size:15px}.journey-speech p{font-size:11px}.journey-speech>.visual-button{margin-left:53px;font-size:11px;min-height:36px}.journey-landscape{margin:14px 0;min-height:145px}.journey-scene-label{display:none}.journey-stages{gap:4px;padding:0 12px;margin-bottom:18px}.journey-stages li{font-size:8px;overflow-wrap:anywhere}.journey-stages li>span{width:20px;height:20px;flex-basis:20px;font-size:9px}.journey-facts{padding:18px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.journey-facts b{font-size:13px}.journey-facts>.visual-button{grid-column:auto;justify-self:stretch;font-size:11px}.journey-next{padding:0 15px 18px}.journey-milestones>a{padding:12px}.journey-milestones b{font-size:11px}.visual-help{padding:14px 18px;font-size:10px}.project-choice{padding:15px}.project-choice>b{font-size:13px}.visual-section-heading h2{font-size:18px}.visual-section-heading a{font-size:11px}}@media(max-width:440px){.project-picker-grid,.visual-record-grid{grid-template-columns:1fr}.garage-grid .visual-art-wrap{min-height:180px}.garage-grid .visual-record-art{height:158px}.garage-grid .visual-card-body h3{font-size:16px}.visual-card-body h3{font-size:17px}.visual-card-body p{font-size:12px}.visual-card-body dl>div{display:flex}.visual-card-body dd{text-align:right;margin:0}.visual-art-wrap{min-height:150px}.visual-record-art{width:190px;height:140px}.visual-filters{gap:2px;padding:4px}.visual-filters button{font-size:11px;padding:9px}.journey-heading{align-items:flex-start}.journey-percent>span{max-width:60px;line-height:1.5}.journey-stages li{font-size:7px}.journey-speech>.visual-button{margin-left:0;width:100%}.journey-milestones{grid-template-columns:1fr 1fr}.visual-section-heading{align-items:flex-start}.visual-tools[open]>div{max-width:calc(100vw - 60px);min-width:210px}}@media(prefers-reduced-motion:reduce){.project-journey *,.visual-workspace *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.project-record-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 20px}.journey-heading-controls{display:flex;align-items:flex-end;flex-direction:column;gap:7px;flex-shrink:0}.journey-heading-controls .visual-motion-control{padding:6px 0;font-size:10px}.live-records .data-table{font-size:12px}.live-records .data-table td,.live-records .data-table th{padding:14px 13px;line-height:1.6}.live-records .register-toolbar{padding:17px}.live-records .register-filter,.live-records .register-search{min-height:42px;font-size:13px}.live-records .row-action{min-height:36px;display:inline-flex;align-items:center;font-size:12px}.workspace-tabs .workspace-tab{font-size:12px;min-height:42px;line-height:1.5}.module-hero h1{font-size:28px}.module-hero p{font-size:13px;line-height:1.65}.form-grid .field>span{font-size:12px;line-height:1.5}.form-grid .field input,.form-grid .field select,.form-grid .field textarea{font-size:14px;min-height:44px}.form-grid .field small{font-size:11px;line-height:1.6}.form-actions .btn{min-height:43px;font-size:12px}.topbar{gap:16px;flex-wrap:wrap}.topbar-left{flex:1 1 200px}.topbar-left,.topbar-left>div{min-width:0;max-width:100%}.topbar-sub,.topbar-title{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{flex:1 1 580px;flex-wrap:wrap;justify-content:flex-end}.institution-switcher-form,.topbar-right{min-width:0;max-width:100%}@media(max-width:900px){.topbar-right{justify-content:flex-start}}.space-console{--sc-ink:#193149;--sc-muted:#63758a;--sc-line:#e1e8ef;--sc-teal:#138c70;color:var(--sc-ink)}.sc-hero{display:flex;align-items:center;gap:20px;padding:26px 30px;border:1px solid var(--sc-line);border-radius:20px;background:linear-gradient(120deg,#edf7f3,#f7fafc 70%);margin-bottom:20px}.sc-hero h1{font-size:clamp(24px,2.8vw,36px);letter-spacing:-1px;margin:5px 0 8px}.sc-hero p{margin:0;color:var(--sc-muted);line-height:1.6}.sc-hero-icon{width:68px;height:68px;padding:14px;border-radius:20px;flex-shrink:0;background:#d9eee5;color:var(--sc-teal)}.sc-hero-icon svg,.sc-plan-empty>svg{width:100%;height:100%}.sc-hero-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.sc-hero-actions .btn{white-space:nowrap}.sc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.sc-metrics>div{background:#fff;border:1px solid var(--sc-line);border-radius:16px;padding:18px 20px;display:grid;grid-gap:6px;gap:6px}.sc-metrics span{font-size:12px;font-weight:650;color:var(--sc-muted)}.sc-metrics strong{font-size:29px;line-height:1.2}.sc-metrics small{font-size:11px;color:var(--sc-muted);line-height:1.5}.sc-controls{display:grid;grid-template-columns:1.3fr 1.7fr 1fr 1fr 1fr;grid-gap:12px;gap:12px;padding:18px;margin-bottom:18px}.space-console label{display:grid;grid-gap:7px;gap:7px;min-width:0}.space-console label>span{font-size:11px;font-weight:650;color:var(--sc-muted)}.space-console input,.space-console select,.space-console textarea{width:100%;min-width:0;border:1px solid #d5dfe9;border-radius:9px;background:#fff;color:var(--sc-ink);padding:10px 11px;font:inherit;font-size:12px;line-height:1.4}.space-console textarea{resize:vertical}.space-console :is(button,input,select,textarea,a):focus-visible{outline:3px solid #2b9b8a;outline-offset:3px}.space-console button{font:inherit;cursor:pointer}.space-console button:disabled{cursor:not-allowed;opacity:.5}.sc-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr);grid-gap:18px;gap:18px;align-items:start}.sc-layout[aria-busy=true]{opacity:.7}.sc-detail,.sc-explorer{min-width:0;overflow:hidden;padding:0}.sc-explorer-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 22px 16px}.sc-detail-header h2,.sc-explorer-header h2{font-size:20px;margin:5px 0 7px;line-height:1.3}.sc-detail-header p,.sc-explorer-header p{font-size:12px;color:var(--sc-muted);margin:0;line-height:1.5}.sc-switch{display:flex;border:1px solid var(--sc-line);border-radius:10px;overflow:hidden;flex-shrink:0}.sc-switch button{padding:9px 11px;background:#fff;border:0;color:var(--sc-muted);font-size:11px}.sc-switch button[aria-pressed=true]{background:#e8f5ef;color:#08705b;font-weight:700}.sc-map-options{display:flex;gap:12px;align-items:flex-end;margin:0 22px 14px}.sc-map-options label{flex:1 1}.sc-map-options label:first-child{max-width:200px}.sc-legend{display:flex;flex-wrap:wrap;gap:9px 13px;padding:0 22px 17px;border-bottom:1px solid var(--sc-line)}.sc-legend span{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--sc-muted)}.sc-legend i{width:8px;height:8px;border-radius:3px;flex-shrink:0}.sc-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:13px;gap:13px;padding:20px;background:#f7f9fc}.sc-room-card{text-align:left;padding:15px 12px 12px;border:1px solid var(--sc-line);border-top:4px solid;border-radius:12px;background:#fff;color:var(--sc-ink);min-width:0;transition:box-shadow .15s,transform .15s;content-visibility:auto;contain-intrinsic-size:auto 230px}.sc-room-card:hover{box-shadow:0 5px 15px #19314912;transform:translateY(-2px)}.sc-room-card.is-selected{outline:2px solid #193149;outline-offset:2px}.sc-room-door{position:relative;width:43px;height:48px;margin-bottom:10px}.sc-room-door svg{width:43px;height:48px;opacity:.4}.sc-room-door>span{position:absolute;left:24px;bottom:5px;padding:3px 5px;background:#fff;border:1px solid;border-radius:5px;font-size:11px;font-weight:750;white-space:nowrap}.sc-room-card h3{font-size:13px;line-height:1.4;margin:5px 0;overflow-wrap:anywhere}.sc-room-card>p{margin:0 0 9px}.sc-room-card>p,.sc-room-card>small{font-size:10px;color:var(--sc-muted)}.sc-room-card>small{display:block;margin-top:8px;line-height:1.5}.sc-room-card-footer{border-top:1px solid var(--sc-line);margin-top:10px;padding-top:9px;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;font-size:9px;color:var(--sc-muted);line-height:1.4}.sc-room-card-footer b{color:#b5423f}.sc-badge{display:inline-block;font-size:10px;font-weight:750;line-height:1.3;padding:5px 7px;background:#f3f6f9;border-radius:7px}.sc-notice{font-size:12px;line-height:1.6;border-radius:10px;padding:12px 15px;background:#eef3fa;margin:0 0 16px;overflow-wrap:anywhere}.sc-success{background:#e7f6ee;color:#1c6751}.sc-error{background:#fbeeea;color:#973d32}.sc-zoom{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 20px;font-size:10px;color:var(--sc-muted)}.sc-zoom>div{display:flex;gap:5px}.sc-zoom button{border:1px solid var(--sc-line);border-radius:6px;padding:5px 9px;background:#fff;color:var(--sc-ink)}.sc-drawing-scroll{max-height:620px;overflow:auto;background:#f5f7fa;min-height:200px;touch-action:pan-x pan-y}.sc-drawing{display:block;height:auto;max-width:none}.sc-drawing polygon{cursor:pointer}.sc-drawing polygon:focus{stroke:#142f49;stroke-width:5}.sc-room-label{fill:#193149;stroke:#fff;stroke-width:3px;paint-order:stroke;font-weight:750}.sc-plan-empty{text-align:center;padding:40px 25px;background:#f7f9fc}.sc-plan-empty>svg{width:58px;height:58px;color:#9eb5c7}.sc-plan-empty h3{font-size:18px}.sc-plan-empty p{max-width:430px;margin:10px auto 20px;font-size:12px;line-height:1.7;color:var(--sc-muted)}.sc-plan-empty .btn{margin:4px}.sc-detail{position:-webkit-sticky;position:sticky;top:20px;scroll-margin-top:20px}.sc-detail-header{padding:24px 22px 20px;background:linear-gradient(135deg,#f4f9fc,#fff)}.sc-room-reference{font-size:11px;font-weight:750;background:#e7eef6;color:#315574;padding:5px 9px;border-radius:7px}.sc-detail-header .sc-badge{margin-top:12px}.sc-text-link{display:block;color:#16836b;font-size:11px;font-weight:650;padding:14px 22px;text-decoration:none}.sc-detail-header .sc-text-link{padding:12px 0 0}.sc-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:8px 12px;border-top:1px solid var(--sc-line);border-bottom:1px solid var(--sc-line)}.sc-tabs button{border:0;background:transparent;border-radius:7px;padding:9px 10px;font-size:10px;color:var(--sc-muted)}.sc-tabs button[aria-selected=true]{background:#e8f5ef;color:#08705b;font-weight:750}.sc-tab-panel{padding:20px 22px}.sc-tab-panel>h3{font-size:14px;margin:0 0 14px}.sc-empty{font-size:12px;line-height:1.7;padding:20px;color:var(--sc-muted);margin:0}.sc-tab-panel>.sc-empty{padding:8px 0 17px}.sc-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:17px 12px;gap:17px 12px;margin:0 0 20px}.sc-facts dt{font-size:10px;color:var(--sc-muted);margin-bottom:4px}.sc-facts dd{font-size:13px;font-weight:650;margin:0;overflow-wrap:anywhere}.sc-survey{padding:12px;background:#f4f8fc;border-radius:10px;margin-top:18px}.sc-survey p{font-size:11px;line-height:1.6;color:var(--sc-muted);margin:0 0 12px}.sc-disclosure{border-top:1px solid var(--sc-line);margin-top:20px;padding-top:15px}.sc-disclosure summary{cursor:pointer;font-size:12px;font-weight:650;line-height:1.5}.sc-form{display:grid;grid-gap:13px;gap:13px;margin-top:16px}.sc-form .btn{justify-self:start}.sc-form .btn,.sc-person-actions .btn,.sc-survey .btn{font-size:11px;max-width:100%;white-space:normal}.sc-person{position:relative;display:flex;gap:10px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--sc-line);flex-wrap:wrap}.sc-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf0f7;color:#497293;font-size:14px;font-weight:700}.sc-person>div:nth-child(2){flex:1 1}.sc-person b{display:block;font-size:12px}.sc-person small{display:block;font-size:10px;color:var(--sc-muted);margin-top:5px}.sc-person-actions{flex-basis:100%;padding-left:42px}.sc-person-actions summary{font-size:10px;cursor:pointer;color:#16836b}.sc-person-actions>form:last-child{margin-top:12px}.sc-history{padding-left:20px;font-size:11px;line-height:1.6}.sc-history li{margin:15px 0}.sc-history b,.sc-history small,.sc-history span{display:block}.sc-history small{color:var(--sc-muted);white-space:pre-line;overflow-wrap:anywhere}.sc-record-list{display:grid;grid-gap:9px;gap:9px}.sc-record-list>a{display:grid;grid-gap:5px;gap:5px;padding:12px;border:1px solid var(--sc-line);border-radius:10px;text-decoration:none;color:var(--sc-ink)}.sc-record-list>a:hover{background:#f5f9fc}.sc-record-list b{font-size:12px;line-height:1.5}.sc-record-list small,.sc-record-list span{font-size:10px;line-height:1.5;color:var(--sc-muted)}.sc-linked-venue{display:grid;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--sc-line);margin-bottom:12px}.sc-linked-venue b{font-size:13px}.sc-linked-venue .btn{justify-self:start;font-size:11px}.sc-text-button{border:0;background:none;color:#687991;font-size:10px;padding:0}@media(min-width:1600px){.sc-room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.sc-hero{flex-wrap:wrap}.sc-hero-actions{margin-left:88px;justify-content:flex-start}.sc-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.sc-search{grid-column:span 2}.sc-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr)}.sc-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-explorer-header{flex-wrap:wrap}}@media(max-width:900px){.sc-layout{grid-template-columns:1fr}.sc-detail{position:static}.sc-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-hero-actions{margin-left:0;width:100%}}@media(max-width:560px){.sc-hero{padding:20px;gap:14px}.sc-hero-icon{width:45px;height:45px;padding:9px;border-radius:12px}.sc-hero>div:nth-child(2){flex:1 1}.sc-hero h1{font-size:24px}.sc-hero p{font-size:12px}.sc-controls{grid-template-columns:1fr 1fr;padding:14px}.sc-search{order:-1}.sc-controls>label:first-child,.sc-search{grid-column:span 2}.sc-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}.sc-detail-header,.sc-explorer-header,.sc-tab-panel{padding:18px}.sc-map-options{margin:0 18px 12px;flex-wrap:wrap}.sc-legend{padding:0 18px 15px}.sc-map-options label:first-child{max-width:none}.sc-map-options label{min-width:130px}.sc-metrics>div{padding:14px}.sc-metrics strong{font-size:25px}.sc-zoom{flex-wrap:wrap}.sc-tabs button{padding:8px}.sc-hero-actions .btn{font-size:10px;padding:8px 11px}}@media(prefers-reduced-motion:reduce){.sc-room-card{transition:none;content-visibility:auto;contain-intrinsic-size:auto 230px}.sc-room-card:hover{transform:none}}