/* ARISE Result Zone — gaya bersama: batik lembaga + panel kaca (glassmorphism)
   Palet: #20C5BA teal · #6B4423 cokelat · #FFEED1 krem · #FFFFFF putih · #000000 hitam */
:root{
  --teal:#20C5BA;--brown:#6B4423;--cream:#FFEED1;--white:#fff;--black:#000;
  --ink:#000;--muted:rgb(75 46 22/.82);
  --glass:rgb(255 255 255/.38);--glass2:rgb(255 255 255/.58);--glass-strong:rgb(255 255 255/.78);
  --edge:rgb(255 255 255/.7);--line:rgb(107 68 35/.16);--line2:rgb(107 68 35/.34);
  --low:#b3261e;--good:#0b6b4d;
  --shadow:0 12px 36px -12px rgb(0 60 56/.45),0 2px 6px rgb(0 60 56/.12);
  --ga:.42;--blur:26px;--bgblur:0px;--bgbright:1;--bgimg:url(/shared/batik.jpg);--bgsize:min(860px,130vw) auto;--bgrep:repeat;
  --g1:rgb(255 255 255/var(--ga));--g2:rgb(255 255 255/calc(var(--ga)*.55));--gw1:rgb(255 255 255/calc(var(--ga)*1.5));--gw2:rgb(255 255 255/calc(var(--ga)*1));
  --r:18px;--mono:ui-monospace,"Cascadia Mono","SF Mono",Menlo,Consolas,monospace;
  --sans:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",sans-serif;
}
*{box-sizing:border-box}html,body{margin:0}
html{font-size:16px;color-scheme:light;background:var(--teal)}
body{min-height:100vh;font-family:var(--sans);font-size:.9375rem;line-height:1.5;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;
  background:none}
/* latar (batik / gradasi / warna / gambar) — diatur lewat theme.js */
.bg{position:fixed;inset:-40px;z-index:-2;pointer-events:none;background-color:var(--teal);background-image:var(--bgimg);background-size:var(--bgsize);background-repeat:var(--bgrep);background-position:center top;filter:blur(var(--bgblur)) brightness(var(--bgbright))}
/* kilau lembut agar kaca terasa menggantung di atas batik */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(700px 420px at 10% 0%,rgb(255 255 255/.28),transparent 65%),radial-gradient(800px 500px at 100% 100%,rgb(255 238 209/.3),transparent 60%)}
.hidden{display:none!important}.muted{color:var(--muted)}.err{color:var(--low);min-height:1.3em;margin:.4em 0;font-weight:600}
h1,h2,h3{margin:0 0 .4em;line-height:1.2;font-weight:700;letter-spacing:-.01em}h1{font-size:1.7rem}h2{font-size:1.3rem}h3{font-size:1.02rem}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
a{color:var(--brown)}

/* kaca: blur kuat + tepi putih + kilau di sisi atas */
.card,.glass{background:linear-gradient(145deg,var(--g1),var(--g2));border:1px solid var(--edge);border-radius:var(--r);padding:16px;
  backdrop-filter:blur(var(--blur)) saturate(1.7);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.7);
  box-shadow:inset 0 1px 0 rgb(255 255 255/.9),inset 0 -1px 0 rgb(255 255 255/.25),var(--shadow)}
.card h3{margin-top:0}

label{display:block;font-size:.8125rem;font-weight:600;color:var(--brown);margin:10px 0 0}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:rgb(255 255 255/.62);border:1px solid rgb(255 255 255/.85);border-radius:12px;padding:9px 12px;margin-top:4px;
  box-shadow:inset 0 1px 3px rgb(0 60 56/.12);transition:border-color .15s,box-shadow .15s,background .15s}
input::placeholder,textarea::placeholder{color:rgb(107 68 35/.55)}
input:focus,select:focus,textarea:focus{outline:none;background:rgb(255 255 255/.85);border-color:var(--teal);box-shadow:0 0 0 3px rgb(32 197 186/.35)}
textarea{resize:vertical;min-height:90px}
select{appearance:none;-webkit-appearance:none;padding-inline-end:34px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B4423' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
select option{background:#fff;color:#000}
input[type=checkbox]{width:auto;margin:0 8px 0 0;accent-color:var(--brown)}

.btn{font:inherit;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;color:var(--brown);
  background:linear-gradient(180deg,rgb(255 255 255/.85),rgb(255 255 255/.45));border:1px solid rgb(255 255 255/.9);border-radius:12px;padding:8px 15px;
  box-shadow:inset 0 1px 0 #fff,0 4px 12px -4px rgb(0 60 56/.4);transition:box-shadow .18s,transform .08s,background .18s}
.btn:hover{background:linear-gradient(180deg,#fff,rgb(255 255 255/.7));box-shadow:inset 0 1px 0 #fff,0 8px 18px -6px rgb(0 60 56/.5)}.btn:active{transform:translateY(1px)}
.btn.primary{color:var(--cream);border-color:rgb(255 255 255/.35);background:linear-gradient(180deg,#8a5a31,var(--brown));box-shadow:inset 0 1px 0 rgb(255 255 255/.35),0 8px 18px -6px rgb(107 68 35/.75)}
.btn.primary:hover{filter:brightness(1.1)}
.btn.danger{color:var(--low);background:linear-gradient(180deg,rgb(255 255 255/.85),rgb(255 225 222/.55))}
.btn.sm{padding:4px 11px;font-size:.8125rem;border-radius:9px}.btn.block{width:100%;margin-top:10px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.link{background:none;border:0;color:var(--brown);font-weight:600;cursor:pointer;font:inherit;font-weight:600;padding:3px 4px;text-align:left;border-radius:6px}.link:hover{background:rgb(255 255 255/.5)}
:focus-visible{outline:2px solid var(--brown);outline-offset:2px}

.badge{display:inline-block;padding:1px 10px;border-radius:99px;font-size:.75rem;font-weight:650;white-space:nowrap;background:rgb(255 255 255/.6);color:var(--brown);border:1px solid rgb(255 255 255/.8)}
.badge.ok{background:rgb(32 197 186/.25);color:#06504a;border-color:rgb(32 197 186/.5)}.badge.warn{background:rgb(255 225 222/.8);color:var(--low);border-color:rgb(179 38 30/.3)}.badge.amber{background:var(--cream);color:var(--brown)}

.wrap{overflow:auto;border:1px solid var(--edge);border-radius:var(--r);background:linear-gradient(145deg,var(--gw1),var(--gw2));
  backdrop-filter:blur(var(--blur)) saturate(1.7);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.7);box-shadow:inset 0 1px 0 rgb(255 255 255/.9),var(--shadow)}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}
th,td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{position:sticky;top:0;z-index:1;background:rgb(255 255 255/.75);color:var(--brown);font-weight:700;font-size:.8rem;white-space:nowrap}
tbody tr:hover td{background:rgb(255 255 255/.4)}tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right}td.c,th.c{text-align:center}
tfoot td{background:rgb(255 238 209/.8);font-weight:700;border-top:1px solid var(--line2)}

.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,80px);background:rgb(107 68 35/.94);color:var(--cream);padding:10px 18px;border-radius:14px;opacity:0;transition:.25s;z-index:99;max-width:90vw;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:rgb(179 38 30/.95);color:#fff}
.modal-bg{position:fixed;inset:0;background:rgb(0 50 48/.35);backdrop-filter:blur(8px) saturate(1.2);z-index:50;display:grid;place-items:start center;padding:28px 12px;overflow:auto}
.modal{background:linear-gradient(145deg,rgb(255 255 255/.9),rgb(255 255 255/.7));border:1px solid #fff;border-radius:22px;width:min(560px,100%);padding:20px;box-shadow:inset 0 1px 0 #fff,0 30px 70px -20px rgb(0 40 38/.65)}
.modal-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}.modal-h h2{flex:1;margin:0}.x{border:0;background:none;font-size:1.5rem;cursor:pointer;color:var(--brown)}
.foot{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
.hint{font-size:.78rem;color:var(--muted);margin:5px 0 0}
.seg{display:inline-flex;border:1px solid rgb(255 255 255/.85);border-radius:14px;padding:3px;gap:3px;background:rgb(255 255 255/.4);flex-wrap:wrap;backdrop-filter:blur(14px);box-shadow:inset 0 1px 3px rgb(0 60 56/.12)}
.seg button{font:inherit;font-size:.85rem;font-weight:650;color:var(--brown);background:none;border:0;border-radius:11px;padding:6px 14px;cursor:pointer;transition:.15s}
.seg button:hover{background:rgb(255 255 255/.5)}
.seg button.on{color:var(--cream);background:linear-gradient(180deg,#8a5a31,var(--brown));box-shadow:inset 0 1px 0 rgb(255 255 255/.3),0 4px 10px -3px rgb(107 68 35/.7)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@supports not (backdrop-filter:blur(1px)){.card,.glass,.wrap{background:rgb(255 255 255/.85)}}

main>h3,#app>h3.sec{display:inline-block;padding:5px 16px;border-radius:14px;background:rgb(255 255 255/.6);border:1px solid rgb(255 255 255/.85);backdrop-filter:blur(14px);color:var(--brown)}

/* sorotan: nilai di bawah KKM (sel) dan rata-rata di bawah minimum (baris) */
tbody tr.flag td,tbody tr.flag:hover td{background:rgb(255 205 200/.88)}
tbody tr.flag td:first-child{box-shadow:inset 5px 0 0 var(--low)}
tbody tr td.lowc,tbody tr:hover td.lowc{background:rgb(255 170 162/.95);color:#8f1710;font-weight:800}
.badge.red{background:var(--low);color:#fff;border-color:var(--low)}

/* ====== GLASS v2: kaca lebih bening — kilau diagonal, tepi bercahaya, tombol bergelembung ====== */
.card,.glass,.kpi,.pod,.rw,.top,.wrap,.notice,.modal{position:relative}
.card::before,.glass::before,.kpi::before,.pod::before,.rw::before,.top::before,.notice::before,.modal::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(118deg,rgb(255 255 255/.55) 0%,rgb(255 255 255/.12) 34%,transparent 52%),radial-gradient(120% 60% at 50% 0%,rgb(255 255 255/.35),transparent 60%)}
.card>*,.kpi>*,.pod>*,.rw>*,.top>*,.notice>*,.modal>*{position:relative;z-index:1}
.rw>.bar{position:absolute}
.card,.glass,.kpi,.pod,.rw,.top,.wrap{border-color:rgb(255 255 255/.85);
  box-shadow:inset 0 1.5px 0 rgb(255 255 255/.95),inset 0 -1.5px 0 rgb(255 255 255/.3),inset 1px 0 0 rgb(255 255 255/.5),inset -1px 0 0 rgb(255 255 255/.25),0 18px 40px -16px rgb(0 70 66/.55),0 2px 8px rgb(0 70 66/.12)}
.btn{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgb(255 255 255/.9);border-radius:14px;color:var(--brown);
  background:linear-gradient(180deg,rgb(255 255 255/.62),rgb(255 255 255/.2));backdrop-filter:blur(12px) saturate(1.8);-webkit-backdrop-filter:blur(12px) saturate(1.8);
  box-shadow:inset 0 1.5px 0 #fff,inset 0 -10px 16px -10px rgb(32 197 186/.5),0 10px 22px -10px rgb(0 70 66/.6);transition:transform .15s,box-shadow .2s,background .2s}
.btn::before{content:"";position:absolute;left:6%;right:6%;top:2px;height:48%;border-radius:12px 12px 40% 40%/12px 12px 60% 60%;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgb(255 255 255/.85),rgb(255 255 255/.05))}
.btn:hover{transform:translateY(-1px);background:linear-gradient(180deg,rgb(255 255 255/.8),rgb(255 255 255/.3));box-shadow:inset 0 1.5px 0 #fff,inset 0 -10px 16px -10px rgb(32 197 186/.6),0 14px 28px -10px rgb(0 70 66/.65),0 0 0 3px rgb(255 255 255/.35)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn.primary{color:#FFF6E4;text-shadow:0 1px 2px rgb(60 30 5/.5);border-color:rgb(255 255 255/.55);background:linear-gradient(180deg,rgb(166 112 62/.82),rgb(107 68 35/.82));
  box-shadow:inset 0 1.5px 0 rgb(255 255 255/.55),inset 0 -10px 16px -10px rgb(30 12 0/.6),0 12px 26px -10px rgb(107 68 35/.85)}
.btn.primary::before{background:linear-gradient(180deg,rgb(255 255 255/.5),rgb(255 255 255/.02))}
.btn.primary:hover{filter:brightness(1.08);background:linear-gradient(180deg,rgb(180 124 70/.88),rgb(120 76 40/.88))}
.btn.danger{color:#a3170f;background:linear-gradient(180deg,rgb(255 236 234/.75),rgb(255 190 184/.4));border-color:rgb(255 255 255/.9)}
.btn.sm{border-radius:11px}
.seg{background:rgb(255 255 255/.3);border-color:rgb(255 255 255/.85);box-shadow:inset 0 2px 5px rgb(0 70 66/.15),0 6px 16px -10px rgb(0 70 66/.5)}
.seg button{position:relative;overflow:hidden}
.seg button.on{color:#FFF6E4;text-shadow:0 1px 2px rgb(60 30 5/.45);background:linear-gradient(180deg,rgb(166 112 62/.85),rgb(107 68 35/.85));box-shadow:inset 0 1.5px 0 rgb(255 255 255/.5),0 6px 14px -6px rgb(107 68 35/.8)}
input,select,textarea{background:rgb(255 255 255/.4);border:1px solid rgb(255 255 255/.85);backdrop-filter:blur(10px) saturate(1.5);-webkit-backdrop-filter:blur(10px) saturate(1.5);box-shadow:inset 0 2px 5px rgb(0 70 66/.14),inset 0 1px 0 rgb(255 255 255/.4)}
input:focus,select:focus,textarea:focus{background:rgb(255 255 255/.72)}
.badge,.chip{backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgb(255 255 255/.9)}
.modal{background:linear-gradient(145deg,rgb(255 255 255/.78),rgb(255 255 255/.5));backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8)}
.modal-bg{background:rgb(0 60 56/.28)}
/* tombol lihat kata sandi */
.pwwrap{position:relative;display:block}.pwwrap input{padding-right:46px}
.pweye{position:absolute;right:6px;top:calc(50% + 2px);transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border:1px solid rgb(255 255 255/.85);border-radius:11px;cursor:pointer;color:var(--brown);padding:0;
  background:linear-gradient(180deg,rgb(255 255 255/.75),rgb(255 255 255/.3));box-shadow:inset 0 1px 0 #fff,0 4px 10px -4px rgb(0 70 66/.5);transition:.15s}
.pweye:hover{background:#fff}.pweye[aria-pressed=true]{background:linear-gradient(180deg,rgb(166 112 62/.85),rgb(107 68 35/.85));color:#FFF6E4}
.pweye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B4423' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
