/* Tema putih + mobile friendly */
:root{ --bg:#fff; --text:#111; --muted:#666; --line:#e9e9e9; --brand:#111; --card:#fff; --shadow:0 8px 24px rgba(0,0,0,.06); }
*{ box-sizing:border-box; }
body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:var(--bg); color:var(--text); }
a{ color:inherit; }
.container{ max-width:980px; margin:0 auto; padding:16px; }
.nav{ position:sticky; top:0; background:rgba(255,255,255,.92); backdrop-filter:saturate(1.2) blur(8px); border-bottom:1px solid var(--line); z-index:10;}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; max-width:980px; margin:0 auto; }
.brand{ font-weight:800; letter-spacing:.2px; }
.menu{ display:flex; gap:14px; font-size:14px; color:var(--muted); }
.menu a{ text-decoration:none; padding:6px 8px; border-radius:10px; }
.menu a:hover{ background:#f6f6f6; color:#111; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:16px; }
.grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:820px){ .grid{ grid-template-columns:1fr; } .menu{ gap:8px; } }
.field label{ display:block; font-size:12px; color:var(--muted); margin:0 0 6px; }
.field input, .field select, .field textarea{
  width:100%; padding:12px 12px; border:1px solid var(--line); border-radius:12px; outline:none; background:#fff;
}
.field textarea{ min-height:90px; resize:vertical; }
.row{ display:flex; gap:12px; }
.row > * { flex:1; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 14px; border-radius:12px; border:1px solid #111; background:#111; color:#fff; font-weight:700; cursor:pointer; text-decoration:none; }
.btn.secondary{ background:#fff; color:#111; }
.btn.ghost{ background:#fff; border:1px solid var(--line); color:#111; }
.btn:disabled{ opacity:.6; cursor:not-allowed; }
.help{ font-size:13px; color:var(--muted); line-height:1.4; }
.notice{ padding:12px 14px; border-radius:14px; border:1px solid var(--line); background:#fafafa; }
.notice.ok{ border-color:#c7f0d5; background:#f1fff6; }
.notice.err{ border-color:#ffd1d1; background:#fff3f3; }
hr{ border:none; border-top:1px solid var(--line); margin:16px 0; }
.small{ font-size:12px; color:var(--muted); }
.table{ width:100%; border-collapse:collapse; }
.table th,.table td{ border:1px solid var(--line); padding:8px; font-size:13px; vertical-align:top; }
.table th{ background:#fafafa; text-align:left; }
.badge{ display:inline-block; padding:4px 10px; border-radius:999px; border:1px solid var(--line); font-size:12px; color:#111; background:#fff; }
