@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{--bg:#f8fafc;--panel:#fff;--elevated:#f1f5f9;--soft:#eaf2ff;--ink:#0f172a;--text-secondary:#42526b;--muted:#64748b;--line:#e5e7eb;--input:#fff;--hover:#eaf2ff;--primary:#1f6feb;--primary-hover:#1959bc;--accent:#14b8a6;--accent-soft:#ddfbf6;--quantum:#7c3aed;--success:#16a34a;--warn:#d97706;--danger:#dc2626;--critical:#991b1b;--side:#0e1828;--side-ink:#f3f7ff;--font-mono:'JetBrains Mono',ui-monospace,monospace;--shadow:0 16px 40px rgba(15,23,42,.10)}
[data-theme=dark]{--bg:#0b1220;--panel:#111827;--elevated:#161e2e;--soft:#172033;--ink:#f9fafb;--text-secondary:#b7c4d6;--muted:#9ca3af;--line:#243146;--input:#0f172a;--hover:#1b2940;--primary:#1f6feb;--primary-hover:#3b82f6;--accent:#14b8a6;--accent-soft:#103c39;--quantum:#7c3aed;--success:#22c55e;--warn:#f59e0b;--danger:#ef4444;--critical:#b91c1c;--side:#0e1828;--side-ink:#f3f7ff;--shadow:0 20px 55px rgba(0,0,0,.32)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 'Satoshi','Segoe UI',sans-serif}button,input,select,textarea{font:inherit}
.app{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background-color:var(--bg);background-image:radial-gradient(var(--line) .65px,transparent .65px);background-size:20px 20px}
.sidebar{position:sticky;top:0;height:100vh;background:var(--side);color:var(--side-ink);padding:20px 13px 12px;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.brand{display:flex;gap:11px;align-items:center;padding:0 9px 17px}.brand .mark{width:40px;height:40px;min-width:40px;display:block;object-fit:contain}.brand b{font:700 15px 'Satoshi','Segoe UI',sans-serif}.brand small{display:block;font-size:9px;color:#7c8ca3;letter-spacing:.15em}
.nav{overflow:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.group-title{margin:0;width:100%;color:#7c8ca3;padding:12px 11px 5px;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.14em}.nav-item{width:100%;height:38px;border:0;background:none;color:#b7c4d6;border-radius:9px;padding:0 11px;display:flex;align-items:center;gap:10px;text-align:left;margin:1px 0;cursor:pointer;font-size:12px;text-decoration:none;transition:.18s}.nav-item:hover{background:var(--hover);color:var(--ink);transform:translateX(2px)}.sidebar .nav-item:hover{color:#fff}.nav-item.active{background:color-mix(in srgb,var(--primary) 22%,var(--side));color:#fff;box-shadow:inset 3px 0 var(--primary)}.nav-item svg{width:16px;height:16px;min-width:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.count{margin-left:auto;background:color-mix(in srgb,var(--accent) 22%,var(--side));color:#dffbf7;padding:1px 6px;border-radius:9px;font-size:9px}.operator{margin-top:auto;display:flex;gap:9px;align-items:center;border:1px solid #243146;background:#0f1828;border-radius:12px;padding:9px}.avatar{width:31px;height:31px;border-radius:8px;background:var(--accent);color:#062c29;display:grid;place-items:center;font-weight:700}.operator small{display:block;color:#7c8ca3}
.main{min-width:0}.topbar{height:70px;display:flex;align-items:center;gap:10px;padding:0 28px;background:color-mix(in srgb,var(--bg) 90%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);position:sticky;top:0;z-index:5}.search{height:39px;max-width:470px;flex:1;border:1px solid var(--line);background:var(--input);border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--muted)}.search svg,.iconbtn svg{width:17px;height:17px;min-width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.search input{border:0;outline:0;background:none;color:var(--ink);width:100%}.search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.key{border:1px solid var(--line);border-radius:5px;padding:2px 5px;background:var(--elevated);font-family:var(--font-mono);font-size:9px}.top-actions{margin-left:auto;display:flex;gap:7px}.iconbtn{width:39px;height:39px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;display:grid;place-items:center;cursor:pointer;transition:.2s}.iconbtn:hover{background:var(--hover);border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}
.content{padding:30px;max-width:1480px;width:100%;margin:auto}.stage{animation:page .36s cubic-bezier(.2,.8,.2,1)}@keyframes page{from{opacity:0;transform:translateY(9px) scale(.996)}to{opacity:1;transform:none}}

/* Existing HIP routes rendered inside the replacement shell. */
.stage .admin-rule-page{min-height:0;padding:0;background:transparent;display:grid;gap:13px}.stage .admin-rule-header{max-width:none;margin:0 0 22px;padding:0;border:0;background:transparent;display:flex;justify-content:space-between;align-items:end}.stage .admin-rule-header .eyebrow{color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.stage .admin-rule-header h1{font:700 clamp(27px,3vw,40px)/1.08 'Satoshi','Segoe UI',sans-serif;margin:6px 0}.stage .admin-rule-header p{color:var(--text-secondary);margin:0;max-width:650px}.stage .hip-build-version{display:none}.stage .dashboard-refresh-controls{display:flex;gap:8px;align-items:center}.stage .primary-button,.stage .dashboard-refresh-button{height:39px;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:10px;padding:0 14px;font-weight:700;transition:.2s}.stage :is(.primary-button,.dashboard-refresh-button):hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}.stage .dashboard-refresh-status{color:var(--muted);font-family:var(--font-mono);font-size:11px}
.stage .dashboard-grid,.stage .hip-card-row{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;max-width:none;margin:0 0 13px}.stage .score-card,.stage .hip-metric-card{margin:0;padding:17px;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:15px}.stage .score-card:before,.stage .hip-metric-card:before{content:"";position:absolute;left:0;top:17px;bottom:17px;width:3px;background:var(--primary)}.stage .score-card>span,.stage .hip-metric-card span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.stage .score-card>strong,.stage .hip-metric-card strong{display:block;font:700 26px 'Satoshi','Segoe UI',sans-serif;margin:7px 0 2px}.stage .score-card h3{margin:0;font-size:12px}.stage .score-card p{display:none}
.stage .lookup-result,.stage .hip-panel,.stage .rule-builder-panel,.stage .hip-alert-row,.stage .hip-platform-row,.stage .hip-action-card,.stage .hip-privacy-callout{max-width:none;margin:0 0 13px;padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:15px;color:var(--ink)}.stage .result-header,.stage .hip-panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stage :is(.lookup-result,.hip-panel,.rule-builder-panel) h2{font:700 15px 'Satoshi','Segoe UI',sans-serif;margin:0}.stage :is(.lookup-result,.hip-panel,.rule-builder-panel) p{color:var(--text-secondary)}.stage .hip-two-column,.stage .rule-builder-grid,.stage .self-healing-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:13px;max-width:none;margin:0}.stage .hip-data-table,.stage .table-wrap table,.stage .admin-rule-table{width:100%;border-collapse:collapse}.stage :is(.hip-data-table,.table-wrap table,.admin-rule-table) th{text-align:left;padding:9px;color:var(--muted);font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.stage :is(.hip-data-table,.table-wrap table,.admin-rule-table) td{padding:12px 9px;border-top:1px solid var(--line)}.stage :is(.hip-data-table,.table-wrap table,.admin-rule-table) tbody tr:hover{background:var(--hover)}.stage .hip-pill{display:inline-flex;padding:3px 7px;border-radius:6px;font-size:9px;font-weight:700;background:var(--soft)}.stage .hip-pill.good{color:var(--success);background:color-mix(in srgb,var(--success) 13%,transparent)}.stage .hip-pill.danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 13%,transparent)}.stage .hip-pill.critical{color:var(--critical);background:color-mix(in srgb,var(--critical) 14%,transparent)}.stage .hip-pill.caution,.stage .hip-pill.suspicious{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent)}.stage :is(input,select,textarea){border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--ink)}.stage :is(input,select,textarea):focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}

@media(max-width:1050px){.app{grid-template-columns:78px 1fr}.sidebar{width:78px}.brand div,.operator div,.nav-item span,.group-title,.count{display:none}.brand,.nav-item,.operator{justify-content:center}.stage .dashboard-grid,.stage .hip-card-row{grid-template-columns:1fr 1fr}.stage .hip-two-column,.stage .rule-builder-grid,.stage .self-healing-grid{grid-template-columns:1fr}.content{padding:23px}}
@media(max-width:680px){.app{display:block}.sidebar{display:none}.topbar{padding:0 14px}.content{padding:19px 13px}.stage .admin-rule-header{display:block}.stage .dashboard-refresh-controls{margin-top:15px}.stage .dashboard-grid,.stage .hip-card-row{grid-template-columns:1fr 1fr}}
