:root{--bg:#0b0f14;--panel:rgba(18,27,39,.60);--panel2:rgba(15,22,32,.78);--border:rgba(255,255,255,.08);--text:rgba(255,255,255,.92);--muted:rgba(255,255,255,.60);--shadow:0 10px 36px rgba(0,0,0,.35);--font:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
:root.light{--bg:#f8f9fa;--panel:rgba(255,255,255,.80);--panel2:rgba(249,250,251,.90);--border:rgba(0,0,0,.08);--text:rgba(0,0,0,.88);--muted:rgba(0,0,0,.55);--shadow:0 10px 36px rgba(0,0,0,.08)}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 800px at 20% 10%,rgba(59,130,246,.18),transparent 60%),radial-gradient(900px 700px at 80% 0%,rgba(34,197,94,.10),transparent 55%),var(--bg);transition:background-color 0.3s ease,color 0.3s ease}
:root.light body{background:radial-gradient(1200px 800px at 20% 10%,rgba(59,130,246,.08),transparent 60%),radial-gradient(900px 700px at 80% 0%,rgba(34,197,94,.05),transparent 55%),var(--bg)}
a{color:inherit;text-decoration:none}
.shell{display:flex;min-height:100vh}
.sidebar{width:292px;padding:14px;border-right:1px solid var(--border);background:var(--panel2);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:14px}
.brand{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--shadow)}
.logo{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(59,130,246,.20);border:1px solid rgba(59,130,246,.25);font-weight:900}
.brand-title{font-weight:900}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}
.nav{display:flex;flex-direction:column;gap:6px;padding:6px}
.nav a{padding:10px 12px;border-radius:14px;border:1px solid transparent;color:var(--muted)}
.nav a:hover{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.06);color:var(--text)}
.nav a.active{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.30);color:var(--text)}
.nav a.nav-sub{padding:6px 12px 6px 32px;font-size:13px;border-radius:10px}
.nav a.nav-sub:not(.active){opacity:.7}
.ssp-subnav{display:flex;gap:4px;padding:8px 0 16px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}
.ssp-tab{padding:7px 14px;border-radius:10px;font-size:13px;color:var(--muted);border:1px solid transparent;white-space:nowrap}
.ssp-tab:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);color:var(--text)}
.ssp-tab.active{background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.35);color:var(--text);font-weight:600}
:root.light .ssp-tab:hover{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.08)}
:root.light .nav a.nav-sub:not(.active){opacity:.6}
.footer{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.pill{font-size:12px;color:var(--muted);padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(18,27,39,.45)}
.pill.small{font-size:11px;color:rgba(255,255,255,.50)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:rgba(15,22,32,.55);backdrop-filter:blur(14px)}
.crumb{font-weight:900}.actions{display:flex;gap:10px}
.content{padding:18px;overflow:auto;flex:1}
.card{border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--shadow);padding:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:1150px){.grid3{grid-template-columns:1fr}}
@media(max-width:1050px){.grid2{grid-template-columns:1fr}.sidebar{display:none}}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.divider{height:1px;background:var(--border);margin:12px 0}
.muted{color:var(--muted);line-height:1.5}.small{font-size:12px}.right{margin-left:auto}
.btn{display:inline-block;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);padding:10px 12px;border-radius:14px}
.btn:hover{background:rgba(255,255,255,.06)}
.btn.primary{background:rgba(59,130,246,.22);border-color:rgba(59,130,246,.35)}
.btn.primary:hover{background:rgba(59,130,246,.28)}
.btn.danger{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.35)}
.btn.danger:hover{background:rgba(239,68,68,.20)}
.form{display:flex;flex-direction:column;gap:10px}
.field{display:flex;flex-direction:column;gap:6px}
label{font-size:12px;color:var(--muted)}
input,select,textarea{padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:rgba(0,0,0,.12);color:var(--text);outline:none}
textarea{resize:vertical}
pre.pre{white-space:pre-wrap;word-break:break-word;background:rgba(0,0,0,.12);border:1px solid var(--border);padding:12px;border-radius:16px;color:rgba(255,255,255,.85);max-height:520px;overflow:auto}
.tablewrap{overflow:auto;border:1px solid var(--border);border-radius:16px;background:rgba(0,0,0,.10)}
table{border-collapse:collapse;width:100%}
th,td{padding:10px 10px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:top}
th{font-size:12px;color:rgba(255,255,255,.70)}td{font-size:13px}
details summary{cursor:pointer}
.alert{padding:10px 12px;border-radius:16px;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.12);margin:10px 0}
.sev{padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:11px}
.sev-info,.sev-low{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.25)}
.sev-medium{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35)}
.sev-high,.sev-critical{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35)}
.badge{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}
.theme-toggle{cursor:pointer;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--panel);display:grid;place-items:center;font-size:18px;transition:all 0.3s ease}
.theme-toggle:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}

/* Quill Editor Table Styles */
.ql-editor table,.ql-container table,#editor table{border-collapse:collapse;width:100%;margin:16px 0;color:#000;font-size:14px}
.ql-editor table td,.ql-editor table th,.ql-container table td,.ql-container table th,#editor table td,#editor table th{border:1px solid #ddd;padding:10px;text-align:left;vertical-align:top}
.ql-editor table th,.ql-container table th,#editor table th{background:#f0f4f8;font-weight:600;color:#1a202c}
.ql-editor table tr:nth-child(even),.ql-container table tr:nth-child(even),#editor table tr:nth-child(even){background:#f9fafb}
.ql-editor table tr:hover,.ql-container table tr:hover,#editor table tr:hover{background:#f1f5f9}
.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-container h2,.ql-container h3,.ql-container h4,#editor h2,#editor h3,#editor h4{color:#1a202c;margin-top:24px;margin-bottom:12px}
.ql-editor p,.ql-container p,#editor p{color:#374151;line-height:1.6;margin:8px 0}
.ql-editor ul,.ql-editor ol,.ql-container ul,.ql-container ol,#editor ul,#editor ol{color:#374151;padding-left:24px;margin:12px 0}
.ql-editor .badge,.ql-container .badge,#editor .badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}
.ql-editor .badge.sev-critical,.ql-container .badge.sev-critical,#editor .badge.sev-critical{background:#fee;color:#dc2626;border:1px solid #fca5a5}
.ql-editor .badge.sev-high,.ql-container .badge.sev-high,#editor .badge.sev-high{background:#ffedd5;color:#ea580c;border:1px solid #fdba74}
.ql-editor .badge.sev-medium,.ql-container .badge.sev-medium,#editor .badge.sev-medium{background:#fef3c7;color:#d97706;border:1px solid #fde047}
.ql-editor .badge.sev-low,.ql-container .badge.sev-low,#editor .badge.sev-low{background:#dcfce7;color:#16a34a;border:1px solid #86efac}
.ql-editor .badge.sev-info,.ql-container .badge.sev-info,#editor .badge.sev-info{background:#dbeafe;color:#2563eb;border:1px solid #93c5fd}
.ql-editor em,.ql-container em,#editor em{color:#6b7280;font-style:italic}
