@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#122532; --muted:#687985; --paper:#f4f6f4; --card:#fff; --line:#dfe6e5; --teal:#008b80; --teal-dark:#006d67; --teal-soft:#e0f4ef; --amber:#bf7600; --amber-soft:#fff1d4; --red:#bc3d32; --red-soft:#ffe7e3; --blue:#3975bd; --blue-soft:#e7f0fb; --nav:#10232f; --nav-light:#1b3442; --shadow:0 8px 26px rgba(30,58,64,.08); }
*{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:5;top:0;left:0;height:100vh;width:253px;padding:25px 17px 20px;background:var(--nav);color:#d9e5e8;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 29px}.brand-mark{height:38px;width:38px;border-radius:11px;display:grid;place-items:center;background:#e9f2f0;color:#153541;font-weight:800;letter-spacing:-1px}.brand strong,.brand span{display:block}.brand strong{font-size:16px;color:#fff;letter-spacing:-.4px}.brand span{font-size:10px;letter-spacing:1.25px;text-transform:uppercase;color:#93aab1;margin-top:1px}.site-switcher{border-top:1px solid rgba(223,241,240,.13);padding:19px 10px 20px}.site-switcher label{display:block;color:#8ba1a9;font-size:9px;letter-spacing:1.25px;font-weight:800;margin-bottom:7px}.site-switcher select,.top-actions select{width:100%;border:1px solid #3b535f;color:#eef5f4;background:#19323e;border-radius:7px;padding:9px 25px 9px 10px;font:600 12px Manrope;outline:none}.nav-list{display:grid;gap:3px}.nav-item{color:#b5c7cc;border:0;background:none;border-radius:8px;padding:11px 12px;display:flex;align-items:center;gap:12px;font:600 12px Manrope;text-align:left;cursor:pointer}.nav-item span{font:18px/12px Arial;color:#93adb4;width:16px;text-align:center}.nav-item em{font:700 10px 'DM Mono';font-style:normal;margin-left:auto;color:#183640;background:#84d4c5;padding:2px 6px;border-radius:8px}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:#23424d;color:#fff}.nav-item.active span{color:#8be0d0}.sidebar-footer{margin-top:auto;padding:13px 10px 2px;border-top:1px solid rgba(223,241,240,.13)}.role-pill{font-size:10px;color:#9eb4ba;display:flex;align-items:center;gap:7px;margin-bottom:15px}.status-dot{height:7px;width:7px;background:#76d8ac;border-radius:50%;box-shadow:0 0 0 3px rgba(118,216,172,.12)}.text-button,.link-button,.more-button{border:0;background:none;padding:0;color:inherit;font:600 11px Manrope;cursor:pointer}.text-button{color:#93abb2;text-decoration:underline;text-underline-offset:3px}.main-content{margin-left:253px;flex:1;min-width:0;padding:0 38px 46px}.topbar{height:95px;display:flex;align-items:center;justify-content:space-between}.page-heading p,.section-kicker,.card-label{margin:0;color:#72828a;font:700 9px 'DM Mono',monospace;letter-spacing:1.18px}.page-heading h1{font-size:22px;letter-spacing:-.8px;margin:5px 0 0}.top-actions{display:flex;align-items:center;gap:12px}.top-actions select{background:#fff;color:#3f525d;border-color:#dce5e4;width:128px;padding:8px 10px;font-size:11px}.icon-button,.user-avatar,.mobile-menu,.close-button{border:0;background:#fff;color:#29404a;cursor:pointer}.icon-button{height:33px;width:33px;border-radius:50%;position:relative;font-size:21px}.notification-dot{position:absolute;height:6px;width:6px;border-radius:50%;background:#e55a49;right:7px;top:6px}.user-avatar{height:34px;width:34px;border-radius:50%;background:#183a46;color:#e1f2ed;font:700 10px Manrope}.mobile-menu{display:none}.view{display:none}.view.active{display:block}.alert-strip{border:1px solid #efdba9;background:#fff9e9;border-radius:8px;min-height:54px;padding:10px 15px;display:flex;align-items:center;gap:11px;color:#604b17}.alert-icon{height:23px;width:23px;flex:0 0 23px;border-radius:50%;display:grid;place-items:center;background:#f6d383;font-size:14px;font-weight:800}.alert-strip strong,.alert-strip span{display:block}.alert-strip strong{font-size:11px}.alert-strip span{font-size:10px;margin-top:2px;color:#887343}.alert-strip .link-button{margin-left:auto;color:#94610c;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px;margin:18px 0 30px}.card{background:var(--card);border:1px solid #e3e9e8;border-radius:10px;box-shadow:var(--shadow)}.hero-card{min-height:139px;padding:19px 21px}.health-content{display:flex;align-items:flex-end;gap:16px;margin:9px 0 13px}.health-score strong{font-size:42px;line-height:.9;letter-spacing:-2px}.health-score span{font-size:12px;color:#74848a;font-weight:700}.health-copy{padding-bottom:1px}.health-copy strong,.health-copy span{display:block}.health-copy strong{font-size:11px;color:#067c71}.health-copy span{font-size:10px;color:#71818b;max-width:170px;margin-top:3px}.health-bar{height:6px;border-radius:9px;background:#e4edeb;overflow:hidden}.health-bar span{display:block;background:linear-gradient(90deg,#15ac97,#008077);height:100%;width:91%;border-radius:9px}.health-note{font-size:9px;color:#71818b;margin-top:8px}.health-note span{color:#02a891}.mini-card{min-height:139px;padding:19px 17px;display:flex;flex-direction:column}.mini-card strong{font-size:30px;letter-spacing:-1.2px;margin-top:11px}.mini-card small{font-size:10px;color:#71818b;margin-top:auto;line-height:1.4}.accent-teal{border-top:3px solid #29aa9b}.accent-amber{border-top:3px solid #e0a121}.accent-blue{border-top:3px solid #6699d0}.section-header{display:flex;justify-content:space-between;align-items:end;margin:0 0 11px}.section-header h2,.view-intro h2{margin:3px 0 0;font-size:18px;letter-spacing:-.6px}.section-header.compact{margin-top:28px}.secondary-button,.primary-button{border-radius:6px;padding:9px 13px;border:1px solid #ccd9d8;background:#fff;color:#30505a;font:700 11px Manrope;cursor:pointer;transition:.16s}.secondary-button:hover{background:#f1f6f5}.primary-button{background:#087f75;border-color:#087f75;color:#fff}.primary-button:hover{background:#006f67}.priority-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}.work-queue{overflow:hidden}.queue-item{min-height:67px;padding:12px 16px;display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:11px;border-bottom:1px solid #edf0f0}.queue-item:last-child{border-bottom:0}.priority-bar{height:33px;border-radius:8px;width:4px}.priority-bar.critical{background:var(--red)}.priority-bar.high{background:#e5952e}.priority-bar.medium{background:#5796cc}.priority-bar.low{background:#65b899}.queue-main strong,.queue-main span{display:block}.queue-main strong{font-size:11px}.queue-main span{font-size:10px;color:#74838a;margin-top:3px}.queue-meta{text-align:right}.queue-meta strong{font:600 10px 'DM Mono';color:#41565f;display:block}.queue-meta span{font-size:9px;color:#9aa6aa}.reliability-pulse{padding:17px}.card-title-row{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.card-title-row h3{font-size:13px;margin:3px 0 0}.more-button{font-size:9px;color:#087e73;white-space:nowrap}.pattern-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid #edf0f0}.pattern-row:last-child{border:0}.pattern-row strong,.pattern-row span{display:block}.pattern-row strong{font-size:10px}.pattern-row span{font-size:9px;color:#71828a;margin-top:2px}.pattern-count{font:700 10px 'DM Mono';color:#c36f11;background:#fff3da;height:min-content;padding:4px 6px;border-radius:4px}.activity-card{padding:0 17px}.activity{display:grid;grid-template-columns:28px 1fr auto;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f0}.activity:last-child{border:0}.activity-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--teal-soft);color:#08786f;font-size:12px;font-weight:800}.activity-content strong,.activity-content span{display:block}.activity-content strong{font-size:10px}.activity-content span{font-size:9px;color:#74848b;margin-top:2px}.activity time{font:10px 'DM Mono';color:#99a6aa}.view-intro{display:flex;align-items:flex-end;justify-content:space-between;margin:7px 0 21px}.view-intro h2{font-size:24px}.view-intro p:not(.section-kicker){font-size:11px;color:#71818a;margin:5px 0 0;max-width:560px}.intro-actions{display:flex;gap:8px;align-items:center}.upload-label{display:inline-flex;align-items:center;cursor:pointer}.filter-row{display:flex;gap:10px;align-items:center;margin-bottom:13px}.search-wrap{width:300px;border:1px solid #d6e0df;background:#fff;border-radius:7px;padding:0 11px;display:flex;align-items:center;gap:7px}.search-wrap span{font-size:20px;color:#85949a}.search-wrap input{height:34px;min-width:0;width:100%;border:0;outline:0;background:transparent;font:11px Manrope}.filter-row select,.intro-actions input[type=week]{height:35px;border:1px solid #d6e0df;background:#fff;border-radius:7px;color:#4c5e65;padding:0 11px;font:600 11px Manrope;outline:0}.result-count{font:600 10px 'DM Mono';color:#7a898e;margin-left:auto}.table-card{overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:740px}th{height:40px;background:#f7f9f8;border-bottom:1px solid #e5eaea;text-align:left;padding:0 15px;color:#7e8c92;font:700 9px 'DM Mono';letter-spacing:.8px}td{padding:12px 15px;border-bottom:1px solid #eef1f1;vertical-align:middle;font-size:10px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfcfc}.asset-name strong,.asset-name span{display:block}.asset-name strong{font-size:11px}.asset-name span{font:9px 'DM Mono';color:#87949a;margin-top:2px}.muted-cell{color:#75868d;font-size:10px}.badge,.status-badge{display:inline-block;border-radius:10px;padding:4px 7px;font:700 9px 'DM Mono';white-space:nowrap}.badge.critical{color:#ad392f;background:var(--red-soft)}.badge.high{color:#ab6800;background:var(--amber-soft)}.badge.medium{color:#2e6fac;background:var(--blue-soft)}.badge.low{color:#258167;background:#dff4ea}.health-tag{font:700 9px 'DM Mono';color:#087c71;background:var(--teal-soft);padding:4px 7px;border-radius:4px}.health-tag.watch{color:#ac6500;background:var(--amber-soft)}.health-tag.risk{color:#ae3c31;background:var(--red-soft)}.table-action{border:0;background:none;color:#087e73;font:700 10px Manrope;cursor:pointer}.work-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.summary-tile{padding:14px 16px;background:#fff;border:1px solid #e1e9e7;border-radius:8px}.summary-tile span,.summary-tile strong{display:block}.summary-tile span{color:#72828a;font:700 9px 'DM Mono';letter-spacing:.8px}.summary-tile strong{font-size:22px;margin-top:5px}.segmented{background:#e8eeee;border-radius:7px;padding:3px;display:flex}.segmented button{border:0;border-radius:5px;padding:6px 10px;background:transparent;color:#667980;font:700 10px Manrope;cursor:pointer}.segmented button.selected{background:#fff;color:#13323b;box-shadow:0 1px 2px #d5dddd}.status-badge.open{color:#b16c05;background:#fff0cf}.status-badge.closed{color:#168062;background:#ddf3e8}.status-badge.in-progress{color:#2b6ba9;background:#e6f0fb}.work-description strong,.work-description span{display:block}.work-description strong{font-size:10px}.work-description span{font-size:9px;color:#75858c;margin-top:3px;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.improvement-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.improvement-stats .summary-tile{padding:15px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-card{padding:17px;min-height:212px;display:flex;flex-direction:column}.plan-top{display:flex;justify-content:space-between;gap:6px;align-items:start}.plan-card h3{font-size:13px;letter-spacing:-.2px;margin:8px 0 4px}.plan-card p{font-size:10px;color:#6e8088;line-height:1.55;margin:0}.plan-asset{font:600 9px 'DM Mono';color:#57717a;margin-top:9px}.plan-progress-label{display:flex;justify-content:space-between;color:#74848a;font-size:9px;margin-top:auto;padding-top:17px}.plan-progress{height:5px;background:#e6eeec;border-radius:6px;margin:5px 0 9px;overflow:hidden}.plan-progress span{display:block;height:100%;background:#169488;border-radius:6px}.plan-footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#788990}.plan-footer strong{color:#31515b}.report-paper{background:#fff;max-width:1060px;margin:0 auto;border:1px solid #dbe4e2;border-radius:9px;padding:35px 39px 20px;box-shadow:var(--shadow)}.report-heading{display:flex;justify-content:space-between;border-bottom:2px solid #163a45;padding-bottom:20px}.report-brand{font:700 10px 'DM Mono';color:#557079;letter-spacing:.2px}.report-brand span{background:#163a45;color:#fff;padding:4px 5px;border-radius:3px;margin-right:5px}.report-heading h2{margin:12px 0 4px;font-size:25px;letter-spacing:-1px}.report-heading p{margin:0;color:#667b83;font:10px 'DM Mono'}.report-site{text-align:right}.report-site span,.report-site strong{display:block}.report-site span{font:700 9px 'DM Mono';color:#819099}.report-site strong{margin-top:6px;font-size:13px}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #e0e8e5;margin:22px 0}.report-metric{padding:16px 18px;border-right:1px solid #e0e8e5}.report-metric:last-child{border-right:0}.report-metric span,.report-metric strong,.report-metric small{display:block}.report-metric span{font:700 9px 'DM Mono';color:#76878e}.report-metric strong{font-size:24px;letter-spacing:-1px;margin:5px 0 2px}.report-metric small{font-size:9px;color:#87969b}.report-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;margin:20px 0}.report-paper h3{font-size:11px;margin:0 0 10px}.report-list{border-top:1px solid #e7edeb}.report-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:9px 0;border-bottom:1px solid #e7edeb;font-size:10px}.report-row span{color:#65787f}.report-row strong{font:600 10px 'DM Mono'}.report-actions{background:#eff7f4;border-radius:5px;padding:13px 16px}.action-item{font-size:10px;color:#526a70;padding:5px 0;border-bottom:1px solid #d9e9e2}.action-item:last-child{border:0}.action-item:before{content:'→';color:#008476;font-weight:bold;margin-right:8px}.report-paper footer{color:#88969a;font:9px 'DM Mono';margin-top:22px;text-align:center}.modal-backdrop{position:fixed;z-index:60;inset:0;padding:20px;background:rgba(13,31,40,.48);display:grid;place-items:center}.modal-backdrop[hidden]{display:none}.modal{width:min(590px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:11px;padding:23px;box-shadow:0 20px 80px rgba(7,26,34,.35)}.modal-header{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid #e6ebea;padding-bottom:15px}.modal-header h2{font-size:19px;margin:4px 0 0}.close-button{height:28px;width:28px;border-radius:50%;font-size:23px;line-height:1}.record-form{padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-field{display:grid;gap:5px}.form-field.full{grid-column:1/-1}.form-field label{font:700 9px 'DM Mono';color:#63777f;letter-spacing:.6px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #d7e1df;border-radius:6px;padding:9px 10px;color:#233d46;background:#fff;font:11px Manrope;outline-color:#0a8377}.form-field textarea{resize:vertical;min-height:74px}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:7px}.toast{position:fixed;z-index:70;bottom:25px;right:25px;transform:translateY(80px);opacity:0;background:#14323c;color:#fff;padding:11px 15px;border-radius:7px;font:600 11px Manrope;box-shadow:var(--shadow);transition:.25s}.toast.show{transform:translateY(0);opacity:1}
@media(max-width:1120px){.dashboard-grid{grid-template-columns:1.6fr 1fr 1fr}.dashboard-grid .mini-card:last-child{display:none}.plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;padding:0 18px 34px}.topbar{height:76px;gap:6px}.mobile-menu{display:block;margin-right:6px;font-size:19px}.page-heading{margin-right:auto;min-width:0}.page-heading h1{overflow-wrap:anywhere}.top-actions{gap:6px;flex:0 0 auto}.top-actions select,.top-actions .icon-button,.top-actions .user-avatar{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.hero-card{grid-column:1/-1}.priority-layout,.report-columns{grid-template-columns:1fr}.view-intro{align-items:start;gap:15px;flex-direction:column}.report-paper{padding:23px 20px}.report-heading{gap:14px}.report-site{font-size:11px}.plan-grid{grid-template-columns:1fr}.intro-actions{flex-wrap:wrap}.work-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.main-content{padding:0 12px 25px}.page-heading h1{font-size:18px}.page-heading p{font-size:8px}.user-avatar{display:none}.dashboard-grid{gap:10px}.mini-card{padding:14px;min-height:120px}.mini-card strong{font-size:25px}.hero-card{padding:16px}.health-score strong{font-size:37px}.alert-strip{padding:10px}.alert-strip .link-button{display:none}.section-header h2{font-size:16px}.filter-row{flex-wrap:wrap}.search-wrap{width:100%}.filter-row .result-count{margin-left:0}.work-summary,.improvement-stats{gap:8px}.summary-tile{padding:12px}.report-metrics{grid-template-columns:1fr 1fr}.report-metric:nth-child(2){border-right:0}.report-metric:nth-child(-n+2){border-bottom:1px solid #e0e8e5}.report-heading h2{font-size:20px}.record-form{grid-template-columns:1fr}.form-field.full{grid-column:auto}}
@media print{body{background:#fff}.sidebar,.topbar,.view:not(#reportsView),.view-intro,.modal-backdrop,.toast{display:none!important}.main-content{margin:0;padding:0}.view#reportsView{display:block!important}.report-paper{box-shadow:none;border:0;max-width:none;margin:0;border-radius:0;padding:0}.report-paper footer{margin-top:16px}}
.create-site-button{width:100%;margin-top:8px;padding:7px 2px;border:1px dashed #56727a;background:transparent;color:#9fd5cb;border-radius:6px;font:700 10px Manrope;cursor:pointer}.create-site-button:hover{background:#23424d}.workspace-switch{padding:0 10px 18px}.workspace-switch button{width:100%;border:1px solid #3a5660;background:#17323e;color:#c4d6d8;border-radius:7px;padding:8px 9px;text-align:left;font:700 10px Manrope;cursor:pointer}.workspace-switch button span{margin-right:7px;color:#91d9cb}.workspace-switch button:hover{background:#23424d}.workspace-switch p{margin:7px 1px 0;color:#7e98a0;font:9px 'DM Mono'}.design-credit{display:block;color:#779199;font:9px 'DM Mono';line-height:1.45}.user-identity{border:0;background:transparent;display:flex;align-items:center;gap:7px;cursor:pointer;color:#425861;font:700 10px Manrope;padding:0}.user-identity:hover #currentUserName{text-decoration:underline;text-underline-offset:3px}.mode-banner{border:1px solid #cfe8e2;background:#ecf8f4;color:#205950;border-radius:8px;min-height:49px;padding:9px 14px;display:flex;align-items:center;gap:10px;margin-bottom:12px}.mode-banner.demo{border-color:#cbdcf0;background:#edf4fc;color:#295d91}.mode-banner>span{font-size:15px;color:#0a9b87}.mode-banner.demo>span{color:#4b88cc}.mode-banner strong,.mode-banner div span{display:block}.mode-banner strong{font-size:10px}.mode-banner div span{font-size:9px;color:#5e7c79;margin-top:2px}.mode-banner.demo div span{color:#6681a1}.mode-banner .link-button{margin-left:auto;color:#087e73;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.mode-banner.demo .link-button{color:#3475b9}.process-flow-card{padding:17px;margin-bottom:29px}.flow-caption{font:700 9px 'DM Mono';color:#7a8a8e}.process-flow{display:flex;align-items:stretch;gap:5px;overflow:auto;padding:2px 0 3px}.flow-step{min-width:135px;flex:1;border:1px solid #dbe8e5;background:#fbfdfc;border-radius:7px;padding:10px 9px;text-align:left;color:#26464f;cursor:pointer;transition:.16s}.flow-step:hover{border-color:#64b9aa;background:#edf8f5;transform:translateY(-2px);box-shadow:0 4px 12px rgba(5,112,98,.1)}.flow-step span,.flow-step strong,.flow-step small{display:block}.flow-icon{height:23px;width:23px;display:grid;place-items:center;border-radius:6px;background:#dff3ef;color:#087c71;font:700 13px Arial;margin-bottom:7px}.flow-step strong{font-size:10px}.flow-step small{font-size:9px;color:#71838a;margin-top:3px}.flow-arrow{align-self:center;color:#9db3b1;font-size:17px}.empty-state{padding:21px 17px;color:#74858c;font-size:10px;line-height:1.5}.empty-state strong{color:#294851}.history-box{grid-column:1/-1;border-top:1px solid #e7eceb;padding-top:12px}.history-box h3{font-size:10px;margin:0 0 7px}.history-item{font-size:9px;color:#61757c;padding:5px 0;border-bottom:1px solid #f0f2f2}.history-item:last-child{border-bottom:0}.history-item strong{color:#32525c}
@media(max-width:820px){.process-flow{padding-bottom:6px}.flow-step{min-width:146px}.flow-arrow{display:none}.mode-banner{align-items:flex-start}.user-identity #currentUserName{display:none}}
.brand-logo{width:45px;height:34px;object-fit:contain;object-position:left center}.asset-detail-grid{display:grid;grid-template-columns:280px 1fr;gap:15px}.asset-identity-card,.asset-overview-card,.detail-wide{padding:19px}.asset-tag-heading{display:flex;justify-content:space-between;align-items:start}.asset-tag-heading strong{display:block;font:700 18px 'DM Mono';margin-top:6px;color:#173c47}.asset-qr{display:block;width:168px;height:168px;object-fit:contain;margin:17px auto 9px;padding:6px;border:1px solid #dce5e3;border-radius:7px;background:#fff}.qr-caption{text-align:center;color:#708189;font-size:9px;line-height:1.45;margin:0 auto 12px;max-width:190px}.asset-link-box{border:1px solid #dfe8e7;border-radius:5px;padding:7px;color:#60757e;font:8px 'DM Mono';overflow-wrap:anywhere;background:#f8faf9}.asset-health-line{margin:11px 0 15px;display:flex;align-items:end;gap:12px}.asset-health-line strong{font-size:31px;letter-spacing:-1px}.asset-health-line span{font-size:10px;color:#65777f;padding-bottom:4px}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e7edeb;border-bottom:1px solid #e7edeb}.detail-stats div{padding:11px 8px;border-right:1px solid #e7edeb}.detail-stats div:last-child{border:0}.detail-stats span,.detail-stats strong{display:block}.detail-stats span{font:700 8px 'DM Mono';color:#718188;line-height:1.4}.detail-stats strong{font-size:10px;margin-top:4px;color:#25444e}.detail-section{padding-top:16px}.detail-section h3{font-size:11px;margin:0 0 8px}.asset-child,.detail-log-row,.schedule-row{border-top:1px solid #edf1f0;padding:9px 0;font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-child strong,.detail-log-row strong{display:block;font-size:10px}.asset-child span,.detail-log-row span{display:block;color:#70828a;font-size:9px;margin-top:2px}.detail-wide{grid-column:1/-1}.empty-detail{font-size:10px;color:#74858b;padding:10px 0}.access-card{margin:-5px 0 14px;border:1px solid #dbe7e5;border-radius:8px;padding:13px 15px;background:#f6faf9;color:#45616a;font-size:11px}.access-card.locked{border-color:#eedbb7;background:#fff9eb;color:#695326}.access-card strong{color:inherit}.access-card p{margin:3px 0 0;font-size:10px}.access-card[hidden],.inventory-locked{display:none}.performance-chart-section{border-top:1px solid #e2e9e6;border-bottom:1px solid #e2e9e6;padding:17px 0 14px;margin:21px 0}.chart-heading{display:flex;align-items:start;justify-content:space-between}.chart-heading h3{margin:0;font-size:11px}.chart-heading p{margin:4px 0 0;color:#6d7f86;font-size:9px}.chart-unit{font:700 8px 'DM Mono';color:#89979a}.performance-chart{height:148px;display:flex;align-items:end;gap:9px;border-bottom:1px solid #cad9d6;padding:14px 2px 0}.chart-bar-group{height:100%;min-width:30px;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:5px}.chart-value{font:700 8px 'DM Mono';color:#416069}.chart-bar{width:100%;max-width:46px;min-height:3px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#22a996,#087d73)}.chart-label{font:8px 'DM Mono';color:#78888e;white-space:nowrap}.chart-empty{margin:auto;color:#7d8b90;font-size:10px}.table-action.tag-action{border:1px solid #b8d9d3;padding:5px 7px;border-radius:4px;background:#f0faf7}.table-action.tag-action:hover{background:#e0f3ed}.permission-hidden{display:none!important}
@media(max-width:820px){.asset-detail-grid{grid-template-columns:1fr}.detail-wide{grid-column:auto}.asset-overview-card{min-width:0}.detail-stats{grid-template-columns:1fr}.detail-stats div{border-right:0;border-bottom:1px solid #e7edeb}.detail-stats div:last-child{border-bottom:0}.chart-heading{gap:12px}.performance-chart{gap:5px}.chart-label{font-size:7px}}
@media print{body.print-asset-label .sidebar,body.print-asset-label .topbar,body.print-asset-label .view:not(#assetdetailView),body.print-asset-label .view-intro,body.print-asset-label .asset-overview-card,body.print-asset-label .detail-wide,body.print-asset-label .modal-backdrop,body.print-asset-label .toast{display:none!important}body.print-asset-label .main-content{margin:0;padding:0}body.print-asset-label .view#assetdetailView{display:block!important}body.print-asset-label .asset-detail-grid{display:block}.asset-identity-card{box-shadow:none;border:1px solid #111;width:320px;margin:20px auto}.asset-qr{width:180px;height:180px}}
.form-help{margin:0 0 7px;color:#687b83;font-size:10px;line-height:1.45}.share-status{padding:9px 10px;border-radius:6px;background:#f0f6f5;color:#4c6770;font:10px 'DM Mono';overflow-wrap:anywhere}.status-badge.overdue{color:#b1382e;background:#ffe8e4}.status-badge.due-today{color:#a76400;background:#fff0d5}
.developer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.developer-card{padding:18px;min-height:145px}.developer-card h3{margin:8px 0 7px;font-size:15px}.developer-card p:last-child{margin:0;color:#6a7c83;font-size:10px;line-height:1.55}.developer-locked{opacity:.45;pointer-events:none;filter:grayscale(.6)}.linked-work{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d5e7e2;border-radius:6px;background:#f4fbf8;font-size:10px;color:#315c58}.asset-edit{margin-left:7px}.detail-log-row>div:last-child{display:flex;align-items:center;gap:8px}
.online-users{display:inline-flex;align-items:center;gap:5px;border:1px solid #cfe1dc;border-radius:12px;padding:5px 8px;color:#287260;background:#eff8f5;font:700 9px 'DM Mono';white-space:nowrap}.online-users:before{content:'●';font-size:8px;color:#20a387}.developer-wide{grid-column:1/-1;min-height:0}.developer-user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #e6edeb}.developer-user-row:first-child{border-top:0}.developer-user-row strong,.developer-user-row span{display:block}.developer-user-row strong{font-size:11px}.developer-user-row span{margin-top:2px;color:#6b7e85;font-size:9px}
.fault-image-gallery{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;padding:2px 0 4px}.fault-image-gallery a{width:104px;color:#567078;font:8px 'DM Mono';text-decoration:none}.fault-image-gallery img{display:block;width:104px;height:76px;object-fit:cover;border:1px solid #d4e1df;border-radius:6px;background:#f2f6f5;margin-bottom:4px}.fault-image-gallery span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-performance-caption{margin:7px 0 0;color:#6b7f85;font-size:10px}.asset-performance-chart{margin-top:9px}.inventory-thumb{display:block;width:48px;height:42px;object-fit:cover;border:1px solid #d4e2df;border-radius:5px;background:#f2f6f5}.inventory-image-link{display:inline-block}.inventory-history,.handover-history{margin-top:15px;padding:18px}.handover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.handover-stage{padding:17px}.handover-stage h3{font-size:13px;margin:5px 0 10px}.handover-asset-list{border-top:1px solid #e7edeb}.handover-row{display:grid;grid-template-columns:minmax(130px,1fr) 106px minmax(120px,1fr);gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f0}.handover-row:last-child{border-bottom:0}.handover-row strong,.handover-row span{display:block}.handover-row strong{font-size:10px}.handover-row span{margin-top:2px;color:#72848a;font-size:8px}.handover-row select,.handover-row input{width:100%;min-width:0;border:1px solid #d7e1df;border-radius:5px;padding:7px 8px;background:#fff;color:#314c55;font:9px Manrope}.handover-row select:disabled,.handover-row input:read-only{background:#f5f7f7;color:#708187}.small-empty{color:#75868d;font-size:10px;line-height:1.5;margin:10px 0}
@media(max-width:920px){.handover-grid{grid-template-columns:1fr}.handover-row{grid-template-columns:minmax(130px,1fr) 102px}.handover-row input{grid-column:1/-1}}
@media(max-width:520px){.handover-row{grid-template-columns:1fr}.handover-row input{grid-column:auto}.inventory-thumb{width:44px;height:38px}}
@media print{body.print-asset-register .sidebar,body.print-asset-register .topbar,body.print-asset-register .view:not(#assetsView),body.print-asset-register .view-intro,body.print-asset-register .filter-row,body.print-asset-register .modal-backdrop,body.print-asset-register .toast{display:none!important}body.print-asset-register .main-content{margin:0;padding:0}body.print-asset-register .view#assetsView{display:block!important}body.print-asset-register .table-card{box-shadow:none;border:0}body.print-asset-register table{min-width:0}body.print-asset-register th,body.print-asset-register td{padding:7px;font-size:8px}body.print-asset-register .table-action{color:#173c47;text-decoration:none}}
@media(max-width:820px){.developer-grid{grid-template-columns:1fr}.developer-user-row{flex-direction:column;align-items:stretch}.role-controls{flex-wrap:wrap}}
.developer-help{margin:8px 0 6px;color:#6a7c83;font-size:10px;line-height:1.55}.developer-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.developer-row-head .developer-help{margin:8px 0}.role-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.role-select{border:1px solid #d6e0df;background:#fff;border-radius:6px;color:#2b4650;padding:6px 8px;font:600 10px Manrope;outline-color:#0a8377}.role-apply{padding:6px 10px;font-size:10px}.retire-button{color:#9a2f22;border-color:#efb8b0}.retire-button:hover{background:#fdeeec}.retire-button:disabled{opacity:.45;cursor:not-allowed}
.digest-card{border-radius:8px;padding:12px 14px;margin:6px 0 10px;border:1px solid #d5e7e2;background:#f4fbf8}.digest-card strong{display:block;font-size:11px;color:#1f5a52}.digest-card p{margin:4px 0 0;color:#527178;font-size:10px;line-height:1.5}.digest-card.warn{border-color:#efdba9;background:#fff9e9}.digest-card.warn strong{color:#7a5a12}.digest-card.warn p{color:#887343}.digest-card:empty{display:none}
.photo-timeline{display:flex;gap:12px;overflow-x:auto;padding:4px 0 10px;scroll-snap-type:x mandatory}.photo-tile{flex:0 0 168px;margin:0;scroll-snap-align:start}.photo-tile img{display:block;width:168px;height:118px;object-fit:cover;border-radius:7px;border:1px solid #d4e1df;background:#eef3f2}.photo-tile figcaption{margin-top:6px}.photo-tile figcaption strong,.photo-tile figcaption span{display:block;font-size:9px;color:#6b7e85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-tile figcaption strong{color:#1b3540;font-size:10px}
.app-shell[hidden]{display:none}.check-field{display:flex;align-items:center;gap:8px;font:600 11px Manrope;color:#2b4650;cursor:pointer}.check-field input{width:auto;margin:0;accent-color:#087f75}.temp-password{font:700 22px 'DM Mono',monospace;letter-spacing:2px;color:#0b5c53;background:#eef8f5;border:1px dashed #87cbbd;border-radius:8px;padding:14px 16px;text-align:center;user-select:all}.ack-box{grid-column:1/-1;border:1px solid #efdba9;background:#fff9e9;border-radius:6px;padding:10px 12px}.ack-box strong,.ack-box span{display:block}.ack-box strong{font-size:11px;color:#7a5a12}.ack-box span{font-size:10px;color:#887343;margin-top:2px}.ack-box.done{border-color:#cfe6de;background:#eef8f4}.ack-box.done strong{color:#1f6b5c}.ack-box.done span{color:#4f7a70}.ack-button{color:#087f75;border-color:#9fd8cb}.reset-link{color:#9a2f22}.logout-button{border:1px solid #cfdcdb;background:#fff;color:#1b3540;border-radius:16px;padding:7px 12px;font:700 10px Manrope;cursor:pointer;transition:background-color .16s,border-color .16s}.logout-button:hover{background:#fdeeec;border-color:#efb8b0;color:#9a2f22}
.home-screen{position:fixed;inset:0;z-index:50;background:#0b2230 url('assets/wastewater-plant-home.jpg') center/cover no-repeat;color:#eef6f6;overflow:auto;font-family:Manrope,Arial,sans-serif}.home-screen[hidden]{display:none}.home-overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(7,30,45,.92) 0%,rgba(9,52,66,.84) 55%,rgba(6,90,92,.72) 100%)}.home-content{position:relative;min-height:100%;display:flex;flex-direction:column;padding:clamp(22px,4vw,56px) clamp(20px,6vw,96px);box-sizing:border-box}.home-brand{display:flex;align-items:center;gap:14px;animation:home-in .6s ease-out both}.home-logo{height:46px;width:46px;border-radius:12px;background:#e9f2f0;padding:4px;object-fit:contain}.home-brand strong,.home-brand span{display:block}.home-brand strong{font-size:17px;color:#fff;letter-spacing:-.3px}.home-brand span{font:700 9px 'DM Mono',monospace;letter-spacing:1.4px;color:#9fc4c6;margin-top:2px}.home-hero{margin:auto 0;max-width:640px;padding:clamp(40px,8vh,96px) 0}.home-kicker{margin:0 0 14px;font:700 10px 'DM Mono',monospace;letter-spacing:1.6px;color:#8fe0cf;animation:home-in .6s .1s ease-out both}.home-title{margin:0;font-size:clamp(28px,4.4vw,52px);line-height:1.05;color:#fff;animation:home-in .6s .2s ease-out both}.home-intro{margin:22px 0 0;font-size:14px;line-height:1.7;color:#d3e3e4;max-width:560px;animation:home-in .6s .4s ease-out both}.home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;animation:home-in .6s .5s ease-out both}.home-button{border-radius:999px;padding:13px 26px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font:700 13px Manrope;cursor:pointer;backdrop-filter:blur(10px);transition:background-color .18s,transform .18s,border-color .18s}.home-button:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}.home-button.primary{background:#0fa38f;border-color:#0fa38f}.home-button.primary:hover{background:#0b8d7c}.home-points{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:8px;animation:home-in .6s .6s ease-out both}.home-points li{font:600 11px Manrope;color:#b7d3d3;padding-left:16px;position:relative}.home-points li:before{content:'';position:absolute;left:0;top:6px;height:6px;width:6px;border-radius:50%;background:#5fc7b5}.home-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;font:600 10px 'DM Mono',monospace;color:#8fb1b5;letter-spacing:.4px;animation:home-in .6s .7s ease-out both}.home-credit{color:#b6cfce;text-align:center;white-space:nowrap}.home-link{justify-self:end}.check-list{display:grid;gap:6px;max-height:160px;overflow:auto;border:1px solid #dde7e6;border-radius:6px;padding:8px 10px;background:#fff}.check-list small{color:#8a9ba0}.budget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px}.budget-card{background:#fff;border:1px solid #dde7e6;border-radius:10px;padding:14px 16px}.budget-card .section-kicker{margin-bottom:6px}.budget-card strong{display:block;font-size:18px;letter-spacing:-.4px;color:#15303a}.budget-card span{display:block;font-size:10px;color:#6b7f85;margin-top:3px}.budget-bar{height:6px;border-radius:4px;background:#e6efee;margin-top:10px;overflow:hidden}.budget-bar i{display:block;height:100%;background:#0fa38f;transition:width .4s}.budget-card.warn .budget-bar i{background:#e0a230}.budget-card.over .budget-bar i{background:#e55a49}.budget-card.over strong{color:#9a2f22}.severity-badge{display:inline-block;border-radius:999px;padding:3px 9px;font:700 9px 'DM Mono',monospace;letter-spacing:.4px}.severity-badge.low{background:#e8f3ef;color:#1f6b5c}.severity-badge.medium{background:#fff4dc;color:#8a5f10}.severity-badge.high{background:#fde6e0;color:#a63a24}.severity-badge.critical{background:#e55a49;color:#fff}.status-badge.under-review{background:#e9eefc;color:#2f4a9c}.home-status{color:#9fb8bb}.home-status.ok{color:#8fe0cf}.home-status.warn{color:#f3b08a}.home-link{border:0;background:none;color:#9fe3d6;font:700 11px Manrope;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}@keyframes home-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:600px){.home-content{padding:22px 20px 26px}.home-hero{padding:34px 0 28px}.home-button{flex:1 1 100%;text-align:center}.home-footer{grid-template-columns:1fr;gap:9px}.home-credit{text-align:left;white-space:normal}.home-link{justify-self:start}}
.overdue-banner{border:1px solid #efb8b0;background:#fdeeec;border-radius:8px;min-height:54px;padding:10px 15px;display:flex;align-items:center;gap:11px;color:#7a2a20;margin-bottom:12px;animation:overdue-in .4s ease-out}.overdue-banner[hidden]{display:none}.overdue-banner.compact{margin:0 0 14px}.overdue-icon{height:23px;width:23px;flex:0 0 23px;border-radius:50%;display:grid;place-items:center;background:#e55a49;color:#fff;font-size:14px;font-weight:800}.overdue-banner strong,.overdue-banner span{display:block}.overdue-banner strong{font-size:11px;color:#9a2f22}.overdue-banner span{font-size:10px;margin-top:2px;color:#8d4b42}.overdue-action{margin-left:auto;border:0;border-radius:6px;padding:8px 12px;background:#c9412f;color:#fff;font:700 10px Manrope;cursor:pointer;white-space:nowrap;transition:background-color .16s}.overdue-action:hover{background:#a93423}.nav-badge-red{background:#e55a49!important;color:#fff!important;margin-left:4px!important}.notification-dot{background:#c6d2d4}.icon-button.has-overdue .notification-dot{background:#e55a49;box-shadow:0 0 0 3px rgba(229,90,73,.2)}@keyframes overdue-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.privacy-note{display:grid;gap:4px;border-left:3px solid #4a8e84;background:#f2f8f6;padding:10px 12px;color:#526b72;font-size:10px;line-height:1.5}.privacy-note strong{color:#254a50;font-size:10px}.confirm-panel{border:1px solid #efd0c9;background:#fff5f2;color:#6f352d;border-radius:7px;padding:12px 13px;font-size:10px;line-height:1.55}.vendor-archived{opacity:.68}.session-row strong{overflow-wrap:anywhere}.session-revoke{color:#9a2f22;border-color:#efb8b0}
.home-logo{border-radius:10px;background:none;padding:0;object-fit:cover}
.attachment-list{display:grid;gap:6px;margin-top:8px}.attachment-link{display:grid;gap:2px;border:1px solid #d9e6e3;border-radius:6px;padding:8px 10px;background:#f7faf9;color:#315c58;text-decoration:none;overflow-wrap:anywhere}.attachment-link:hover{border-color:#7ebdb2;background:#eef8f5}.attachment-link strong{font-size:10px}.attachment-link span{font-size:8px;color:#6c8087}.attachment-download{display:inline-flex;align-items:center;text-decoration:none;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-open{margin-top:10px;text-align:left}.form-actions{flex-wrap:wrap}.form-actions button:disabled{opacity:.55;cursor:not-allowed}
html,body{max-width:100%;overflow-x:hidden}.main-content,.view,.table-card{min-width:0;max-width:100%}.table-card{overflow-x:auto}.form-field input[type="file"]{max-width:100%;min-width:0}
@media(max-width:520px){.table-card{overflow-x:hidden}table{min-width:0;width:100%;table-layout:fixed}th,td{padding:8px 4px;overflow-wrap:anywhere;white-space:normal}.table-action{max-width:100%;padding:6px 4px}.modal{max-width:calc(100vw - 24px)}}
.check-field{min-width:0;max-width:100%;align-items:flex-start}.check-field input{flex:0 0 auto}.check-copy{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.check-copy small{display:inline;white-space:normal;overflow-wrap:anywhere}
@media(max-width:820px){.sidebar{overflow-y:auto;overscroll-behavior:contain}}
.brand strong{white-space:nowrap;letter-spacing:0}
@media(max-width:820px){.process-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:8px}.flow-step{min-width:0;width:100%}}
