/* Lapisan tampilan premium + gaya menu Pembaruan — Ixia Digital Solution (ditumpuk di atas CSS aplikasi) */
::selection{background:rgba(245,158,11,.28)}
:focus-visible{outline:2px solid var(--gold-500,#f59e0b);outline-offset:2px;border-radius:6px}
html{-webkit-text-size-adjust:100%}
body{padding-bottom:env(safe-area-inset-bottom,0)}
.card{transition:box-shadow .25s ease,transform .25s ease}
.card:hover{box-shadow:var(--shadow-md)}
.btn-primary,.btn-login,.btn-scan-primary{position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .25s ease,filter .2s}
.btn-primary:hover,.btn-login:hover,.btn-scan-primary:hover{filter:brightness(1.06);box-shadow:0 10px 26px rgba(37,99,235,.28)}
.btn-primary:active,.btn-login:active,.btn-scan-primary:active{transform:scale(.97)}
.login-card{box-shadow:0 30px 80px rgba(2,6,23,.55),0 0 0 1px rgba(255,255,255,.1) inset;animation:ixRise .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes ixRise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.stat-card{transition:transform .25s ease,box-shadow .25s ease}.stat-card:hover{transform:translateY(-3px)}
.sidebar-nav-item{transition:background .2s,transform .15s,padding .2s}.sidebar-nav-item:active{transform:scale(.97)}
.sidebar-nav-item.upd-item i{color:var(--gold-400)}
.sidebar-nav-item.upd-item::after{content:'';margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--gold-400);box-shadow:0 0 10px var(--gold-400);display:none}
.sidebar-nav-item.upd-item.has-update::after{display:block}
.sidebar-ixia{display:flex;align-items:center;gap:.6rem;margin:.2rem .9rem .8rem;padding:.55rem .7rem;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit}
.sidebar-ixia img{width:30px;height:30px;border-radius:9px;flex:0 0 auto}
.sidebar-ixia b{display:block;font-size:.74rem;color:#fff;line-height:1.15}.sidebar-ixia small{font-size:.62rem;color:rgba(255,255,255,.6)}
.login-ixia{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.9rem;color:rgba(255,255,255,.78);font-size:.76rem;font-weight:700}
.login-ixia img{width:26px;height:26px;border-radius:8px}
#ixiaOffline{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);transform:translate(-50%,140%);z-index:10050;background:#7c2d12;color:#ffedd5;padding:.65rem 1rem;border-radius:999px;font-size:.78rem;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .35s cubic-bezier(.2,.8,.2,1);max-width:92vw;text-align:center}
#ixiaOffline.show{transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ---------- Menu Pembaruan ---------- */
.upd-hero{display:flex;gap:1rem;align-items:center;padding:1.25rem 1.4rem;border-radius:var(--radius-lg,18px);margin-bottom:1.1rem;color:#fff;
  background:radial-gradient(600px 220px at 90% -20%,rgba(251,191,36,.35),transparent),linear-gradient(135deg,#1d4ed8,#0b1224);box-shadow:var(--shadow-md)}
.upd-hero-ic{width:3.2rem;height:3.2rem;border-radius:16px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:1.4rem;flex:0 0 auto}
.upd-hero-t{font-size:1.05rem;font-weight:800}.upd-hero-s{font-size:.8rem;opacity:.85;margin-top:.2rem;line-height:1.5}
.upd-drop{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;padding:2rem 1rem;border:2px dashed var(--gray-300,#d3d9e4);border-radius:var(--radius-lg,18px);cursor:pointer;transition:.2s;background:var(--gray-50,#f8fafc)}
.upd-drop i{font-size:2rem;color:var(--blue-600,#2563eb)}.upd-drop span{font-size:.78rem;color:var(--gray-500)}
.upd-drop:hover,.upd-drop.over{border-color:var(--blue-500);background:var(--blue-50,#eef4ff);transform:translateY(-1px)}
.upd-prog{height:8px;background:var(--gray-100);border-radius:99px;overflow:hidden;margin-top:.9rem}
.upd-prog>div{height:100%;width:0;background:linear-gradient(90deg,var(--blue-600),var(--gold-500));transition:width .2s}
.upd-note{font-size:.78rem;color:var(--gray-600);line-height:1.6;margin:.8rem 0 0}
.upd-sub{font-size:.72rem;color:var(--gray-500)}
.upd-warn{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem 1rem;border-radius:var(--radius-md,14px);margin:.8rem 0;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.82rem;line-height:1.55}
.upd-warn.soft{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.upd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}@media(max-width:860px){.upd-grid{grid-template-columns:1fr}}
.upd-kv{padding:.4rem 1.25rem 1rem}.upd-kv-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--gray-200);font-size:.82rem}
.upd-kv-row span{color:var(--gray-500)}.upd-kv-row b{color:var(--gray-800);text-align:right;word-break:break-word}
.upd-pill{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.7rem;font-weight:800}
.upd-pill.ok{background:var(--green-50,#eafbf1);color:var(--green-700,#15803d)}.upd-pill.bad{background:var(--red-50,#fef2f2);color:var(--red-600,#dc2626)}
.upd-sum{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:1rem;padding:1rem;border-radius:var(--radius-md,14px);background:var(--blue-50,#eef4ff);border:1px solid var(--blue-100)}
.upd-sum span{display:block;font-size:.78rem;color:var(--gray-600)}
.upd-counts{display:flex;gap:.4rem;flex-wrap:wrap}.upd-counts span{padding:.2rem .65rem;border-radius:99px;font-size:.72rem;font-weight:800;background:var(--gray-100);color:var(--gray-600)}
.upd-counts .new{background:#dcfce7;color:#166534}.upd-counts .chg{background:#fef3c7;color:#92400e}.upd-counts .rej{background:#fee2e2;color:#991b1b}.upd-counts .prot{background:#e0e7ff;color:#3730a3}
.upd-files{margin-top:.8rem}.upd-files summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--blue-700)}
.upd-filelist{max-height:16rem;overflow:auto;margin-top:.5rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm,10px)}
.upd-filelist>div{display:flex;gap:.6rem;align-items:center;padding:.4rem .7rem;border-bottom:1px solid var(--gray-100);font-size:.76rem}
.upd-filelist code{flex:1;word-break:break-all}.upd-filelist small{color:var(--gray-400);white-space:nowrap}
.upd-filelist .tag{min-width:4.6rem;text-align:center;padding:.1rem .4rem;border-radius:6px;font-size:.66rem;font-weight:800}
.tag.new{background:#dcfce7;color:#166534}.tag.chg{background:#fef3c7;color:#92400e}.tag.same{background:var(--gray-100);color:var(--gray-500)}.tag.prot{background:#e0e7ff;color:#3730a3}.tag.rej{background:#fee2e2;color:#991b1b}
.upd-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.upd-chk{display:flex;gap:.5rem;align-items:center;font-size:.8rem;margin-top:.8rem}
