:root{--bg:#f3f5fa;--panel:#fff;--panel2:#eef1f8;--line:#dfe4ef;--fg:#0f1a33;--mut:#5f6b85;--acc:#0b2559;--accd:#fff;--gold:#b8901c;--ok:#1e7a46;--red:#c8323a;--amber:#b7791f;--radius:14px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1222;--panel:#141c30;--panel2:#1c2640;--line:#2a3654;--fg:#e9edf7;--mut:#97a3c0;--acc:#6f93e8;--accd:#08132b;--gold:#e0b84a;--ok:#4cc27f;--red:#ff6b6b;--amber:#f0b44c}}:root[data-theme=dark]{--bg:#0c1222;--panel:#141c30;--panel2:#1c2640;--line:#2a3654;--fg:#e9edf7;--mut:#97a3c0;--acc:#6f93e8;--accd:#08132b;--gold:#e0b84a;--ok:#4cc27f;--red:#ff6b6b;--amber:#f0b44c}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}a{color:inherit;text-decoration:none}a.link{color:var(--acc);font-weight:600}button{background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--fg);cursor:pointer;font:inherit;padding:7px 12px}button:hover:not(:disabled){border-color:var(--acc)}button:disabled{cursor:default;opacity:.55}button.primary{background:var(--acc);border-color:var(--acc);color:var(--accd);font-weight:700}button.danger{background:var(--panel);border-color:var(--red);color:var(--red);font-weight:700}button.sm{border-radius:6px;font-size:12px;padding:4px 9px}input,select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--fg);font:inherit;padding:8px 10px;width:100%}input[type=checkbox],input[type=radio]{width:auto}input[type=color]{height:36px;padding:2px}label{color:var(--mut);display:block;font-size:12px;margin:10px 0 4px}label.check{align-items:center;color:var(--fg);display:flex;font-size:13px;gap:8px;margin:6px 0}.muted{color:var(--mut)}.err{color:var(--red);font-size:12.5px;margin-top:6px;min-height:16px}.grid2{grid-template-columns:1fr 1fr}.grid2,.grid3{display:grid;gap:0 14px}.grid3{grid-template-columns:repeat(3,1fr)}.row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.spacer{flex:1}.shell{display:grid;grid-template-columns:var(--rail,236px) 1fr;min-height:100vh}:root[data-rail=collapsed]{--rail:68px}.side{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;overflow:auto;padding:12px 10px;position:sticky;top:0}.brand{border-bottom:3px solid var(--gold);display:flex;gap:10px;margin-bottom:6px;padding:4px 4px 14px}.brand,.crest{align-items:center}.crest{background:linear-gradient(135deg,var(--acc),color-mix(in srgb,var(--acc) 65%,#000));border-radius:10px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--gold) 60%,transparent);color:var(--gold);display:inline-flex;flex:none;height:36px;justify-content:center;width:36px}.crest.sm{border-radius:8px;height:28px;width:28px}.brand-name{flex:1;min-width:0}.brand-name b{color:var(--acc);display:block;font-size:13.5px;font-weight:800;line-height:1.2}.brand-name small{color:var(--gold);display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;margin-top:2px}.railtoggle{background:none;border:none;border-radius:6px;color:var(--mut);display:inline-flex;padding:4px}.railtoggle:hover{background:var(--panel2);color:var(--fg)}.navwrap{flex:1}.navgroup{color:var(--mut);font-size:10px;font-weight:700;letter-spacing:.13em;padding:14px 10px 5px;text-transform:uppercase}.navitem{align-items:center;border-radius:10px;color:var(--fg);display:flex;font-size:14px;gap:11px;margin:1px 0;padding:8px 10px;position:relative}.navitem:hover{background:var(--panel2)}.navicon{flex:none;opacity:.75}.navitem.active{background:var(--acc);box-shadow:inset 3px 0 0 var(--gold);color:var(--accd);font-weight:700}.navitem.active .navicon{color:var(--gold);opacity:1}.navlabel{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{align-items:center;border-radius:10px;color:#1a1300;display:inline-flex;font-size:11px;font-weight:800;height:20px;justify-content:center;min-width:20px;padding:0 6px}.badge,.navitem.active .badge{background:var(--gold)}.sidefoot{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:10px}.me{align-items:center;display:flex;gap:10px;padding:2px 4px}.me-text{display:flex;flex-direction:column;font-size:12.5px;line-height:1.3}.me-text span{color:var(--mut);font-size:11.5px}.foot-actions{display:flex;gap:6px}.foot-actions .sm{align-items:center;display:inline-flex;flex:1;gap:6px;justify-content:center}.side.collapsed{padding:12px 8px}.side.collapsed .brand{flex-direction:column;padding:4px 0 12px}.side.collapsed .brand-name,.side.collapsed .me-text,.side.collapsed .navlabel{display:none}.side.collapsed .navgroup{border-top:1px solid var(--line);color:transparent;height:1px;margin-top:8px;overflow:hidden;padding:8px 6px 0}.side.collapsed .navitem{justify-content:center;padding:10px 0}.side.collapsed .badge{font-size:9.5px;height:16px;min-width:16px;padding:0 4px;position:absolute;right:2px;top:2px}.side.collapsed .me{justify-content:center}.content,.side.collapsed .foot-actions{flex-direction:column}.content{display:flex;min-width:0}.main{min-width:0;padding:22px 26px}.mbar,.nav-scrim{display:none}.topbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:18px}.topbar h2{font-size:20px;margin:0}.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-bottom:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card .k{color:var(--mut);font-size:12px}.card .v{font-size:26px;font-weight:700;margin-top:6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:18px}.panel h3{font-size:15px;margin:0 0 12px}.tblwrap{border:1px solid var(--line);border-radius:var(--radius);overflow:auto}table{background:var(--panel);border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);font-size:13px;padding:10px 12px;text-align:left;white-space:nowrap}th{background:var(--panel2);color:var(--mut);font-weight:600}tr:last-child td{border-bottom:none}tbody tr.click{cursor:pointer}tbody tr.click:hover td{background:color-mix(in srgb,var(--panel2) 70%,var(--panel))}.kv{display:grid;font-size:13.5px;gap:6px 12px;grid-template-columns:140px 1fr}.kv dt{color:var(--mut)}.kv dd{margin:0;word-break:break-word}.pill.active,.pill.valid{color:var(--ok)}.pill.expired,.pill.inactive{color:var(--amber)}.pill.revoked,.pill.suspended,.pill.unknown{color:var(--red)}.avatar,.pill.replaced{color:var(--mut)}.avatar{align-items:center;background:var(--panel2);border-radius:50%;display:inline-flex;flex:none;font-size:13px;font-weight:700;height:36px;-o-object-fit:cover;object-fit:cover;width:36px}.avatar,.modal{justify-content:center}.modal{align-items:flex-start;background:#00000080;display:flex;inset:0;padding:7vh 16px;position:fixed;z-index:50}.modal .box{background:var(--panel);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:86vh;max-width:100%;overflow:hidden;width:480px}.modal .box.wide{width:820px}.modal-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 18px}.modal-head h3{font-size:16px;margin:0}.modal-body{overflow:auto;padding:16px 18px}.modal-foot{border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;padding:12px 18px}.modal-x{background:none;border:none;color:var(--mut);font-size:16px}.login{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:12vh auto;max-width:360px;padding:26px}.toasts{bottom:16px;display:flex;flex-direction:column;gap:8px;position:fixed;right:16px;z-index:90}.toast{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:10px;box-shadow:0 6px 24px #0000001f;max-width:340px;padding:10px 14px}.toast.err{border-left-color:var(--red)}.empty{color:var(--mut);padding:28px;text-align:center}@media(max-width:760px){.shell{grid-template-columns:1fr}.side,.side.collapsed{height:100dvh;padding:12px 10px;position:fixed;transform:translate(-100%);transition:transform .2s;width:min(280px,82vw);z-index:60}.side.collapsed .brand-name,.side.collapsed .me-text,.side.collapsed .navlabel{display:revert}.side.collapsed .brand{flex-direction:row}.side.collapsed .navitem{justify-content:flex-start;padding:8px 10px}.side.collapsed .navgroup{border-top:none;color:var(--mut);height:auto;padding:14px 10px 5px}.railtoggle{display:none}.nav-scrim{background:#00000073;display:block;inset:0;position:fixed;z-index:55}.mbar-menu{display:inline-flex;padding:6px 8px}.side.open{box-shadow:0 0 40px #00000059;transform:none}.mbar{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:flex;gap:10px;padding:9px 12px;position:sticky;top:0;z-index:40}.main{padding:14px 16px}.grid2,.grid3{grid-template-columns:1fr}.kv{grid-template-columns:110px 1fr}}.btn-i,button.icon-text{align-items:center;display:inline-flex;gap:7px;justify-content:center;white-space:nowrap}.d-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.seg{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg,.seg button{display:inline-flex}.seg button{align-items:center;background:transparent;border:none;border-radius:0;color:var(--fg);gap:5px;justify-content:center;padding:6px 9px}.seg button+button{border-left:1px solid var(--line)}.seg button:hover:not(:disabled){background:var(--panel2)}.seg button.on{background:color-mix(in srgb,var(--acc) 14%,var(--panel));color:var(--acc);font-weight:700}.seg.wide{display:flex}.seg.wide button{flex:1}.dpanel{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px}.dpanel h4{color:var(--mut);font-size:11px;gap:6px;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase}.dpanel h4,.person{align-items:center;display:flex}.person{gap:10px;min-width:0}.person-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.person-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-text span{color:var(--mut);font-size:12px}.section-title{align-items:center;display:flex;font-size:15px;gap:8px;margin:0 0 12px}.section-title .icon{color:var(--acc)}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.searchbox{flex:1;max-width:380px;min-width:200px;position:relative}.searchbox .icon{color:var(--mut);left:11px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.searchbox input{padding-left:34px}.iconcell{align-items:center;display:inline-flex;gap:6px}.iconcell .icon{color:var(--mut)}
