:root{
  --bg:#07111f;--bg2:#0b1730;--panel:rgba(14,26,48,.82);--panel2:rgba(20,37,66,.76);
  --text:#edf6ff;--muted:#9db0c9;--line:rgba(148,163,184,.18);--brand:#38bdf8;--brand2:#8b5cf6;
  --ok:#22c55e;--warn:#f59e0b;--danger:#ef4444;--info:#60a5fa;--shadow:0 24px 70px rgba(0,0,0,.38);
}
*{box-sizing:border-box} body.cakti-body{min-height:100vh;margin:0;background:
radial-gradient(circle at 10% 0%,rgba(56,189,248,.18),transparent 34%),
radial-gradient(circle at 90% 10%,rgba(139,92,246,.18),transparent 32%),linear-gradient(135deg,var(--bg),#030712 70%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
a{color:inherit}.cakti-shell{display:flex;min-height:100vh}.cakti-sidebar{width:292px;position:sticky;top:0;height:100vh;padding:24px 18px;background:linear-gradient(180deg,rgba(8,18,35,.95),rgba(9,14,28,.86));border-right:1px solid var(--line);backdrop-filter:blur(18px);}
.cakti-main{flex:1;min-width:0}.cakti-logo{display:flex;gap:12px;align-items:center;margin-bottom:28px}.cakti-logo-mark{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));font-weight:900;font-size:23px;box-shadow:0 12px 32px rgba(56,189,248,.22)}.cakti-logo-title{font-weight:900;letter-spacing:.5px}.cakti-logo-sub{font-size:12px;color:var(--muted)}
.cakti-nav-list{display:flex;flex-direction:column;gap:8px}.cakti-nav-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;color:#c7d2fe;text-decoration:none;border:1px solid transparent;transition:.2s ease}.cakti-nav-item:hover,.cakti-nav-item.active{background:linear-gradient(135deg,rgba(56,189,248,.13),rgba(139,92,246,.12));border-color:rgba(56,189,248,.24);color:#fff;transform:translateX(2px)}
.cakti-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 32px;border-bottom:1px solid var(--line);background:rgba(7,17,31,.58);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.cakti-page{padding:30px 32px 42px}.cakti-title{font-weight:900;margin:0;letter-spacing:-.02em}.cakti-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#7dd3fc;font-weight:800}.badge-soft,.hero-badge{display:inline-flex;align-items:center;border:1px solid rgba(125,211,252,.25);background:rgba(56,189,248,.10);color:#bae6fd;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.status-pill{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:rgba(148,163,184,.14)}.status-online,.status-completed,.status-done{color:#bbf7d0;background:rgba(34,197,94,.16)}.status-offline,.status-failed{color:#fecaca;background:rgba(239,68,68,.16)}
.cakti-hero{position:relative;overflow:hidden;padding:32px;border-radius:30px;background:linear-gradient(135deg,rgba(56,189,248,.16),rgba(139,92,246,.15)),rgba(15,23,42,.86);border:1px solid var(--line);box-shadow:var(--shadow)}.cakti-hero:after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle,rgba(56,189,248,.24),transparent 65%)}
.cakti-grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.cakti-card{background:var(--panel);border:1px solid var(--line)!important;border-radius:24px!important;box-shadow:0 18px 54px rgba(0,0,0,.25);backdrop-filter:blur(18px);color:var(--text)}.metric-card{padding:18px}.metric-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.metric-value{font-size:28px;font-weight:900;line-height:1.15;margin-top:8px}.cakti-section-title{font-weight:900;letter-spacing:-.02em}.card-body{color:var(--text)}
.form-control,.form-select,textarea{background:rgba(15,23,42,.75)!important;border:1px solid rgba(148,163,184,.22)!important;color:var(--text)!important;border-radius:14px!important}.form-control:focus,.form-select:focus{border-color:rgba(56,189,248,.55)!important;box-shadow:0 0 0 .25rem rgba(56,189,248,.12)!important}.form-label{font-weight:800;color:#cbd5e1}.btn-cakti{border:0!important;color:#03111f!important;background:linear-gradient(135deg,#67e8f9,#a78bfa)!important;font-weight:900;border-radius:14px!important;box-shadow:0 16px 32px rgba(56,189,248,.18)}.btn-cakti-dark,.btn-soft{border:1px solid var(--line)!important;background:rgba(15,23,42,.74)!important;color:#dbeafe!important;border-radius:14px!important}.btn-cakti:hover,.btn-soft:hover{filter:brightness(1.07);transform:translateY(-1px)}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line)}.cakti-table{margin:0;color:var(--text)!important}.cakti-table thead th{position:sticky;top:0;background:rgba(15,23,42,.98)!important;color:#bae6fd!important;border-bottom:1px solid var(--line)!important;text-transform:uppercase;font-size:11px;letter-spacing:.11em}.cakti-table td,.cakti-table th{padding:14px 16px!important;border-color:rgba(148,163,184,.12)!important;vertical-align:middle}.cakti-table tbody tr{background:rgba(15,23,42,.38)}.cakti-table tbody tr:hover{background:rgba(56,189,248,.08)}code,.cakti-code,pre{color:#7dd3fc!important}.log-box,pre{background:rgba(2,6,23,.72);border:1px solid var(--line);border-radius:18px;padding:16px;color:#cbd5e1;white-space:pre-wrap;max-height:420px;overflow:auto}.cakti-progress{height:14px;background:rgba(148,163,184,.18);border-radius:999px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#38bdf8,#8b5cf6,#22c55e)}
.sev-critical{color:#fecaca;background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.34)}.sev-high{color:#fed7aa;background:rgba(249,115,22,.16);border-color:rgba(249,115,22,.34)}.sev-medium{color:#fef3c7;background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.34)}.sev-low{color:#bfdbfe;background:rgba(59,130,246,.16);border-color:rgba(59,130,246,.34)}.sev-info{color:#ddd6fe;background:rgba(139,92,246,.16);border-color:rgba(139,92,246,.34)}
.alert{border:1px solid var(--line)!important;background:rgba(15,23,42,.84)!important;color:#fff!important}.list-group-item{background:rgba(15,23,42,.6)!important;color:var(--text)!important;border-color:var(--line)!important}.accordion-item,.accordion-button{background:rgba(15,23,42,.76)!important;color:var(--text)!important;border-color:var(--line)!important}.accordion-button:not(.collapsed){box-shadow:none;color:#bae6fd!important}.accordion-body{background:rgba(2,6,23,.4)}
.report-cover{padding:34px;border-radius:30px;background:linear-gradient(135deg,rgba(239,68,68,.18),rgba(56,189,248,.14),rgba(139,92,246,.16));border:1px solid var(--line);box-shadow:var(--shadow)}.risk-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ef4444 0 80%,rgba(148,163,184,.18) 80%);padding:10px}.risk-ring-inner{width:124px;height:124px;border-radius:50%;display:grid;place-items:center;background:#0b1220;font-size:30px;font-weight:900}.finding-card{border:1px solid var(--line);border-radius:22px;padding:18px;background:rgba(15,23,42,.55);margin-bottom:14px}.finding-card summary{cursor:pointer;font-weight:900;color:#e0f2fe}.evidence-box{border-left:4px solid var(--brand);background:rgba(2,6,23,.72);border-radius:16px;padding:14px;margin-top:12px}
@media(max-width:980px){.cakti-shell{display:block}.cakti-sidebar{position:relative;width:auto;height:auto}.cakti-topbar{position:relative;padding:20px}.cakti-page{padding:20px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.metric-value{font-size:24px}}
@media print{body.cakti-body{background:#fff;color:#0f172a}.cakti-sidebar,.cakti-topbar .btn,.no-print{display:none!important}.cakti-shell{display:block}.cakti-page{padding:0}.cakti-card,.metric-card,.cakti-hero{box-shadow:none!important;background:#fff!important;color:#0f172a!important;border-color:#e2e8f0!important}.cakti-table thead th{background:#0f172a!important;color:#fff!important}}


/* ===== CAKTI Premium AI Analysis UI ===== */
.ai-analysis-modern{display:grid;gap:16px;margin-top:12px}
.ai-analysis-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.96));border:1px solid #dbe7f5;border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.09);color:#0f172a}
.ai-analysis-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}
.ai-analysis-head h5{margin:0;font-weight:900;color:#07111f;letter-spacing:-.02em}
.ai-analysis-dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,#0b5cff,#00c2ff);box-shadow:0 0 0 6px rgba(11,92,255,.10)}
.ai-analysis-body p{margin:0 0 10px;color:#334155;line-height:1.72}
.ai-clean-list{margin:0 0 10px 0;padding-left:20px;color:#334155}
.ai-clean-list li{margin:6px 0;line-height:1.65}
.ai-evidence-code{background:#07111f;color:#e2e8f0;border-radius:14px;padding:13px 14px;overflow:auto;border:1px solid #13243a;white-space:pre-wrap;font-size:12px}
.ai-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ai-plan-grid div{background:rgba(15,23,42,.45);border:1px solid rgba(148,163,184,.20);border-radius:16px;padding:14px}
.ai-plan-grid label{display:block;color:#9db0c9;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;margin-bottom:5px}
.ai-plan-grid strong{display:block;color:#edf6ff;word-break:break-word}
.report-view-body h1,.report-view-body h2,.report-view-body h3{display:none}
.report-view-body strong{font-weight:800}
.report-view-body p{color:#334155}
@media(max-width:900px){.ai-plan-grid{grid-template-columns:1fr}}
