:root{--navy:#132f46;--navy-2:#1d405b;--teal:#087e7c;--teal-dark:#076361;--ink:#172a3a;--muted:#6e7f8d;--line:#dfe7ec;--canvas:#f5f7f8;--white:#fff;--red:#c23b31;--orange:#db6c2a;--yellow:#ae7b12;--green:#2d835d;--purple:#7153a6;--shadow:0 10px 30px #19364b12}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);margin:0}body{font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.appShell{min-height:100vh}.sidebar{z-index:20;color:#fff;background:linear-gradient(180deg, var(--navy) 0%, #10283b 100%);flex-direction:column;width:236px;padding:26px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:0 8px 26px;display:flex}.brandMark{color:#fff;letter-spacing:-.04em;background:linear-gradient(135deg,#1ba6a0,#08706f);border-radius:13px;place-items:center;width:42px;height:42px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #fff3}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.06em;font-size:17px}.brand small{color:#9fb4c3;letter-spacing:.14em;margin-top:2px;font-size:11px}.sidebar nav{gap:6px;padding-top:24px;display:grid}.navButton{color:#b9c9d4;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;height:45px;padding:0 12px;transition:all .18s;display:flex}.navButton:hover{color:#fff;background:#ffffff12}.navButton.active{color:#fff;background:#119893e6;box-shadow:0 6px 16px #00000021}.navIcon{opacity:.9;border:1px solid;border-radius:7px;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.navButton>span:nth-child(2){flex:1;font-size:14px;font-weight:600}.navButton em{color:#dce8ee;text-align:center;background:#ffffff21;border-radius:99px;min-width:24px;padding:2px 6px;font-size:11px;font-style:normal}.sidebarNote{background:#ffffff0b;border:1px solid #ffffff1a;border-radius:12px;margin-top:auto;padding:15px}.sidebarNote span{color:#72d1cd;letter-spacing:.15em;font-size:11px;font-weight:700}.sidebarNote p{color:#b7c7d1;margin:8px 0 0;font-size:12px;line-height:1.7}.signout{color:#8fa6b6;margin:14px 8px 0;font-size:12px;text-decoration:none}.signout:hover{color:#fff}.main{min-height:100vh;margin-left:236px;padding:0 36px 50px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:132px;display:flex}.topbar h1{letter-spacing:-.04em;margin:4px 0 6px;font-size:28px}.topbar p{color:var(--muted);margin:0;font-size:13px}.topbar .eyebrow{color:var(--teal);letter-spacing:.12em;font-size:11px;font-weight:700}.topActions{align-items:center;gap:18px;display:flex}.notificationBell{border:1px solid var(--line);color:#526b7a;background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:11px;font-weight:800;display:grid;position:relative}.notificationBell.hasUnread{color:#fff;border-color:var(--red);background:var(--red)}.notificationBell em{border:2px solid var(--canvas);color:#fff;background:#8f251e;border-radius:99px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:9px;font-style:normal;display:grid;position:absolute;top:-7px;right:-7px}.primaryButton{color:#fff;background:var(--teal);border:0;border-radius:9px;font-weight:700;box-shadow:0 6px 16px #087e7c2e}.primaryButton:hover{background:var(--teal-dark)}.topActions .primaryButton{min-width:118px;height:42px}.userChip{border-left:1px solid var(--line);align-items:center;gap:10px;padding-left:18px;display:flex}.userChip>span{color:#fff;background:var(--navy);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.userChip b,.userChip small{display:block}.userChip b{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:13px;overflow:hidden}.userChip small{color:var(--green);margin-top:2px;font-size:10px}.contentStack{gap:20px;padding-top:26px;display:grid}.reminderStrip{min-height:82px;color:var(--ink);text-align:left;background:linear-gradient(90deg,#eff9f7,#f8fcfb);border:1px solid #bdded9;border-radius:13px;justify-content:space-between;align-items:center;gap:24px;padding:16px 22px;display:flex;box-shadow:0 5px 18px #087e7c0f}.reminderStrip span,.reminderStrip b,.reminderStrip small{display:block}.reminderStrip span{color:var(--teal);letter-spacing:.1em;font-size:10px;font-weight:800}.reminderStrip b{margin-top:4px;font-size:15px}.reminderStrip small{color:var(--muted);margin-top:4px;font-size:10px}.reminderStrip em{color:var(--teal);white-space:nowrap;font-size:11px;font-style:normal;font-weight:800}.metricGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.metric{border:1px solid var(--line);border-top:3px solid var(--teal);background:var(--white);border-radius:12px;min-height:115px;padding:18px 18px 14px;box-shadow:0 2px 8px #16304308}.metric>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.metric span{color:var(--muted);font-size:12px;font-weight:600}.metric b{letter-spacing:-.05em;font-size:30px;line-height:1}.metric small{color:#8a9aa6;margin-top:20px;font-size:10px;display:block}.metric.blue{border-top-color:#477eaa}.metric.blue b{color:#356e9b}.metric.green{border-top-color:var(--green)}.metric.green b{color:var(--green)}.metric.yellow{border-top-color:var(--yellow)}.metric.yellow b{color:var(--yellow)}.metric.purple{border-top-color:var(--purple)}.metric.purple b{color:var(--purple)}.metric.orange{border-top-color:var(--orange)}.metric.orange b{color:var(--orange)}.metric.red{border-top-color:var(--red)}.metric.red b{color:var(--red)}.overviewGrid{grid-template-columns:minmax(0,1.65fr) minmax(310px,.8fr);gap:20px;display:grid}.overviewGrid.lower{grid-template-columns:1fr 1fr}.panel{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow);border-radius:13px;overflow:hidden}.panelTitle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:18px 22px;display:flex}.panelTitle h2{margin:0 0 5px;font-size:16px}.panelTitle p{color:var(--muted);margin:0;font-size:11px}.panelTitle button{color:var(--teal);background:0 0;border:0;font-size:12px;font-weight:700}.priorityList{display:grid}.priorityRow{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f3;grid-template-columns:12px minmax(150px,.85fr) minmax(220px,1.25fr) auto;align-items:center;gap:12px;min-height:67px;padding:10px 22px;display:grid}.priorityRow:last-child{border-bottom:0}.priorityRow:hover{background:#f8fbfb}.healthDot,.alertDot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #2d835d1a}.healthDot.red,.alertDot.red{background:var(--red);box-shadow:0 0 0 4px #c23b311a}.healthDot.orange,.alertDot.orange{background:var(--orange);box-shadow:0 0 0 4px #db6c2a1a}.healthDot.yellow{background:var(--yellow)}.healthDot.gray{background:var(--muted)}.priorityName b,.priorityName small,.priorityNext span,.priorityNext small{display:block}.priorityName b{font-size:13px}.priorityName small,.priorityNext small{color:#8a99a5;margin-top:4px;font-size:10px}.priorityNext span{color:#445866;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.healthTag{white-space:nowrap;border-radius:99px;justify-content:center;align-items:center;min-width:64px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.healthTag.red{color:#a92f27;background:#fde9e6}.healthTag.orange{color:#b75318;background:#fff0e5}.healthTag.yellow{color:#8f6209;background:#fff6d8}.healthTag.green{color:#26714f;background:#e8f5ee}.healthTag.gray{color:#62727d;background:#edf1f3}.healthTag.purple{color:#684a9f;background:#f0eafa}.pipeline{gap:19px;padding:22px;display:grid}.pipelineItem>div:first-child{justify-content:space-between;font-size:12px;display:flex}.pipelineItem b{color:var(--navy)}.bar{background:#edf1f3;border-radius:99px;height:6px;margin-top:8px;overflow:hidden}.bar i{border-radius:inherit;background:linear-gradient(90deg, var(--teal), #35a8a3);height:100%;display:block}.ruleCard{background:#eff8f7;border:1px solid #d4e7e5;border-radius:10px;margin:0 22px 22px;padding:18px}.ruleCard span,.ruleCard strong{display:block}.ruleCard span{color:var(--teal);letter-spacing:.12em;font-size:10px;font-weight:800}.ruleCard strong{margin-top:7px;font-size:14px}.ruleCard p{color:#607680;margin:6px 0 0;font-size:11px;line-height:1.6}.claimList,.riskMiniList{padding:4px 22px 10px}.claimList>div,.riskMiniList>div{border-bottom:1px solid #edf1f3;align-items:center;gap:12px;min-height:65px;display:flex}.claimList>div:last-child,.riskMiniList>div:last-child{border-bottom:0}.claimList>div>div,.riskMiniList>div>div{flex:1;min-width:0}.claimList b,.claimList small,.riskMiniList b,.riskMiniList small{display:block}.claimList b,.riskMiniList b{font-size:12px}.claimList small,.riskMiniList small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.claimList button,.claimButton{color:var(--teal);background:#f4fbfa;border:1px solid #b5d8d5;border-radius:7px;font-size:11px;font-weight:700}.claimList button{padding:7px 12px}.claimButton{padding:5px 9px}.riskMiniList em{color:var(--red);font-size:10px;font-style:normal;font-weight:700}.riskMiniList .riskMiniClear>span{width:28px;height:28px;color:var(--green);background:#e8f5ee;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.riskMiniList .riskMiniClear b{color:var(--green)}.departmentPage{gap:20px;padding-top:26px;display:grid}.departmentHero{color:#fff;min-height:168px;box-shadow:var(--shadow);background:linear-gradient(115deg,#18364d,#0b716f 68%,#32916d);border-radius:15px;justify-content:space-between;align-items:center;gap:28px;padding:30px 34px;display:flex}.departmentHero>div:first-child{max-width:760px}.departmentHero span{color:#aee5df;letter-spacing:.12em;font-size:11px;font-weight:800}.departmentHero h2{margin:8px 0;font-size:23px}.departmentHero p{color:#d9eeec;margin:0;font-size:12px;line-height:1.8}.departmentHero>div:last-child{gap:10px;display:flex}.departmentHero b{text-align:center;background:#ffffff14;border:1px solid #ffffff2b;border-radius:11px;min-width:92px;padding:15px 12px;font-size:26px}.departmentHero small{margin-top:6px;font-size:9px;font-weight:500;display:block}.departmentGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.departmentCard{border:1px solid var(--line);min-height:170px;box-shadow:var(--shadow);background:#fff;border-radius:13px;grid-template-columns:54px 1fr;gap:16px;padding:22px;display:grid}.departmentCard>span{color:#fff;background:var(--navy);border-radius:14px;place-items:center;width:48px;height:48px;font-size:15px;font-weight:800;display:grid}.departmentCard header{justify-content:space-between;align-items:center;gap:10px;display:flex}.departmentCard h3{margin:0;font-size:16px}.departmentCard header b{color:var(--teal);font-size:26px}.departmentCard p{min-height:40px;color:var(--muted);margin:12px 0;font-size:11px;line-height:1.7}.departmentCard button{color:var(--teal);background:0 0;border:0;padding:0;font-size:11px;font-weight:800}.phaseTwoGrid{grid-template-columns:repeat(3,1fr);gap:14px;padding:20px;display:grid}.phaseTwoGrid>div{border:1px solid var(--line);background:#fafcfc;border-radius:11px;min-height:145px;padding:18px;position:relative}.phaseTwoGrid span{width:34px;height:34px;color:var(--teal);background:#e7f5f3;border-radius:9px;place-items:center;margin-bottom:14px;font-weight:800;display:grid}.phaseTwoGrid b{font-size:13px;display:block}.phaseTwoGrid p{color:var(--muted);margin:8px 0 30px;font-size:10px;line-height:1.7}.phaseTwoGrid em{color:var(--purple);font-size:9px;font-style:normal;font-weight:800;position:absolute;bottom:16px;left:18px}.listPanel{margin-top:26px}.listTools{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:76px;padding:16px 20px;display:flex}.searchBox{border:1px solid var(--line);background:#f9fbfc;border-radius:9px;align-items:center;gap:8px;width:min(420px,46vw);height:40px;padding:0 12px;display:flex}.searchBox span{color:var(--muted);font-size:19px}.searchBox input{background:0 0;border:0;outline:0;width:100%;font-size:12px}.listTools select{border:1px solid var(--line);color:#4d6170;background:#fff;border-radius:9px;height:40px;padding:0 32px 0 12px;font-size:12px}.resultCount{color:var(--muted);margin-left:auto;font-size:11px}.tableHeader,.projectRow{grid-template-columns:minmax(190px,1.2fr) 110px 110px minmax(230px,1.2fr) 100px 80px;align-items:center;column-gap:14px;display:grid}.tableHeader{color:#78909c;background:#f7f9fa;min-height:42px;padding:0 20px;font-size:10px;font-weight:700}.projectRow{border-top:1px solid #edf1f3;outline:0;min-height:69px;padding:9px 20px;font-size:11px;transition:all .15s}.projectRow:hover,.projectRow:focus{background:#f6fbfa}.projectIdentity b,.projectIdentity small,.blockSmall{display:block}.projectIdentity b{font-size:12px}.projectIdentity small,.blockSmall{color:#8a99a5;margin-top:4px;font-size:9px}.owner{align-items:center;gap:7px;display:flex}.owner i{color:#fff;background:#547389;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-style:normal;display:grid}.installPage{gap:18px;padding-top:26px;display:grid}.installPage .listPanel{margin-top:0}.installHero{color:#fff;background:linear-gradient(115deg,#523a18,#b46c25 58%,#db8b31);border-radius:15px;justify-content:space-between;align-items:center;gap:30px;min-height:160px;padding:28px 34px;display:flex;box-shadow:0 12px 28px #7948162e}.installHero>div:first-child{max-width:720px}.installHero span{color:#ffe0b5;letter-spacing:.12em;font-size:11px;font-weight:800}.installHero h2{margin:7px 0 8px;font-size:22px}.installHero p{color:#fff1dd;margin:0;font-size:12px;line-height:1.65}.installStats{gap:10px;display:flex}.installStats b{text-align:center;background:#ffffff1a;border:1px solid #fff3;border-radius:11px;min-width:74px;padding:13px 12px;font-size:26px}.installStats small{margin-top:8px;font-size:9px;font-weight:500;display:block}.installChecklist{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.installChecklist>div{background:#fffaf4;border:1px solid #eadac7;border-radius:11px;padding:15px 17px}.installChecklist b,.installChecklist span{display:block}.installChecklist b{color:#955719;font-size:11px}.installChecklist span{color:#7e6c5c;margin-top:5px;font-size:9px;line-height:1.5}.truncate{color:#536674;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dueText{font-size:10px}.emptyState{text-align:center;padding:70px 20px}.emptyState span{width:50px;height:50px;color:var(--green);background:#e8f5ee;border-radius:50%;place-items:center;margin:auto;font-size:22px;display:grid}.emptyState h3{margin:14px 0 6px}.emptyState p{color:var(--muted);font-size:12px}.riskPage{gap:20px;padding-top:26px;display:grid}.riskBanner{color:#fff;background:linear-gradient(115deg,#163d55 0%,#0b716f 58%,#2d8a6a 100%);border-radius:15px;justify-content:space-between;align-items:center;gap:30px;min-height:160px;padding:28px 34px;display:flex;box-shadow:0 12px 28px #104a552b}.riskBanner>div:first-child{max-width:720px}.riskBanner span{color:#b8ebe5;letter-spacing:.12em;font-size:11px;font-weight:700}.riskBanner h2{margin:7px 0 8px;font-size:22px}.riskBanner p{color:#d9f3f0;margin:0;font-size:12px;line-height:1.65}.riskSummary{flex:none;align-items:center;gap:10px;display:flex}.riskSummary b{text-align:center;background:#ffffff14;border:1px solid #ffffff2b;border-radius:11px;min-width:74px;padding:13px 12px;font-size:26px;line-height:1}.riskSummary b small{color:#d9f3f0;margin-top:8px;font-size:9px;font-weight:500;display:block}.riskTabs{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:6px;display:flex;overflow-x:auto;box-shadow:0 3px 12px #1630430a}.riskTabs button{color:#647984;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:11px;font-weight:700;display:flex}.riskTabs button span{color:#6c7e89;text-align:center;background:#eef2f4;border-radius:99px;min-width:22px;padding:2px 6px;font-size:9px}.riskTabs button.active{color:#fff;background:var(--navy)}.riskTabs button.active span{color:#fff;background:#ffffff29}.riskEmpty{background:#f3faf7;border:1px dashed #b9d5ca;border-radius:13px;justify-content:center;align-items:center;gap:15px;min-height:116px;padding:22px;display:flex}.riskEmpty>span{width:42px;height:42px;color:var(--green);background:#def1e7;border-radius:50%;place-items:center;font-size:20px;font-weight:800;display:grid}.riskEmpty h3{color:var(--green);margin:0 0 5px;font-size:15px}.riskEmpty p{color:var(--muted);margin:0;font-size:11px}.riskGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.riskCard{border:1px solid var(--line);border-top:4px solid var(--orange);box-shadow:var(--shadow);background:#fff;border-radius:13px;overflow:hidden}.riskCard.critical{border-top-color:var(--red)}.riskCard.observing{border-top-color:#3a7dad}.riskCard.stable{border-top-color:var(--green)}.riskCard.retired{opacity:.82;border-top-color:#84949e}.riskCard header{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:22px;display:flex}.riskCard header span{color:var(--muted);font-size:10px}.riskCard header h2{margin:5px 0;font-size:17px}.riskCard header p{color:var(--muted);margin:0;font-size:11px}.riskCard header em{color:#a92f27;background:#fde9e6;border-radius:99px;height:max-content;padding:6px 9px;font-size:10px;font-style:normal;font-weight:700}.riskCard.warning header em{color:#b75318;background:#fff0e5}.riskCard.observing header em{color:#2e6891;background:#e8f2f9}.riskCard.stable header em{color:#26714f;background:#e8f5ee}.riskCard.retired header em{color:#62727d;background:#edf1f3}.riskFacts{background:#fafcfc;grid-template-columns:repeat(4,1fr);padding:16px 22px;display:grid}.riskFacts div{border-right:1px solid var(--line);padding:0 10px}.riskFacts div:first-child{padding-left:0}.riskFacts div:last-child{border-right:0}.riskFacts span,.riskFacts b{display:block}.riskFacts span{color:var(--muted);font-size:9px}.riskFacts b{margin-top:5px;font-size:11px}.hazard{background:#fff8f4;border-radius:9px;margin:18px 22px 0;padding:14px}.hazard span{color:var(--orange);font-size:9px;font-weight:700}.hazard p{margin:6px 0;font-size:12px}.hazard small{color:var(--muted);font-size:10px}.closeRisk{width:calc(100% - 44px);min-height:42px;color:var(--green);background:#eff9f4;border:1px solid #9bcaba;border-radius:8px;margin:14px 22px 0;font-size:11px;font-weight:800}.closeRisk:hover{background:#e5f5ed}.riskForm{grid-template-columns:1fr 1fr;gap:12px;padding:18px 22px 12px;display:grid}.riskForm .full{grid-column:1/-1}.riskForm label,.drawer label,.modal label{color:#607480;gap:6px;font-size:10px;font-weight:600;display:grid}.riskForm input,.riskForm select,.riskForm textarea,.drawer input,.drawer select,.drawer textarea,.modal input,.modal select{width:100%;color:var(--ink);background:#fff;border:1px solid #d6e0e5;border-radius:8px;outline:none}.riskForm input,.riskForm select,.drawer input,.drawer select,.modal input,.modal select{height:38px;padding:0 10px}.riskReadOnly{color:#54716d;background:#f2f7f6;border:1px solid #e1e8eb;border-radius:8px;align-items:center;min-height:38px;padding:0 10px;font-size:10px;font-weight:500;display:flex}.officialEvidence{background:#fff9eb;border:1px solid #efd6a1;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin:12px 22px 0;padding:13px 14px;display:flex}.officialEvidence span,.officialEvidence b,.officialEvidence small{display:block}.officialEvidence span{color:#9a6b0f;font-size:9px;font-weight:800}.officialEvidence b{margin-top:5px;font-size:11px}.officialEvidence small{color:var(--muted);margin-top:4px;font-size:9px}.officialEvidence a{color:var(--teal);flex:none;font-size:10px;font-weight:800;text-decoration:none}.riskForm textarea,.drawer textarea{resize:vertical;min-height:74px;padding:10px}.riskForm input:focus,.riskForm select:focus,.riskForm textarea:focus,.drawer input:focus,.drawer select:focus,.drawer textarea:focus,.modal input:focus,.modal select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087e7c14}.saveRisk{color:#fff;background:var(--navy);border:0;border-radius:8px;width:calc(100% - 44px);height:40px;margin:0 22px 22px;font-size:12px;font-weight:700}.notificationPage{gap:18px;padding-top:26px;display:grid}.notificationHero{color:#fff;background:linear-gradient(115deg,#163d55 0%,#0b716f 62%,#2d8a6a 100%);border-radius:15px;justify-content:space-between;align-items:center;gap:30px;min-height:156px;padding:28px 34px;display:flex;box-shadow:0 12px 28px #104a552b}.notificationHero>div:first-child{max-width:720px}.notificationHero span{color:#b8ebe5;letter-spacing:.12em;font-size:11px;font-weight:800}.notificationHero h2{margin:7px 0 8px;font-size:22px}.notificationHero p{color:#d9f3f0;margin:0;font-size:12px;line-height:1.7}.notificationHeroStats{gap:10px;display:flex}.notificationHeroStats b{text-align:center;background:#ffffff14;border:1px solid #ffffff2b;border-radius:11px;min-width:88px;padding:15px 12px;font-size:22px}.notificationHeroStats small{color:#d9f3f0;margin-top:7px;font-size:9px;font-weight:500;display:block}.notificationSettings{justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:18px 22px;display:flex}.notificationSettings>div{align-items:center;gap:14px;display:flex}.settingIcon{width:42px;height:42px;color:var(--teal);background:#e7f5f3;border-radius:12px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.notificationSettings b{font-size:13px}.notificationSettings p{color:var(--muted);margin:5px 0;font-size:10px}.notificationSettings small{color:var(--teal);font-size:9px;font-weight:700}.notificationSettings .primaryButton{min-width:130px;height:40px;padding:0 15px}.notificationToolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:17px 22px;display:flex}.notificationToolbar h2{margin:0 0 5px;font-size:16px}.notificationToolbar p{color:var(--muted);margin:0;font-size:10px}.notificationToolbar>div:last-child{gap:8px;display:flex}.notificationToolbar button{color:#516775;background:#fff;border:1px solid #cddbe1;border-radius:8px;min-height:36px;padding:0 12px;font-size:10px;font-weight:700}.notificationToolbar button:disabled{opacity:.55}.notificationList{display:grid}.notificationItem{border-bottom:1px solid #e9eef1;border-left:4px solid var(--yellow);grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:118px;padding:18px 22px;display:grid}.notificationItem.critical{border-left-color:var(--red)}.notificationItem.warning{border-left-color:var(--orange)}.notificationItem.read{opacity:.68;background:#fafbfc}.notificationLevel{color:#8b620d;text-align:center;background:#fff4d7;border-radius:99px;padding:6px 8px;font-size:9px;font-weight:800}.notificationItem.critical .notificationLevel{color:#a92f27;background:#fde9e6}.notificationItem.warning .notificationLevel{color:#b75318;background:#fff0e5}.notificationItem header{justify-content:space-between;gap:14px;display:flex}.notificationItem header b{font-size:13px}.notificationItem time{color:#8a99a5;white-space:nowrap;font-size:9px}.notificationItem p{color:#536674;margin:7px 0;font-size:11px;line-height:1.65}.notificationItem footer{color:var(--muted);gap:16px;font-size:9px;display:flex}.notificationItem footer a{color:var(--teal);font-weight:800;text-decoration:none}.notificationReadButton{color:#617784;background:#fff;border:1px solid #ccd9df;border-radius:8px;min-width:74px;height:34px;font-size:9px;font-weight:700}.notificationEmpty{text-align:center;padding:68px 20px}.notificationEmpty>span{width:48px;height:48px;color:var(--green);background:#e8f5ee;border-radius:50%;place-items:center;margin:auto;font-size:20px;display:grid}.notificationEmpty h3{margin:13px 0 5px}.notificationEmpty p{color:var(--muted);margin:0;font-size:11px}.overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b1d2a6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#f7f9fa;flex-direction:column;width:min(720px,92vw);height:100%;animation:.2s slideIn;display:flex;box-shadow:-18px 0 40px #0d26382e}.drawerHeader{color:#fff;background:var(--navy);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;min-height:90px;padding:16px 22px;display:grid}.drawerHeader>button{color:#fff;background:#ffffff12;border:1px solid #fff3;border-radius:8px;width:34px;height:34px}.drawerHeader span{color:#a9bdc9;font-size:10px}.drawerHeader h2{margin:5px 0 0;font-size:18px}.drawerBody{flex:1;padding:18px;overflow-y:auto}.drawerSection{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:16px;padding:20px}.drawerSection h3{margin:0 0 16px;font-size:14px}.sectionTitle{justify-content:space-between;align-items:center;display:flex}.sectionTitle button{color:var(--teal);background:0 0;border:0;font-size:11px;font-weight:700}.formGrid{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px;display:grid}.drawer label{margin-top:13px}.drawer label:first-child{margin-top:0}.readOnlyField{color:#607480;background:#f7f9fa;border:1px solid #e4eaee;border-radius:8px;align-items:center;height:38px;padding:0 10px;font-size:11px;display:flex}.progressComposer{background:#f3faf9;border:1px solid #cbe2e0;border-radius:10px;margin:0 0 18px;padding:16px}.composerActions{justify-content:flex-end;gap:9px;margin-top:14px;display:flex}.composerActions button,.drawerFooter button,.modalFooter button{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:94px;height:39px;font-size:11px;font-weight:700}.composerActions .primaryButton,.drawerFooter .primaryButton,.modalFooter .primaryButton{border-color:var(--teal);color:#fff;background:var(--teal)}.timeline{gap:14px;display:grid}.timeline>div{grid-template-columns:12px 1fr;gap:10px;display:grid}.timeline i{background:var(--teal);border-radius:50%;width:8px;height:8px;margin-top:4px;box-shadow:0 0 0 4px #e8f4f3}.timeline b{font-size:11px}.timeline p{color:#536674;margin:5px 0;font-size:10px}.timeline small{color:#8a99a5;font-size:9px}.muted{color:var(--muted);font-size:11px}.drawerFooter{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:10px;min-height:70px;padding:12px 22px;display:flex}.modalOverlay{justify-content:center;align-items:center}.modal{background:#fff;border-radius:14px;width:min(620px,92vw);max-height:90vh;overflow:auto;box-shadow:0 24px 70px #0d263847}.modalHeader{color:#fff;background:var(--navy);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.modalHeader span{color:#9fb8c7;font-size:10px}.modalHeader h2{margin:5px 0 0;font-size:19px}.modalHeader button{color:#fff;background:#ffffff1a;border:0;border-radius:50%;width:34px;height:34px;font-size:20px}.modalBody{gap:13px;padding:22px 24px;display:grid}.modal .formGrid{margin:0}.assignmentChoice{grid-template-columns:1fr 1fr;gap:12px;display:grid}.assignmentChoice button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;padding:14px}.assignmentChoice button.selected{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f0f9f8}.assignmentChoice b,.assignmentChoice span{display:block}.assignmentChoice b{color:var(--ink);font-size:12px}.assignmentChoice span{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5}.formError{color:var(--red);margin:0;font-size:11px}.modalFooter{border-top:1px solid var(--line);background:#fafbfc;justify-content:flex-end;gap:10px;padding:15px 24px;display:flex}.toast{z-index:100;color:#fff;background:var(--navy);border-radius:9px;max-width:360px;padding:13px 18px;font-size:12px;animation:.18s fadeUp;position:fixed;bottom:26px;right:26px;box-shadow:0 12px 30px #0d263838}.plainFieldset,fieldset.riskForm{border:0;min-width:0;margin:0;padding:0}.plainFieldset:disabled,fieldset.riskForm:disabled{opacity:.72}.permissionHint{color:#526b7a;background:#f2f7fa;border:1px solid #cbdce5;border-radius:9px;margin-bottom:14px;padding:12px 15px;font-size:11px}.permissionBadge{color:#607480;background:#edf1f3;border-radius:99px;padding:5px 9px;font-size:9px;font-weight:800}.commercialSection{background:linear-gradient(#fff,#fcfbff);border-color:#d8d0e8}.adminHero{color:#fff;min-height:170px;box-shadow:var(--shadow);background:linear-gradient(115deg,#17364e,#6b4f9a);border-radius:15px;justify-content:space-between;align-items:center;gap:28px;padding:30px 34px;display:flex}.adminHero>div:first-child{max-width:720px}.adminHero span{color:#d7c7f2;letter-spacing:.12em;font-size:11px;font-weight:800}.adminHero h2{margin:8px 0;font-size:23px}.adminHero p{color:#ebe4f7;margin:0;font-size:12px;line-height:1.7}.adminHero>div:last-child{gap:10px;display:flex}.adminHero b{text-align:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:11px;min-width:84px;padding:14px;font-size:27px}.adminHero b small{margin-top:7px;font-size:9px;font-weight:500;display:block}.createUserForm{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:22px;display:grid}.createUserForm>label,.userRoleRow label{color:#607480;gap:6px;font-size:10px;font-weight:700;display:grid}.createUserForm input,.createUserForm select,.userCard input,.userCard select{border:1px solid var(--line);height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px;font-size:11px}.createUserForm .permissionChooser{grid-column:1/-1}.createUserForm>button{grid-column:4;min-height:42px}.permissionChooser{border:1px solid var(--line);background:#f8fafb;border-radius:9px;flex-wrap:wrap;gap:9px 16px;padding:13px;display:flex}.permissionChooser>span{color:#607480;width:100%;font-size:10px;font-weight:800}.permissionChooser label{color:#526673;align-items:center;gap:6px;font-size:10px;display:flex}.permissionChooser input{width:15px;height:15px;margin:0}.permissionChooser.compact{margin-top:14px;padding:10px}.userCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;display:grid}.userCard{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.userCard.disabled{opacity:.62;background:#f7f8f9}.userCard header{grid-template-columns:42px 1fr auto;align-items:center;gap:11px;display:grid}.userAvatar{color:#fff;background:var(--navy);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.userCard header input{border-color:#0000;width:100%;height:34px;padding-left:0;font-weight:800}.userCard header small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.userCard header em{color:var(--green);background:#e8f5ee;border-radius:99px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:800}.userRoleRow{align-items:end;gap:16px;margin-top:15px;display:flex}.userRoleRow>label:first-child{flex:1}.activeSwitch{flex-direction:row;align-items:center;height:40px;display:flex!important}.activeSwitch input{width:16px;height:16px}.userCard footer{justify-content:flex-end;gap:9px;margin-top:15px;display:flex}.userCard footer button{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:36px;padding:0 13px;font-size:10px;font-weight:700}.userCard footer .primaryButton{border-color:var(--teal);color:#fff;background:var(--teal)}.auditList{max-height:390px;overflow:auto}.auditList>div{border-top:1px solid #edf1f3;grid-template-columns:100px 140px 1fr 150px;align-items:center;gap:10px;min-height:54px;padding:10px 22px;font-size:10px;display:grid}.auditList span{color:var(--teal);font-weight:800}.auditList small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auditList time{color:#8a99a5;text-align:right}.loading{padding-top:26px}.loadingCards{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.loadingCards span,.loadingPanel{background:linear-gradient(90deg,#eef2f4 25%,#f8fafb 45%,#eef2f4 65%) 0 0/200% 100%;border-radius:12px;animation:1.3s infinite shimmer;display:block}.loadingCards span{height:115px}.loadingPanel{height:430px;margin-top:20px}@keyframes slideIn{0%{opacity:.6;transform:translate(30px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}}@keyframes shimmer{to{background-position:-200% 0}}@media (width<=1180px){.metricGrid{grid-template-columns:repeat(3,1fr)}.overviewGrid,.overviewGrid.lower,.riskGrid{grid-template-columns:1fr}.notificationItem{grid-template-columns:82px minmax(0,1fr)}.notificationReadButton{grid-column:2;width:max-content}.tableHeader,.projectRow{grid-template-columns:minmax(190px,1.3fr) 110px 110px minmax(200px,1fr) 90px}.tableHeader span:last-child,.projectRow>span:last-child{display:none}}@media (width<=760px){.sidebar{width:100%;height:auto;padding:12px;display:block;position:sticky;inset:0}.brand{border-bottom:0;padding:0 4px 12px}.brandMark{width:36px;height:36px}.brand small,.sidebarNote,.signout{display:none}.sidebar nav{scrollbar-width:none;gap:7px;padding-top:5px;display:flex;overflow-x:auto}.navButton{width:auto;min-width:max-content;height:38px;padding:0 10px}.navIcon{display:none}.navButton>span:nth-child(2){font-size:12px}.main{margin-left:0;padding:0 14px 34px}.topbar{align-items:flex-start;min-height:112px;padding-top:18px}.topbar h1{font-size:23px}.topbar>div:first-child>p:last-child,.userChip{display:none}.topActions{gap:8px}.topActions .primaryButton{min-width:105px;height:38px}.notificationBell{width:38px;height:38px}.metricGrid{grid-template-columns:repeat(2,1fr)}.metric{min-height:100px}.metric b{font-size:26px}.metric small{margin-top:14px}.priorityRow{grid-template-columns:10px 1fr auto;padding:12px 15px}.priorityNext{display:none}.panelTitle{padding:16px}.overviewGrid{gap:14px}.contentStack{gap:14px;padding-top:16px}.reminderStrip{align-items:flex-start;padding:15px}.reminderStrip em{display:none}.listPanel,.riskPage{margin-top:16px;padding-top:0}.listTools{flex-wrap:wrap;padding:12px}.searchBox{width:100%}.resultCount{margin-left:0}.projectTable{overflow-x:auto}.tableHeader,.projectRow{min-width:760px}.installPage{padding-top:16px}.installHero{align-items:flex-start;min-height:190px;padding:22px}.installHero h2{font-size:20px}.installStats{display:none}.installChecklist{grid-template-columns:1fr 1fr}.installChecklist>div{padding:13px}.riskBanner{align-items:flex-start;min-height:190px;padding:22px}.riskBanner h2{font-size:20px}.riskSummary{display:none}.riskFacts{grid-template-columns:1fr 1fr;gap:14px}.riskFacts div{border-right:0}.riskForm,.formGrid{grid-template-columns:1fr}.riskForm .full{grid-column:auto}.riskGrid{gap:14px}.riskTabs{margin:0 -2px}.riskTabs button{padding:0 11px}.officialEvidence{align-items:flex-start}.notificationPage{padding-top:16px}.notificationHero{align-items:flex-start;min-height:190px;padding:22px}.notificationHero h2{font-size:20px}.notificationHeroStats{display:none}.notificationSettings{flex-direction:column;align-items:flex-start}.notificationSettings .primaryButton{width:100%}.notificationToolbar{flex-direction:column;align-items:flex-start}.notificationItem{grid-template-columns:1fr;gap:10px;padding:17px}.notificationLevel{width:max-content}.notificationItem header{flex-direction:column;align-items:flex-start;gap:5px}.notificationReadButton{grid-column:auto}.notificationItem footer{flex-wrap:wrap}.drawer{width:100vw}.drawerHeader{grid-template-columns:34px 1fr}.drawerHeader>em{display:none}.drawerBody{padding:10px}.drawerSection{padding:16px}.assignmentChoice{grid-template-columns:1fr}.modal{max-height:94vh}.adminHero{align-items:flex-start;min-height:190px;padding:22px}.adminHero h2{font-size:20px}.adminHero>div:last-child{display:none}.departmentPage{padding-top:16px}.departmentHero{align-items:flex-start;min-height:190px;padding:22px}.departmentHero h2{font-size:20px}.departmentHero>div:last-child{display:none}.departmentGrid,.phaseTwoGrid{grid-template-columns:1fr}.departmentCard{grid-template-columns:46px 1fr;padding:17px}.departmentCard>span{width:42px;height:42px}.createUserForm{grid-template-columns:1fr;padding:16px}.createUserForm .permissionChooser,.createUserForm>button{grid-column:auto}.createUserForm>button{width:100%}.userCards{grid-template-columns:1fr;padding:12px}.userCard header{grid-template-columns:38px 1fr}.userCard header em{grid-column:2;width:max-content}.userRoleRow{flex-direction:column;align-items:stretch}.auditList>div{grid-template-columns:80px 1fr;padding:12px 16px}.auditList small,.auditList time{text-align:left;grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}.syncedTaskList{gap:10px;display:grid}.syncedTaskList article{background:#fafbfc;border:1px solid #e7e9ee;border-radius:12px;padding:12px 14px}.syncedTaskList article.inactive{opacity:.55}.syncedTaskList article>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.syncedTaskList article b{color:#20242c;font-size:14px}.syncedTaskList article span{color:#8a5a00;background:#fff3d3;border-radius:999px;padding:3px 8px;font-size:12px}.syncedTaskList article p{color:#444b56;margin:8px 0 5px;font-size:13px;line-height:1.55}.syncedTaskList article small,.syncNote{color:#7c8490;font-size:12px}.syncNote{margin:10px 0 0;line-height:1.6}.standaloneLoading{color:#557080;background:#f5f7f8;place-items:center;min-height:100vh;font:14px PingFang SC,Microsoft YaHei,system-ui,sans-serif;display:grid}.loginPage{color:#fff;background:linear-gradient(135deg,#102a40 0%,#153b51 55%,#087e7c 100%);grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:100vh;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;display:grid}.loginIntro{align-self:center;padding:9vw}.loginBadge{color:#72d1cd;letter-spacing:.18em;font-size:12px;font-weight:800}.loginIntro h1{letter-spacing:-.06em;margin:22px 0;font-size:clamp(38px,5vw,68px);line-height:1.16}.loginIntro p{color:#c1d2dc;max-width:580px;font-size:16px;line-height:1.9}.loginRules{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.loginRules span{color:#dbe8ee;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:99px;padding:8px 13px;font-size:12px}.loginCard{color:#172a3a;background:#fff;border-radius:20px;align-self:center;width:min(430px,100% - 48px);margin:auto;padding:40px;box-shadow:0 28px 80px #04142047}.loginLogo{color:#fff;background:#087e7c;border-radius:15px;place-items:center;width:52px;height:52px;font-size:18px;font-weight:900;display:grid}.loginCard h2{margin:24px 0 8px;font-size:25px}.loginCard>p{color:#758692;margin:0 0 26px;font-size:13px}.loginCard form{gap:17px;display:grid}.loginCard label{color:#607480;gap:7px;font-size:12px;font-weight:700;display:grid}.loginCard input{height:46px;font:inherit;border:1px solid #d6e0e5;border-radius:9px;outline:0;padding:0 13px}.loginCard input:focus{border-color:#087e7c;box-shadow:0 0 0 3px #087e7c1a}.loginCard button{color:#fff;height:48px;font:inherit;cursor:pointer;background:#087e7c;border:0;border-radius:9px;font-weight:800}.loginCard button:hover{background:#076361}.loginCard small{color:#98a6ae;margin-top:22px;font-size:10px;line-height:1.6;display:block}.loginError{color:#a92f27;background:#fde9e6;border-radius:8px;padding:10px 12px;font-size:11px}.passwordPage{background:linear-gradient(135deg,#102a40,#087e7c);place-items:center;min-height:100vh;padding:28px;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;display:grid}.passwordCard{align-self:auto}.passwordEyebrow{color:#087e7c;letter-spacing:.12em;margin-top:22px;font-size:11px;font-weight:800;display:block}.passwordCard h2{margin-top:8px}@media (width<=820px){.loginPage{grid-template-columns:1fr;padding:28px 0 44px}.loginIntro{padding:34px 28px 24px}.loginIntro h1{font-size:38px}.loginIntro p{font-size:14px}.loginRules{margin-top:22px}.loginCard{width:calc(100% - 28px);padding:28px}}
