*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:#f3f5f6;color:#172026;font-family:Inter,Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.loadingScreen{place-items:center;color:#637078}.loadingScreen,.loginPage{min-height:100vh;display:grid}.loginPage{place-items:center;padding:24px;background:linear-gradient(145deg,#10191e,#25333a 52%,#edf1f2 0,#f7f8f8)}.loginCard{width:min(440px,100%);background:#fff;border:1px solid #dce2e4;border-radius:18px;padding:34px;box-shadow:0 24px 60px rgba(12,24,31,.16)}.loginBrand,.sideBrand{display:flex;align-items:center;gap:12px}.logoMark{width:44px;height:44px;border-radius:10px;background:#f2c94c;color:#111820;display:grid;place-items:center;font-weight:900;font-size:22px}.logoMark.small{width:38px;height:38px;font-size:18px}.brandName{font-size:13px;font-weight:900;letter-spacing:.13em}.brandSub{font-size:10px;color:#7c898f;letter-spacing:.16em;margin-top:2px}.loginCard h1{font-size:30px;margin:30px 0 6px}.muted{color:#68767d;line-height:1.55}.googleButton,.primaryButton{width:100%;border:0;border-radius:9px;padding:13px 16px;font-weight:800}.googleButton{background:#fff;border:1px solid #cfd8dc;margin-top:18px;color:#172026}.primaryButton{background:#172026;color:#fff}.primaryButton.compact{width:auto;padding:12px 18px}.or{display:flex;align-items:center;gap:12px;color:#98a2a7;font-size:12px;margin:18px 0}.or:after,.or:before{content:"";height:1px;background:#e1e6e8;flex:1 1}.loginCard label{display:block;font-size:12px;font-weight:800;margin:10px 0 5px}.loginCard input,.search{width:100%;padding:12px 14px;border:1px solid #ccd5d8;border-radius:9px;background:#fff}.loginCard form .primaryButton{margin-top:14px}.error{color:#a12622;font-size:13px}.appShell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:#152027;color:#dfe6e8;padding:22px 16px;display:flex;flex-direction:column}.sidebar .brandName{color:#fff}.sideNav{margin-top:30px;display:grid;grid-gap:5px;gap:5px}.navItem{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:#bfc9cd;border-radius:9px;padding:11px 12px;text-align:left;font-weight:700}.navItem.selected,.navItem:hover{background:#25343c;color:#fff}.navItem.selected{box-shadow:inset 3px 0 #f2c94c}.navIcon{width:20px;text-align:center;color:#8fa0a8}.sideFooter{margin-top:auto;border-top:1px solid #2b3a41;padding-top:16px}.userEmail{font-size:11px;color:#9eabb1;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}.sideFooter button{border:0;background:transparent;color:#fff;padding:0;text-decoration:underline}.content{min-width:0;padding:30px 36px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{font-size:29px;margin:4px 0}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:900;color:#748188}.topStatus{font-size:12px;color:#637078;background:#fff;border:1px solid #dbe1e3;border-radius:20px;padding:8px 12px}.liveDot{display:inline-block;width:7px;height:7px;background:#3d8b5d;border-radius:50%;margin-right:7px}.hero{background:#1b2930;color:#fff;border-radius:16px;padding:28px 30px;display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:18px}.hero .eyebrow{color:#a8b5ba}.hero h2{font-size:28px;max-width:700px;margin:7px 0}.hero p{color:#bdc7cb;max-width:720px;margin:0}.hero .primaryButton{background:#f2c94c;color:#182128}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin:18px 0}.metric{min-height:128px;background:#fff;border:1px solid #dce2e4;border-radius:13px;padding:18px;text-align:left;display:flex;flex-direction:column;align-items:flex-start}.metric:hover{border-color:#aab8bd;transform:translateY(-1px)}.metricValue{font-size:30px;font-weight:900;color:#172026}.metricLabel{font-weight:800;margin-top:8px}.metricSub{font-size:11px;color:#829096;margin-top:4px}.twoCol{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.moduleCard{background:#fff;border:1px solid #dce2e4;border-radius:14px;padding:22px;margin-top:16px}.moduleCard.wide{margin-top:0}.moduleHeader{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.moduleHeader h2{margin:5px 0 0;font-size:21px}.statusPill{font-size:9px;font-weight:900;letter-spacing:.1em;padding:7px 9px;border-radius:20px;background:#e7f3eb;color:#35724e;white-space:nowrap}.statusPill.amber{background:#fff4d8;color:#8b6612}.textButton{border:0;background:transparent;font-weight:800;color:#405159}.miniStats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:18px}.miniStats span{padding:12px;background:#f6f8f8;border-radius:9px;color:#627077;font-size:12px}.miniStats b{color:#172026;font-size:17px;margin-right:5px}.docTabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 16px}.docTabs button{border:1px solid #d3dcdf;background:#f8f9f9;border-radius:9px;padding:10px 13px;font-weight:800;color:#536168}.docTabs button.active{background:#172026;color:#fff;border-color:#172026}.docTabs b{margin-left:5px}.search{max-width:480px;margin-bottom:18px}.docGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.docCard{border:1px solid #e0e5e7;border-radius:11px;padding:16px;background:#fff}.docCard h3{margin:12px 0 8px;font-size:15px}.docTop{display:flex;justify-content:space-between;gap:10px}.code,.due,.review{font-size:10px;color:#748188;text-transform:uppercase;letter-spacing:.05em}.review{font-weight:900}.review.current{color:#35724e}.review.overdue{color:#a12622}.due{margin-top:10px}.empty{padding:40px;text-align:center;color:#7b888e;grid-column:1/-1}.globalError{margin-top:20px}@media(max-width:1050px){.metricGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.appShell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sideNav{grid-template-columns:repeat(2,1fr)}.sideFooter{margin-top:18px}.content{padding:22px 16px 45px}.hero{align-items:flex-start;flex-direction:column}.docGrid,.metricGrid,.twoCol{grid-template-columns:1fr}.topStatus{display:none}}