:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#112019;background:#eef4f1;--green:#0b6e53;--green2:#07543d;--soft:#e7f4ef;--line:#d7e2dd;--muted:#6d8078;--danger:#a64635;--amber:#9b6a19}
*{box-sizing:border-box}body{margin:0;background:#eef4f1;color:#112019}button,input,select,textarea{font:inherit}
.hidden{display:none!important}.error{min-height:18px;color:#a33f32;font-size:12px}.pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:800}.pill.ok{color:var(--green2);background:#eef8f4}.pill.warn{color:var(--amber);background:#fff8e8}.pill.bad{color:var(--danger);background:#fff1ed}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at top,#dcefe7,#eff5f2 55%,#e8efec)}
.login-card{width:min(420px,100%);padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px #143b2d1a}
.brand-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:23px;font-weight:950}.login-card h1{margin:15px 0 4px;font-size:24px}.login-card>p{margin:0 0 20px;color:var(--muted);font-size:12px}.login-card label{display:grid;gap:6px;margin-top:12px;font-size:11px;font-weight:800}.login-card input{height:42px;border:1px solid #c9d8d2;border-radius:10px;padding:0 12px;outline:0}.login-card input:focus{border-color:#5a9d84;box-shadow:0 0 0 3px #0b6e5318}
.primary,.ghost,.danger,.success{min-height:38px;border-radius:9px;padding:0 13px;border:0;font-weight:850;font-size:11px;cursor:pointer}.primary{background:var(--green);color:#fff}.ghost{background:#fff;color:#214438;border:1px solid #cddbd5}.danger{background:#fff1ed;color:#9c3f2e;border:1px solid #eccbc2}.success{background:#e7f4ef;color:#07543d;border:1px solid #b8d8cc}.login-card>.primary{width:100%;margin-top:18px}.mfa-box{margin-top:12px;padding:10px;border:1px solid #bad9cd;border-radius:10px;background:#eff8f4}.mfa-box small{color:var(--muted)}
.app{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;display:flex;flex-direction:column;background:#0c2c22;color:#e9f7f1}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 18px}.brand .brand-mark{background:#fff;color:var(--green2)}.brand>div:last-child{display:grid;gap:2px}.brand strong{font-size:13px}.brand span{font-size:9px;color:#afd0c2}
.sidebar nav{display:grid;gap:4px}.sidebar nav button{padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#cfe4dc;text-align:left;font-size:10px;font-weight:750;cursor:pointer}.sidebar nav button:hover,.sidebar nav button.active{background:#164536;color:#fff}.side-foot{margin-top:auto;padding:12px 6px 2px;border-top:1px solid #285043;display:grid;gap:9px}.side-foot #who{display:grid;gap:2px;font-size:9px;color:#a9c5ba}.side-foot #who strong{color:#fff;font-size:11px}.side-foot .ghost{background:transparent;color:#d8eee5;border-color:#315f50}
main{min-width:0}.topbar{height:78px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#f8fbf9}.topbar small{font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--green)}.topbar h1{margin:2px 0 0;font-size:24px}.top-actions{display:flex;align-items:center;gap:8px}.content{padding:22px;display:grid;gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 20px #173b2e0b}.kpi small{display:block;color:var(--muted);font-size:9px}.kpi strong{display:block;margin-top:4px;font-size:24px}.kpi em{display:block;margin-top:5px;font-size:8px;font-style:normal;color:#72867e}
.panel{border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 20px #173b2e0b;overflow:hidden}.panel>header{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e6ece9;background:#f9fbfa}.panel>header strong{font-size:12px}.panel>header span{font-size:9px;color:var(--muted)}.panel-body{padding:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:9.5px}th,td{padding:9px 10px;border-bottom:1px solid #edf1ef;text-align:left;vertical-align:top}th{background:#f8faf9;color:#243b33;font-size:8.5px;text-transform:uppercase;letter-spacing:.04em}td strong{font-size:10px}.muted{color:var(--muted)}.status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf3f0;font-size:8px;font-weight:900}.status.ACTIVE,.status.PASS,.status.RECOVERED,.status.RUNNING{background:#e7f4ef;color:#07543d}.status.SUSPENDED,.status.PENDING,.status.CLAIMED,.status.OBSERVING,.status.VERIFYING{background:#fff3d9;color:#805b19}.status.REVOKED,.status.FAIL,.status.ESCALATED,.status.OPERATOR_REQUIRED{background:#fff0ec;color:#9a3d2d}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid label{display:grid;gap:5px;font-size:9px;font-weight:800}.form-grid .wide{grid-column:1/3}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid #cddad4;border-radius:8px;background:#fff;color:#10241d;outline:0;font-size:10px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#67a38d;box-shadow:0 0 0 3px #0b735116}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.integration-card,.resource-card,.tenant-card{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.integration-card header,.resource-card header,.tenant-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.integration-card h3,.resource-card h3,.tenant-card h3{margin:0;font-size:13px}.integration-card p,.resource-card p,.tenant-card p{margin:4px 0 0;font-size:9px;color:var(--muted);line-height:1.5}.meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.checklist{display:grid;gap:7px}.check{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:9px;border:1px solid #e1e9e5;border-radius:9px;background:#fbfdfc}.check i{width:12px;height:12px;border-radius:50%;background:#bccbc5}.check.ready i{background:#0b6e53}.check b{font-size:9.5px}.check span{font-size:8px;color:var(--muted)}.banner{padding:12px 14px;border-radius:11px;background:#eef8f4;border:1px solid #c5ded4;color:#124c39;font-size:10px}.banner.bad{background:#fff1ed;border-color:#edc9c0;color:#8e3d2d}
.remediation{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border:1px solid #e1e9e5;border-radius:10px;background:#fbfdfc}.progress{height:5px;border-radius:99px;background:#dfe8e4;overflow:hidden;margin-top:6px}.progress>i{display:block;height:100%;background:#0b6e53}.toast{position:fixed;right:18px;bottom:18px;z-index:60;padding:11px 14px;border-radius:10px;background:#133f32;color:#fff;box-shadow:0 10px 30px #0002;font-size:10px}
@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,1fr)}.split,.cards{grid-template-columns:1fr}}@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.side-foot{margin-top:8px}.topbar{padding:0 14px}.content{padding:14px}.grid4{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.top-actions #refreshBtn{display:none}}