/* Nota — gaya dasar (dipakai semua halaman) */
:root{--bg:#eef1ee;--card:#fbfcfb;--ink:#14211c;--mute:#5d6b65;--line:#cfd7d2;--in:#0f6b5c;--out:#b3402a;--warn:#8a6a10;--btn:#14211c;--btnt:#fbfcfb;box-sizing:border-box}
@media (prefers-color-scheme:dark){:root{--bg:#101815;--card:#18221e;--ink:#e6ede9;--mute:#93a39b;--line:#2b3a34;--in:#4fc4ac;--out:#f0876f;--warn:#e0b84a;--btn:#e6ede9;--btnt:#101815}}
*,*::before,*::after{box-sizing:inherit}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.num{font-variant-numeric:tabular-nums}
main{max-width:1000px;margin:0 auto;padding:20px 16px 48px}
header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
h1{margin:0;font-size:26px;letter-spacing:-.02em}
h2{margin:0 0 10px;font-size:16px}
nav{display:flex;gap:6px}
nav a{padding:6px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);text-decoration:none}
nav a[aria-current]{background:var(--btn);color:var(--btnt);border-color:var(--btn)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:1px solid var(--line);background:var(--card);padding:7px 12px;border-radius:6px}
button.pri{background:var(--btn);color:var(--btnt);border-color:var(--btn)}
button.dng{color:var(--out)}
:is(button,input,select,textarea,a):focus-visible{outline:2px solid var(--in);outline-offset:2px}
input,select,textarea{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%}
label{display:block;font-size:13px;color:var(--mute);margin:10px 0 3px}
.in{color:var(--in)}.out{color:var(--out)}.warn{color:var(--warn)}
.sub{font-size:13px;color:var(--mute)}
.panel{border:1px solid var(--line);border-radius:8px;background:var(--card)}
.tag{font-size:12px;border:1px solid var(--line);border-radius:4px;padding:0 6px;margin-left:6px}
.empty{color:var(--mute);padding:8px 0}
.row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}
dialog{border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:18px;width:min(420px,92vw);max-height:92vh}
dialog::backdrop{background:rgba(0,0,0,.45)}
