/* Tema 1.3 — selaras dengan landing page (merah + navy) */
:root{--red:#E11D2E;--red2:#B5121F;--navy:#1B2450;--navy2:#111836;--ink:#0F172A;--muted:#5B6478;--line:#E6E9F0;--bg:#F5F6FA}
body{font-family:'Plus Jakarta Sans',Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg)}
a{color:var(--red2)}
h1{font-size:26px;letter-spacing:-.02em;font-weight:800}h2{font-size:16px;font-weight:700}
.btn{border-radius:10px;border-color:#CBD2DE;transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--red);border-color:var(--red);box-shadow:0 8px 18px -10px rgba(225,29,46,.8)}
.btn.danger{color:var(--red2);border-color:#F3A9B0}
.pill.on{background:var(--red);border-color:var(--red)}
.link{color:var(--red2)}
.card{border-color:var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
input,select,textarea{border-color:#CBD2DE;border-radius:10px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(225,29,46,.15);border-color:var(--red)}
.b-blue{background:#EEF2FF;color:#3730A3}
.bar i{background:var(--red)}
.pon.sel{outline-color:var(--red)}
.logo{background:linear-gradient(135deg,#FF4D5E,#B5121F);box-shadow:0 6px 14px -6px rgba(225,29,46,.8)}

/* ---------- sidebar ---------- */
.side{background:linear-gradient(180deg,var(--navy) 0%,var(--navy2) 100%);border-right:0;padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;flex-basis:248px}
.side .brand{color:#fff;font-size:17px;padding:4px 8px 20px;font-weight:800}
.side a{color:#C3CAE0;font-weight:600;padding:9px 12px;border-radius:10px;justify-content:flex-start;gap:10px;transition:background .15s,color .15s}
.side a:hover{background:rgba(255,255,255,.06);color:#fff}
.side a.on{background:linear-gradient(90deg,var(--red),#F2475A);color:#fff;box-shadow:0 8px 18px -10px rgba(225,29,46,.9)}
.side a .count{margin-left:auto}
.ni{display:inline-flex;width:20px;height:20px;flex:none}
.ni svg{width:20px;height:20px}
.sec{color:#7F89AB;padding:16px 12px 6px;letter-spacing:.08em}
.count{background:rgba(255,255,255,.14);color:#fff}
.count.red{background:#F43F5E}
.portal-link{border-top-color:rgba(255,255,255,.1)!important;color:#FFC9CF!important}
.side-foot{display:flex;align-items:center;gap:10px;color:#C3CAE0;border-top:1px solid rgba(255,255,255,.1);margin-top:auto;padding:14px 8px 0}
.who-box{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}
.who-box #who{color:#fff;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.who-box .link{color:#FFB3BB;text-align:left;font-size:12px}
.side .badge{font-size:11px}

/* ---------- avatar ---------- */
.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;flex:none;letter-spacing:.02em;background:var(--red)}
.avatar.sm{width:32px;height:32px;font-size:12px}
.who-cell{display:flex;align-items:center;gap:10px}

/* ---------- login ---------- */
.login{display:grid;grid-template-columns:1.1fr 1fr;padding:0;align-items:stretch;background:#fff}
.login-art{background:radial-gradient(700px 400px at 80% 10%,rgba(255,140,150,.35),transparent 60%),linear-gradient(160deg,#E3343F,#8E0F1C);color:#fff;display:flex;align-items:center;padding:48px}
.la-in{max-width:520px}
.la-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;background:#fff;color:var(--red);padding:7px 14px 7px 7px;border-radius:999px;width:max-content}
.la-brand .logo{width:26px;height:26px}
.login-art h1{font-size:clamp(28px,3vw,40px);margin:26px 0 18px;line-height:1.15}
.la-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px;color:#FFE1E4}
.la-list li{display:flex;gap:12px;align-items:center}
.la-list span{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:none}
.la-net{width:100%;max-width:440px;margin-top:10px}
.pulse-lines path{stroke-dasharray:20 200;animation:flowL 2.4s linear infinite}
.pulse-lines path:nth-child(2){animation-delay:.8s}.pulse-lines path:nth-child(3){animation-delay:1.6s}
@keyframes flowL{from{stroke-dashoffset:220}to{stroke-dashoffset:0}}
.login-side{display:flex;align-items:center;justify-content:center;padding:32px 20px;background:var(--bg)}
.login-card{max-width:400px;padding:34px;border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(15,23,42,.45);gap:6px}
.lc-head h2{font-size:22px;font-weight:800}
.lc-head p{margin:6px 0 14px}
.login-card label{margin-top:8px}
.login-card .btn{margin-top:14px;min-height:46px}
.lc-foot{text-align:center;margin:6px 0 0}
@media (max-width:860px){.login{grid-template-columns:1fr}.login-art{padding:28px 22px}.la-net,.la-list{display:none}.login-art h1{font-size:24px;margin:16px 0 0}}

/* ---------- dashboard ---------- */
.welcome{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;color:#fff;border-radius:20px;padding:24px 26px;background:radial-gradient(600px 300px at 90% 0,rgba(255,150,160,.35),transparent 60%),linear-gradient(120deg,#E3343F,#A3121F);box-shadow:0 20px 40px -28px rgba(163,18,31,.9)}
.welcome .wd{font-size:13px;font-weight:700;color:#FFD1D6;text-transform:uppercase;letter-spacing:.06em}
.welcome h1{color:#fff;margin:6px 0 6px}
.welcome p{margin:0;color:#FFE4E7;max-width:640px}
.welcome b{color:#fff}
.qa{display:grid;grid-template-columns:repeat(4,88px);gap:10px}
.qbtn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-size:12px;font-weight:700;transition:background .15s,transform .15s}
.qbtn:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
.qbtn svg{width:22px;height:22px}
.inc-live{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.beacon{width:14px;height:14px;border-radius:50%;background:#DC2626;box-shadow:0 0 0 0 rgba(220,38,38,.6);animation:bc 1.6s infinite;flex:none}
@keyframes bc{70%{box-shadow:0 0 0 14px rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi2{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;color:var(--ink);position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}
.kpi2:hover{transform:translateY(-2px);box-shadow:0 16px 30px -22px rgba(15,23,42,.5)}
.kpi2::after{content:"";position:absolute;right:-30px;top:-30px;width:100px;height:100px;border-radius:50%;opacity:.08;background:currentColor}
.ki{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}
.ki svg{width:22px;height:22px}
.kl{color:var(--muted);font-weight:600;font-size:13px}
.kv2{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:4px 0 2px}
.ks{font-size:12.5px;color:var(--muted)}
.ks .up{color:#15803D;font-weight:700}
.t-g .ki{background:#DCFCE7;color:#15803D}.t-g::after{color:#16A34A}
.t-b .ki{background:#DBEAFE;color:#1D4ED8}.t-b::after{color:#2563EB}
.t-a .ki{background:#FEF3C7;color:#B45309}.t-a::after{color:#D97706}
.t-r .ki{background:#FEE2E2;color:#B91C1C}.t-r::after{color:#DC2626}
.grid2c{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}
.grid3c{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.chart{width:100%;height:auto;margin-top:10px}
.chart .gl{stroke:#EEF0F5;stroke-width:1}
.chart .b1{fill:#E3E7F0}
.chart .b2{fill:url(#none);fill:var(--red)}
.chart .bar-g:hover .b2{fill:var(--red2)}
.chart .vl{font-size:11px;font-weight:700;fill:#334155}
.chart .xl{font-size:12px;fill:#64748B}
.legend2{display:flex;gap:14px;font-size:12px;color:var(--muted)}
.legend2 span{display:flex;align-items:center;gap:6px}
.legend2 i{width:10px;height:10px;border-radius:3px;display:inline-block}
.lg1{background:#E3E7F0}.lg2{background:var(--red)}
.ring-wrap{display:flex;gap:18px;align-items:center;margin-top:8px}
.ring-wrap>div{flex:1}
.ring{width:130px;flex:none}
.rbg{fill:none;stroke:#F1F3F8;stroke-width:12}
.rfg{fill:none;stroke:var(--red);stroke-width:12;stroke-linecap:round;transition:stroke-dasharray 1s}
.rn{font-size:24px;font-weight:800;fill:var(--ink)}.rl{font-size:11px;fill:#64748B}
.donut-wrap{display:flex;align-items:center;gap:16px;margin:8px 0 6px}
.donut{width:130px;flex:none}
.dn{font-size:26px;font-weight:800;fill:var(--ink)}.dl{font-size:11px;fill:#64748B}
.dleg{display:grid;gap:8px;flex:1;font-size:13px}
.dleg div{display:flex;align-items:center;gap:8px}
.dleg i{width:10px;height:10px;border-radius:50%}
.dleg b{margin-left:auto}
h3.sub{font-size:13px;color:var(--muted);margin:14px 0 6px;font-weight:700}
.pm{display:grid;grid-template-columns:110px 1fr 28px;gap:10px;align-items:center;font-size:13px;padding:4px 0}
.pm .bar{margin:0}
.pm b{text-align:right}
.feed{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.feed:first-of-type{border-top:0}
.feed:hover b{color:var(--red2)}
.amt{color:#15803D;font-weight:800;white-space:nowrap}
.dev{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.sdot{width:10px;height:10px;border-radius:50%;flex:none}
.sdot.ok{background:#22C55E;box-shadow:0 0 0 4px #DCFCE7}
.sdot.bad{background:#DC2626;box-shadow:0 0 0 4px #FEE2E2;animation:bc 1.6s infinite}
.minis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.minis a{background:var(--bg);border-radius:12px;padding:10px 12px;text-decoration:none;color:var(--ink)}
.minis b{display:block;font-size:20px;font-weight:800}
.minis span{font-size:12px;color:var(--muted)}
.timeline{display:grid;gap:2px}
.tl{display:flex;gap:12px;padding:8px 0;align-items:flex-start}
.tli{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none}
.tli svg{width:16px;height:16px}
.tli.t-g{background:#DCFCE7;color:#15803D}.tli.t-r{background:#FEE2E2;color:#B91C1C}.tli.t-a{background:#FEF3C7;color:#B45309}.tli.t-b{background:#DBEAFE;color:#1D4ED8}.tli.t-v{background:#EDE9FE;color:#6D28D9}.tli.t-s{background:#F1F5F9;color:#475569}
.empty{text-align:center;color:var(--muted);padding:26px 10px;font-size:14px;line-height:1.8}
td.muted[colspan]{text-align:center;padding:40px 10px;font-size:14px}
td.muted[colspan]::before{content:"🗂️";display:block;font-size:34px;margin-bottom:6px}
.main{padding:26px 30px 40px;gap:18px;max-width:1500px}
.head h1{font-size:26px}
@media (max-width:1200px){.kpis{grid-template-columns:repeat(2,1fr)}.grid3c{grid-template-columns:1fr 1fr}.grid2c{grid-template-columns:1fr}}
@media (max-width:700px){.kpis,.grid3c{grid-template-columns:1fr}.qa{grid-template-columns:repeat(4,1fr);width:100%}.side{position:static;height:auto}.welcome{padding:20px}}
a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.head a:not(.btn),.lc-foot a,.card>.head a{text-decoration:none;font-weight:700;font-size:13px}
.side a{padding:8px 12px}
.side .sec{padding:12px 12px 4px}
.side-foot .badge{display:none}
.alert.green{background:#F0FDF4;border-color:#BBF7D0;color:#14532D}
.minis div{background:var(--bg);border-radius:12px;padding:10px 12px}
.minis div b{display:block;font-size:20px;font-weight:800}
.minis div span{font-size:12px;color:var(--muted)}

/* ===== 1.5: merek Netara (indigo + amber) untuk panel ISP ===== */
:root{--red:#3730A3;--red2:#2E2A8A;--navy:#1E1B4B;--navy2:#141235}
a{color:#3730A3}
.btn.primary{background:#3730A3;border-color:#3730A3;box-shadow:0 8px 18px -10px rgba(55,48,163,.8)}
.side a.on{background:linear-gradient(90deg,#3730A3,#4F46E5);box-shadow:0 8px 18px -10px rgba(55,48,163,.9)}
.side .brand{display:flex;align-items:center;gap:10px}
.brand-ic{border-radius:8px;flex:none}
.netara-by{font-size:11.5px;color:#8E93C9;padding:12px 8px 0;margin-top:auto}
.netara-by b{color:#FBBF24}
.netara-by + .side-foot{margin-top:8px}
.welcome{background:radial-gradient(600px 300px at 90% 0,rgba(251,191,36,.25),transparent 60%),linear-gradient(120deg,#3730A3,#1E1B4B);box-shadow:0 20px 40px -28px rgba(30,27,75,.9)}
.welcome .wd{color:#C7C9F5}.welcome p{color:#E0E1FA}
.login-art{background:radial-gradient(700px 400px at 80% 10%,rgba(251,191,36,.22),transparent 60%),linear-gradient(160deg,#3730A3,#1E1B4B)}
.la-brand{color:#3730A3}.la-brand img{border-radius:7px}
.la-list{color:#E0E1FA}
.pulse-lines path{stroke:#FBBF24}
input:focus,select:focus,textarea:focus{outline-color:rgba(55,48,163,.18);border-color:#3730A3}
.pill.on{background:#3730A3;border-color:#3730A3}
.bar i,.rfg{stroke:#3730A3}.bar i{background:#3730A3}
.chart .b2{fill:#3730A3}.chart .bar-g:hover .b2{fill:#F59E0B}.lg2{background:#3730A3}
.qbtn{background:rgba(255,255,255,.12)}
.demo-hint{background:#FFFBEB;border:1px solid #FDE68A;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6;margin-top:10px}
.demo-hint code{background:#fff;border:1px solid #FDE68A;border-radius:6px;padding:0 5px}
.la-net g[fill="#FFD1D6"]{fill:#C7C9F5}
