:root{--bg:#f0efe9;--surface:#fff;--surface-2:#fafaf8;--surface-3:#f4f3ee;--border:#e6e5de;--text:#1a1a2e;--text-dim:#5a5a72;--text-muted:#8e8ea0;--c-azure:#0078d4;--c-m365:#d83b01;--c-entra:#107c10;--c-security:#5c2d91;--c-partner:#e97c00;--c-intune:#00a4ef;--c-winserver:#7a7574;--c-azure-bg:rgba(0,120,212,.08);--c-m365-bg:rgba(216,59,1,.08);--c-entra-bg:rgba(16,124,16,.08);--c-security-bg:rgba(92,45,145,.08);--c-partner-bg:rgba(233,124,0,.08);--c-intune-bg:rgba(0,164,239,.08);--c-winserver-bg:rgba(122,117,116,.08);--green:#16a34a;--orange:#d97706;--red:#dc2626;--sev-crit:#dc2626;--sev-imp:#d97706;--sev-mod:#2563eb;--sev-low:#6b7280;--modal-bg:#fff;--shadow:rgba(0,0,0,.15)}
[data-theme="dark"]{--bg:#0f1117;--surface:#181a24;--surface-2:#1f2231;--surface-3:#282b3a;--border:#2e3145;--text:#e2e4ed;--text-dim:#a0a3b5;--text-muted:#6b6f82;--c-azure:#4da6ff;--c-azure-bg:rgba(0,120,212,.15);--c-m365:#ff8a5c;--c-m365-bg:rgba(216,59,1,.15);--c-entra:#4eca4e;--c-entra-bg:rgba(16,124,16,.15);--c-security:#b088d4;--c-security-bg:rgba(92,45,145,.15);--c-partner:#ffaa44;--c-partner-bg:rgba(233,124,0,.15);--c-intune:#5ec4f5;--c-intune-bg:rgba(0,164,239,.15);--c-winserver:#a89f9e;--c-winserver-bg:rgba(122,117,116,.15);--sev-crit:#ff6b6b;--sev-imp:#fbbf24;--sev-mod:#60a5fa;--sev-low:#9ca3af;--modal-bg:#1f2231;--shadow:rgba(0,0,0,.5)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
.ctr{max-width:1500px;margin:0 auto;padding:0 24px}
/* ── Top Navigation ── */
.topnav{background:var(--surface);position:sticky;top:0;z-index:50;padding:0 24px}.topnav::before{content:'';position:absolute;top:100%;left:0;right:0;height:16px;background:linear-gradient(to right,var(--surface) calc(50% - 600px),transparent calc(50% - 600px),transparent calc(50% + 600px),var(--surface) calc(50% + 600px));pointer-events:none}.topnav::after{content:'';position:absolute;bottom:-16px;left:0;right:0;height:1px;background:linear-gradient(to right,var(--border) calc(50% - 600px),transparent calc(50% - 600px),transparent calc(50% + 600px),var(--border) calc(50% + 600px))}
.topnav-top{display:flex;align-items:center;gap:14px;height:84px}
.topnav-brand{display:flex;align-items:center;gap:0;flex-shrink:0;text-decoration:none}
.topnav-brand-text{border-left:1.5px solid var(--border);padding-left:14px}
.topnav-brand-text h1{font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.1;color:var(--text)}
.topnav-brand-text h1 .brand-blue{color:var(--c-azure)}
.topnav-brand-text p{font-size:12px;color:var(--text-muted);letter-spacing:.1px;margin-top:3px}
.topnav-icons{display:flex;align-items:center;gap:6px}
.topnav-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border:1px solid var(--border);background:transparent;cursor:pointer;transition:all .15s;text-decoration:none}
.topnav-icon:hover{background:var(--surface-2);color:var(--text);border-color:var(--text-dim)}
.topnav-bottom{display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:none;border-bottom:2px solid transparent}
.topnav-bottom::-webkit-scrollbar{display:none}
.nav-section{display:flex;flex-direction:column;position:relative;padding-right:20px;margin-right:12px;margin-bottom:-2px}
.nav-section::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:var(--border)}
.nav-section:last-child::after{display:none}
.nav-section:last-child{padding-right:0;margin-right:0}
.nav-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;margin-bottom:4px;padding-left:10px}.nav-section:nth-child(1) .nav-section-label{color:var(--c-azure)}.nav-section:nth-child(2) .nav-section-label{color:var(--c-security)}.nav-section:nth-child(3) .nav-section-label{color:var(--c-entra)}.nav-section:nth-child(4) .nav-section-label{color:var(--c-m365)}
.nav-section-items{display:flex;align-items:stretch;gap:2px;flex:1}
.nav-item{display:flex;align-items:center;gap:6px;padding:10px 10px 12px;font-size:13px;font-weight:500;color:var(--text-dim);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,background .15s;position:relative;margin-bottom:0;border-radius:7px 7px 0 0}
.nav-item:hover{color:var(--c-azure);background:var(--c-azure-bg)}
.nav-item.active{color:var(--c-azure);border-bottom-color:var(--c-azure);background:var(--c-azure-bg);font-weight:600}
.nav-section:nth-child(2) .nav-item:hover{color:var(--c-security);background:var(--c-security-bg)}
.nav-section:nth-child(2) .nav-item.active{color:var(--c-security);border-bottom-color:var(--c-security);background:var(--c-security-bg)}
.nav-section:nth-child(3) .nav-item:hover{color:var(--c-entra);background:var(--c-entra-bg)}
.nav-section:nth-child(3) .nav-item.active{color:var(--c-entra);border-bottom-color:var(--c-entra);background:var(--c-entra-bg)}
.nav-section:nth-child(4) .nav-item:hover{color:var(--c-m365);background:var(--c-m365-bg)}
.nav-section:nth-child(4) .nav-item.active{color:var(--c-m365);border-bottom-color:var(--c-m365);background:var(--c-m365-bg)}
.nav-item span{position:relative;z-index:1}
.nav-badge{background:var(--c-azure);color:#fff;border-radius:8px;padding:1px 5px;font-size:9px;font-weight:700;position:relative;z-index:1}
.nav-badge.red{background:var(--red)}
.main-content{max-width:1200px;margin:0 auto;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);border-radius:0 0 12px 12px;margin-bottom:28px;display:flow-root;position:relative}.main-content::before{content:'';position:absolute;top:16px;left:0;right:0;bottom:0;border-left:1px solid var(--border);border-right:1px solid var(--border);pointer-events:none;z-index:0}
header{display:none}
.tb{display:none}
.tp{padding-top:0}
@media(max-width:768px){.topnav-brand-text p{display:none}.nav-section-label{display:none}.nav-section-items{padding-top:4px}.nav-item{padding:0 8px 8px;font-size:12px}}
.tt{width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--text-dim);text-decoration:none} .tt:hover{border-color:var(--text-muted);color:var(--text)}
.tb{display:flex;gap:0;border-bottom:1px solid var(--border);margin-top:20px;overflow-x:auto}
.tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap} .tab:hover{color:var(--text)} .tab.active{color:var(--c-azure);border-bottom-color:var(--c-azure)}
.tc{font-size:11px;background:var(--surface-2);padding:1px 6px;border-radius:8px;margin-left:6px}
.tp{display:none} .tp.active{display:block}
.sr{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}
.st{font-size:11px;color:var(--text-muted);margin-left:auto}
.ctl{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 0 11px;border-bottom:1px solid var(--border)}
.fc{display:flex;gap:5px;flex-wrap:wrap;align-items:center;flex:1}
.chip{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .2s;white-space:nowrap;user-select:none} .chip:hover{border-color:var(--text-muted);color:var(--text)}
.chip.ca.active{background:var(--c-azure-bg);border-color:var(--c-azure);color:var(--c-azure)}
.chip.ce.active{background:var(--c-entra-bg);border-color:var(--c-entra);color:var(--c-entra)}
.chip.cm.active{background:var(--c-m365-bg);border-color:var(--c-m365);color:var(--c-m365)}
.chip.cs.active{background:var(--c-security-bg);border-color:var(--c-security);color:var(--c-security)}
.chip.cp.active{background:var(--c-partner-bg);border-color:var(--c-partner);color:var(--c-partner)}
.chip.ci.active{background:var(--c-intune-bg);border-color:var(--c-intune);color:var(--c-intune)}
.chip.cw.active{background:var(--c-winserver-bg);border-color:var(--c-winserver);color:var(--c-winserver)}
.chip.cd.active{background:var(--surface-3);border-color:var(--text-muted);color:var(--text)}
.rb{display:inline-flex;align-items:center;padding:0 9px;height:22px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap} .rb:hover{border-color:var(--red);color:var(--red)}
.fsel{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:0 18px 0 8px;height:28px;font-size:12px;color:var(--text);font-family:inherit;outline:none;cursor:pointer;transition:border-color .2s;appearance:none;max-width:120px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%23bbb'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center} .fsel:focus{outline:none;border-color:var(--c-azure)} .fsel option{background:var(--surface);color:var(--text)}
.frow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:16px 0 10px;border-bottom:1px solid var(--border)}
.frow label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}
.fa-sep{display:inline-block;width:1px;height:18px;background:var(--border);margin:0 2px;flex-shrink:0;align-self:center}
.fa-seg{display:flex;border:1px solid var(--border);border-radius:7px;overflow:hidden;flex-shrink:0}
.di{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:0 8px;height:28px;font-size:12px;color:var(--text);font-family:inherit;outline:none;transition:border-color .2s;width:110px} .di:focus{border-color:var(--c-azure)} .di::-webkit-calendar-picker-indicator{filter:var(--cal-icon,none);cursor:pointer}
[data-theme="dark"] .di::-webkit-calendar-picker-indicator{filter:invert(0.8)}
.drb{padding:0 10px;height:28px;border-radius:7px;font-size:11.5px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .2s;font-family:inherit} .drb:hover{border-color:var(--red);color:var(--red)}
.sb{position:relative} .sb input{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px 8px 36px;font-size:13px;color:var(--text);font-family:inherit;width:260px;outline:none;transition:border-color .2s} .sb input::placeholder{color:var(--text-muted)} .sb input:focus{border-color:var(--c-azure)} .sb svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted)}
.authw{position:relative;flex-shrink:0;margin-left:auto}
.authb{height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-dim);font-size:12px;font-weight:600;padding:0 11px;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:6px;transition:all .15s;white-space:nowrap}
.authb:hover{border-color:var(--text-dim);color:var(--text)}
.authb.on{color:var(--c-azure);border-color:var(--c-azure);background:var(--c-azure-bg)}
.authdot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.authp{position:absolute;top:calc(100% + 6px);right:0;min-width:300px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px;z-index:220;box-shadow:0 4px 20px rgba(0,0,0,.12);display:none}
.authp.open{display:block}
.authttl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin-bottom:8px}
.authmsg{display:none;margin-bottom:8px;padding:7px 8px;border-radius:7px;font-size:12px;line-height:1.4}
.authmsg.ok{display:block;background:rgba(22,163,74,.11);color:#15803d;border:1px solid rgba(22,163,74,.25)}
.authmsg.err{display:block;background:rgba(220,38,38,.11);color:var(--red);border:1px solid rgba(220,38,38,.25)}
.authf{display:flex;flex-direction:column;gap:7px}
.authi{width:100%;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:0 10px;font-size:12.5px;color:var(--text);font-family:inherit;outline:none}
.authi:focus{border-color:var(--c-azure);background:var(--surface)}
.autha{display:flex;gap:7px}
.autha button{height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-dim);font-size:12px;padding:0 10px;cursor:pointer;font-family:inherit;transition:all .15s}
.autha button:hover{border-color:var(--text-dim);color:var(--text)}
.autha button.pri{background:var(--c-azure);border-color:var(--c-azure);color:#fff}
.autha button.pri:hover{filter:brightness(.95)}
.authmeta{font-size:11px;color:var(--text-muted);margin-top:2px}
.authu{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px;word-break:break-all}
.gsw{position:relative;width:280px;margin-left:0;margin-right:0;flex-shrink:0}
.gsb{display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .2s}
.gsb:focus-within{border-color:var(--c-azure);background:var(--surface)}
.gsb>svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0;margin:0 7px 0 10px;pointer-events:none}
#gSI{flex:1;background:transparent;border:none;padding:5px 4px;font-size:12px;color:var(--text);font-family:inherit;outline:none;min-width:0}
#gSI::placeholder{color:var(--text-muted)}
#gSClear{display:none;border:none;background:transparent;cursor:pointer;color:var(--text-muted);padding:0 5px;font-size:14px;line-height:1;flex-shrink:0}
#gSClear:hover{color:var(--text)}
#gScopeBtn{border:none;border-left:1px solid var(--border);background:transparent;padding:0 9px;height:30px;font-size:11px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:3px;white-space:nowrap;font-family:inherit;flex-shrink:0;transition:background .15s}
#gScopeBtn:hover{background:var(--surface-3);color:var(--text)}
.gspanel{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px;z-index:200;box-shadow:0 4px 20px rgba(0,0,0,.12);display:none}
.gspanel.open{display:block}
.gsp-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px;padding:0 4px}
.gsp-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-dim);transition:background .15s;border:none;background:transparent;text-align:left;width:100%;font-family:inherit}
.gsp-item:hover{background:var(--surface-2);color:var(--text)}
.gsp-item.active{color:var(--text)}
.gsp-dot{width:8px;height:8px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;transition:all .15s}
.gsp-item.active .gsp-dot{background:var(--c-azure);border-color:var(--c-azure)}
.tbar{display:flex;justify-content:space-between;align-items:center;padding:10px 0 8px;font-size:12px;color:var(--text-muted)} .tbar .cnt{color:var(--text-dim);font-weight:600}
.rfb{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);padding:5px 12px;font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s;display:flex;align-items:center;gap:6px} .rfb:hover{border-color:var(--text-muted);color:var(--text)} .rfb.loading svg{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.tw{overflow:hidden;background:var(--surface)}
table{width:100%;border-collapse:collapse}
thead th{text-align:left;padding:9px 16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2;cursor:pointer;user-select:none} thead th:hover{color:var(--text-dim)} thead th .sa{margin-left:4px;opacity:.4} thead th.sorted .sa{opacity:1;color:var(--c-azure)}
tbody tr{border-bottom:1px solid var(--surface-3);transition:background .15s} tbody tr:last-child{border-bottom:none} tbody tr:hover{background:var(--surface-2)} tbody tr.ck{cursor:pointer}
td{padding:10px 16px;font-size:13px;vertical-align:middle}
.tdt a{color:var(--text);text-decoration:none;font-weight:500;transition:color .15s;line-height:1.4} .tdt a:hover{color:var(--c-azure)}
.tdt .tt2{font-weight:500;line-height:1.4}
.nb{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;background:var(--c-azure-bg);color:var(--c-azure);margin-left:6px;vertical-align:middle;letter-spacing:.3px;border:1px solid rgba(0,120,212,.2)}
.cb{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}
.cb.sa2{background:var(--c-azure-bg);color:var(--c-azure)} .cb.sm2{background:var(--c-m365-bg);color:var(--c-m365)} .cb.se2{background:var(--c-entra-bg);color:var(--c-entra)} .cb.ss2{background:var(--c-security-bg);color:var(--c-security)} .cb.sp2{background:var(--c-partner-bg);color:var(--c-partner)} .cb.si2{background:var(--c-intune-bg);color:var(--c-intune)} .cb.sw2{background:var(--c-winserver-bg);color:var(--c-winserver)} .cb.sd2{background:var(--surface-3);color:var(--text-dim)}
.tdd{color:var(--text-dim);font-size:12px;white-space:nowrap}
.tds{color:var(--text-muted);font-size:12px;white-space:nowrap}
.stb{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}
.stb.dev{background:rgba(217,119,6,.1);color:#d97706}
.stb.prev{background:rgba(0,120,212,.08);color:var(--c-azure)}
.stb.ga{background:rgba(22,163,74,.1);color:#16a34a}
.stb.ret{background:rgba(220,38,38,.1);color:var(--red)}
.stb.def{background:var(--surface-3);color:var(--text-dim)}
[data-theme="dark"] .stb.dev{background:rgba(251,191,36,.12);color:#fbbf24}
[data-theme="dark"] .stb.prev{background:rgba(77,166,255,.12);color:#4da6ff}
[data-theme="dark"] .stb.ga{background:rgba(78,202,78,.12);color:#4eca4e}
[data-theme="dark"] .stb.ret{background:rgba(255,107,107,.12);color:#ff6b6b}
.tret{color:var(--red);font-weight:700}
.svb{display:inline-block;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600}
.svb.critical{background:rgba(220,38,38,.1);color:var(--sev-crit)} .svb.important{background:rgba(217,119,6,.1);color:var(--sev-imp)} .svb.moderate{background:rgba(37,99,235,.1);color:var(--sev-mod)} .svb.low{background:rgba(107,114,128,.1);color:var(--sev-low)}
.rby{color:var(--red);font-weight:600} .rbm{color:var(--orange)} .rbn{color:var(--green)}
.ls{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px}
.ldr{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--c-azure);border-radius:50%;animation:spin .8s linear infinite} .ls p{color:var(--text-muted);font-size:13px}
.es{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:14px}
.eb{background:rgba(255,60,60,.08);border:1px solid rgba(255,60,60,.2);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:#ff6b6b;display:none}
.pg{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0;font-size:13px}
.pg button{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:13px;transition:all .2s} .pg button:hover{border-color:var(--text-muted);color:var(--text)} .pg button:disabled{opacity:.3;cursor:default} .pg span{color:var(--text-muted)}
footer{padding:32px 0;text-align:center;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);margin-top:48px}
.footer-status{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:100;justify-content:center;align-items:flex-start;padding:60px 24px;overflow-y:auto} .mo.open{display:flex}
.md{background:var(--modal-bg);border-radius:16px;max-width:800px;width:100%;max-height:calc(100vh - 120px);overflow-y:auto;box-shadow:0 20px 60px var(--shadow);border:1px solid var(--border)}
.mh{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 16px;border-bottom:1px solid var(--border)} .mh h2{font-size:18px;font-weight:700;line-height:1.4;flex:1;margin-right:16px}
.mc{width:32px;height:32px;border:none;background:var(--surface-2);border-radius:8px;cursor:pointer;font-size:18px;color:var(--text-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0} .mc:hover{background:var(--surface-3)}
.mb{padding:24px 28px}
.mm{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.ml{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}
.mv{font-size:14px;color:var(--text)}
.mdsc{font-size:14px;line-height:1.7;color:var(--text-dim);padding:16px 0;border-top:1px solid var(--border);white-space:pre-wrap;word-break:break-word}
.mdlinks{padding:12px 0;border-top:1px solid var(--border)}
.mdlinks .ml{margin-bottom:8px}
.mdlinks a{display:block;color:var(--c-azure);text-decoration:none;font-size:13px;line-height:1.8;transition:opacity .2s} .mdlinks a:hover{opacity:.8}
.mln{display:inline-block;margin-top:16px;padding:8px 20px;background:var(--c-azure);color:#fff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;transition:opacity .2s} .mln:hover{opacity:.9}
@media(max-width:768px){.ctl{flex-direction:column}.sb input{width:100%}.sb{width:100%}header{padding:24px 0 16px}.st{display:none}.tab{padding:8px 10px;font-size:11px}.mm{grid-template-columns:1fr}#estGrid{grid-template-columns:1fr!important}#estGrid>div:first-child{max-height:300px!important}.gsw{width:200px}}
.est-cat{padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--surface-2);position:sticky;top:0;z-index:1}
.est-svc{padding:8px 12px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px;transition:background .15s;border-bottom:1px solid var(--surface-2)}.est-svc:hover{background:var(--surface-2)}.est-svc.added{opacity:.45;pointer-events:none}
.est-svc-icon{width:28px;height:28px;border-radius:6px;background:var(--c-azure-bg);color:var(--c-azure);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.est-item{border:1px solid var(--border);border-radius:12px;background:var(--surface);margin-bottom:12px;overflow:hidden;transition:box-shadow .2s}.est-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.est-item-hd{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer}
.est-item-hd .est-svc-icon{width:32px;height:32px;font-size:11px}
.est-item-body{padding:16px;display:none}.est-item.open .est-item-body{display:block}
.est-item-cost{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:var(--c-azure);white-space:nowrap}
.est-item-rm{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.est-item-rm:hover{border-color:var(--red);color:var(--red);background:rgba(220,38,38,.06)}
.est-sku-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:12px}
.est-sku{border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;transition:all .15s;font-size:12px}.est-sku:hover{border-color:var(--c-azure)}.est-sku.sel{border-color:var(--c-azure);background:var(--c-azure-bg)}
.est-sku-name{font-weight:600;margin-bottom:2px;font-size:13px}
.est-sku-price{font-family:'JetBrains Mono',monospace;color:var(--c-azure);font-weight:500}
.est-sku-unit{color:var(--text-muted);font-size:11px}
.est-cfg{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--surface-2)}
.est-cfg label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);display:block;margin-bottom:4px}
.est-cfg input{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;width:110px;font-family:inherit;color:var(--text);outline:none;transition:border .2s}.est-cfg input:focus{border-color:var(--c-azure)}
.est-pt-tabs{display:flex;gap:4px;margin-bottom:10px}
.est-pt-tab{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.est-pt-tab:hover{border-color:var(--text-muted)}.est-pt-tab.active{background:var(--c-azure);color:#fff;border-color:var(--c-azure)}
.est-bk-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid var(--surface-2)}.est-bk-row:last-child{border-bottom:none}
.est-fc{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}.est-fc:hover{border-color:var(--text-dim);color:var(--text)}.est-fc.active{background:var(--c-azure);color:#fff;border-color:var(--c-azure)}
/* ── Feature 6: Filter Presets ── */
.preset-bar{display:flex;gap:6px;align-items:center;padding:7px 0 8px;border-top:1px solid var(--border);flex-wrap:wrap}
.pchip{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:3px;user-select:none}
.pchip:hover{border-color:var(--c-azure);color:var(--c-azure)}
.pdelbtn{color:var(--text-muted);font-size:15px;line-height:1;cursor:pointer;margin-left:1px;transition:color .15s}
.pdelbtn:hover{color:var(--red)}
/* ── Feature 7: Quick Date Buttons ── */
.qdbt{padding:0 10px;height:28px;border:none;border-right:1px solid var(--border);background:var(--surface);font-size:11.5px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.fa-seg .qdbt:last-child{border-right:none}.qdbt:hover{background:var(--surface-2);color:var(--text)}.qdbt.active{background:var(--c-azure-bg);color:var(--c-azure);font-weight:600}
/* ── Phone layout (≤640px) ── */
@media(max-width:640px){
  /* ── Topnav ── */
  .topnav{padding:0 10px}
  .topnav-top{height:auto;min-height:50px;flex-wrap:wrap;padding:8px 0;gap:6px}
  .topnav-brand{flex:1}
  .topnav-brand-text h1{font-size:15px}
  .authw{order:2;margin-left:auto}
  .authp{min-width:270px;right:0}
  .gsw{order:3;width:100%;margin:0}
  .gsb{border-radius:8px}
  #gScopeBtn{height:32px}
  #gSI{padding:6px 4px;font-size:13px}
  .topnav-icons{gap:3px}
  .topnav-icon{width:26px;height:26px}
  .nav-item{font-size:11px;padding:4px 7px 6px}

  /* ── Main content ── */
  .main-content{padding:0 10px!important;border-radius:0!important}
  .main-content::before{display:none}

  /* ── Filter chip row ── */
  .ctl{padding:6px 0;gap:5px}
  .fc{flex-wrap:wrap;gap:4px}
  .chip{padding:2px 8px;font-size:11px}
  .sb,.sb input{width:100%}

  /* ── Filter dropdowns / date row ── */
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0;align-items:center}
  .frow label{display:none}
  .frow .fsel{width:100%;height:32px}
  .frow .drb{grid-column:1/-1;width:100%;text-align:center;height:32px}
  .fa-sep{display:none}
  .fa-seg{grid-column:1/-1}
  .fa-seg .qdbt{flex:1;height:32px;font-size:11px}
  .frow .di{width:100%}

  /* ── Table ── */
  .tw{border-radius:0}
  /* Products: hide Status(1) Category(3) Source(4); keep Title(2) Date(5) */
  #panel-products th:nth-child(1),#panel-products td:nth-child(1),
  #panel-products th:nth-child(3),#panel-products td:nth-child(3),
  #panel-products th:nth-child(4),#panel-products td:nth-child(4){display:none}
  /* Blogs: hide Category(2) Source(3); keep Title(1) Date(4) */
  #panel-blogs th:nth-child(2),#panel-blogs td:nth-child(2),
  #panel-blogs th:nth-child(3),#panel-blogs td:nth-child(3){display:none}
  /* MSRC: hide Last Updated(2) CNA(5) Impact(6); keep Release(1) CVE#(3) Title(4) Severity(7) */
  #panel-msrc th:nth-child(2),#panel-msrc td:nth-child(2),
  #panel-msrc th:nth-child(5),#panel-msrc td:nth-child(5),
  #panel-msrc th:nth-child(6),#panel-msrc td:nth-child(6){display:none}
  /* Deployments: hide Article(2) Product Family(4); keep Date(1) Title(3) Reboot(5) */
  #panel-deploys th:nth-child(2),#panel-deploys td:nth-child(2),
  #panel-deploys th:nth-child(4),#panel-deploys td:nth-child(4){display:none}
  /* Service Health: hide Type(2) Service(4) Last Update(6); keep Status(1) Title(3) Started(5) */
  #panel-serviceHealth th:nth-child(2),#panel-serviceHealth td:nth-child(2),
  #panel-serviceHealth th:nth-child(4),#panel-serviceHealth td:nth-child(4),
  #panel-serviceHealth th:nth-child(6),#panel-serviceHealth td:nth-child(6){display:none}
  /* Title cell: allow full width */
  .tdt{word-break:break-word}
  /* Date cell: compact */
  .tdd,.tds{font-size:11px;white-space:normal}
  /* NEW badge: keep visible but smaller */
  .nb{font-size:9px;padding:1px 6px;border-radius:16px}

  /* ── Toolbar (count + refresh) ── */
  .tbar{flex-direction:column;align-items:flex-start;gap:6px}
  .rfb{font-size:12px}

  /* ── Pagination ── */
  .pg{gap:4px;flex-wrap:wrap}
  .pg button{padding:4px 10px;font-size:12px}

  /* ── Modal — full-height bottom sheet ── */
  .mo{padding:0;align-items:flex-end}
  .md{border-radius:16px 16px 0 0;max-height:92vh;max-width:100%;width:100%}
  .mm{grid-template-columns:1fr}

  /* ── System stats banner — vertical stack ── */
  #sysBanner{flex-direction:column!important;gap:0!important;padding:14px 16px}
  #sysBanner>div{border-right:none!important;margin-right:0!important;padding-right:0!important;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:10px}
  #sysBanner>div:last-child{border-bottom:none!important;padding-bottom:0;margin-bottom:0}
  /* System stat value font: slightly smaller */
  #sysOverallVal,#sysTotalItems,#sysLastRefresh,#sysFeedWarn,#sysNewest{font-size:18px!important}

  /* ── System grids ── */
  #sysCatGrid{grid-template-columns:1fr 1fr!important}
  #sysApiGrid{grid-template-columns:1fr!important}

  /* ── Azure estimator ── */
  #estGrid{grid-template-columns:1fr!important}
  #estGrid>div:first-child{max-height:220px!important}
  #estBannerStats{flex-direction:column!important;gap:10px!important}
  /* Estimator region/currency: stack full width */
  #estBanner [style*="display:flex;gap:8px"]{flex-wrap:wrap!important}
  #estRegion,#estCurrency{width:100%;max-width:none}

  /* ── Service health stats bar ── */
  #shStatsBar{justify-content:flex-start!important;gap:8px;flex-wrap:wrap}

  /* ── Preset bar ── */
  .preset-bar{flex-wrap:wrap}

  /* ── Footer ── */
  footer{padding:12px 0;font-size:11px}
}
/* ── Analytics panels ── */
.anl{padding:24px 0 52px}
.anl-sh{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.anl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-bottom:26px}
.anl-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:18px 16px}
.anl-card-val{font-size:28px;font-weight:800;font-family:'JetBrains Mono',monospace;line-height:1.1;margin-bottom:4px}
.anl-card-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}
.anl-card-sub{font-size:11px;color:var(--text-muted);margin-top:3px}
.anl-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.anl-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:0}
.anl-bt{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px}
.anl-bs{font-size:11px;color:var(--text-muted);margin-bottom:16px}
.anl-dw{display:flex;align-items:center;gap:20px}
.anl-dsv{width:110px;height:110px;flex-shrink:0}
.anl-leg{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.anl-li{display:flex;align-items:center;gap:7px}
.anl-ld{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.anl-ll{font-size:12px;color:var(--text-dim);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anl-lv{font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text);min-width:28px;text-align:right}
.anl-lp{font-size:10px;color:var(--text-muted);min-width:34px;text-align:right}
.anl-hr{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.anl-hl{font-size:12px;color:var(--text-dim);width:140px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anl-ht{flex:1;height:7px;background:var(--surface-3);border-radius:99px;overflow:hidden}
.anl-hf{height:100%;border-radius:99px;transition:width .5s ease}
.anl-hc{font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-muted);min-width:36px;text-align:right}
.anl-bars{display:flex;align-items:flex-end;gap:4px;height:90px}
.anl-bar{flex:1;border-radius:3px 3px 0 0;position:relative;cursor:default;transition:opacity .15s;min-height:2px}
.anl-bar:hover{opacity:.65}
.anl-bar-tip{display:none;position:absolute;bottom:calc(100%+5px);left:50%;transform:translateX(-50%);background:var(--text);color:var(--surface);font-size:10px;font-weight:600;padding:3px 7px;border-radius:5px;white-space:nowrap;z-index:10;pointer-events:none}
.anl-bar:hover .anl-bar-tip{display:block}
.anl-blbls{display:flex;gap:4px;margin-top:6px}
.anl-blbl{flex:1;font-size:9px;color:var(--text-muted);text-align:center;overflow:hidden}
.anl-empty{color:var(--text-muted);font-size:12px;padding:20px 0;text-align:center}
.anl-sec-gap{margin-top:26px}
@media(max-width:768px){.anl-g2{grid-template-columns:1fr}.anl-cards{grid-template-columns:repeat(2,1fr)}.anl-hl{width:100px}.anl-dsv{width:90px;height:90px}}
/* ── Licence Features ── */
.lf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding-bottom:40px}
.lf-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s;overflow:hidden;display:flex;flex-direction:column}
.lf-card:hover{border-color:var(--c-azure);box-shadow:0 4px 16px rgba(0,120,212,.13);transform:translateY(-1px)}
.lf-card-top{padding:18px 20px 14px;flex:1}
.lf-card-tier{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;margin-bottom:10px;letter-spacing:.4px;text-transform:uppercase}
.lf-card-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px;line-height:1.3}
.lf-card-sid{font-size:10px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;margin-bottom:12px;letter-spacing:.3px}
.lf-card-cats{display:flex;flex-wrap:wrap;gap:5px}
.lf-cat-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:20px;font-weight:600;border:1px solid transparent;white-space:nowrap}
.lf-card-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-top:1px solid var(--border);background:var(--surface-2);font-size:11px;gap:8px}
.lf-addon-badge{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-weight:600}
.lf-plans-badge{color:var(--text-muted)}
/* Detail modal sections */
.lf-section-hdr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.lf-section-hdr:first-child{margin-top:0}
.lf-detail-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.lf-chip-sid{font-size:11px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;padding:3px 8px;background:var(--surface-2);border-radius:6px;border:1px solid var(--border)}
.lf-chip-guid{font-size:10px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;padding:3px 8px;background:var(--surface-2);border-radius:6px;border:1px solid var(--border);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}
.lf-plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.lf-cat-section{margin-bottom:16px}
.lf-cat-heading{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700}
.lf-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}
.lf-cat-count{font-size:10px;color:var(--text-muted);font-weight:400}
.lf-plan-row{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--surface-2);border-radius:6px;margin-bottom:4px;min-width:0;overflow:hidden}
.lf-plan-bar{width:3px;min-height:18px;border-radius:2px;flex-shrink:0}
.lf-plan-info{flex:1;min-width:0}
.lf-plan-name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-plan-id{font-size:10px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Add-on cards */
.lf-addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:8px}
.lf-addon-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;transition:border-color .2s;display:flex;flex-direction:column;gap:8px;min-width:0}
.lf-addon-card:hover{border-color:var(--c-azure)}
.lf-addon-name{font-size:12px;font-weight:700;color:var(--text);line-height:1.3}
.lf-addon-sid{font-size:10px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-addon-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lf-addon-new-badge{font-size:10px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1px 8px;color:var(--text-muted);font-weight:600;white-space:nowrap}
.lf-addon-cat-dots{display:flex;gap:4px;align-items:center}
.lf-addon-cat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}
.lf-addon-plans{border-top:1px solid var(--border);padding-top:8px;display:flex;flex-direction:column;gap:3px}
.lf-addon-plan-item{display:flex;flex-direction:column;gap:1px}
.lf-addon-plan-name{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-addon-plan-id{font-size:9px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-addon-more{font-size:10px;color:var(--text-dim);font-style:italic;margin-top:2px}
@media(max-width:640px){.lf-plans-grid{grid-template-columns:1fr}.lf-addons-grid{grid-template-columns:1fr}}
@media(max-width:768px){.lf-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
@media(max-width:640px){.lf-grid{grid-template-columns:1fr}.lf-card-cats{gap:4px}.lf-cat-pill{font-size:9px;padding:2px 7px}}
