/* Mangusada MENYAMA Panel Admin — token sistem desain (hasil ekspor statis) */
/* Plus Jakarta Sans — self-hosted per R-06 (tanpa request keluar), berkas sama dengan portal. */
@font-face{font-family:'Plus Jakarta Sans';src:url('/assets/fonts/PlusJakartaSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('/assets/fonts/PlusJakartaSans-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('/assets/fonts/PlusJakartaSans-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('/assets/fonts/PlusJakartaSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* Warna (§3, §13.1). Prefiks --ad-* wajib (AD-01). Skema terang dikunci (AD-13). */
:root{color-scheme:light;
--ad-bg:#F5F2ED;--ad-surface:#FFFFFF;--ad-surface-alt:#FAF8F5;--ad-border:#E4DFD6;--ad-border-strong:#CFC8BC;--ad-ink:#1B2320;--ad-ink-muted:#5A6560;
--ad-brand:#0F6F68;--ad-brand-dark:#0B534E;--ad-brand-tint:#E6F1F0;--ad-brand-deep:#0A3F3B;--ad-on-deep:#FFFFFF;--ad-on-deep-muted:#B9D6D2;--ad-spark:#7FC9C0;
--ad-info-bg:#E4EBF2;--ad-info-fg:#2C4260;--ad-info-line:#C0D2E4;
--ad-success-bg:#EAF1DD;--ad-success-fg:#3D6412;--ad-success-line:#C9DBA6;
--ad-warning-bg:#FCEEE0;--ad-warning-fg:#8F4108;--ad-warning-line:#F0D6BB;
--ad-danger-bg:#FBEAE8;--ad-danger-fg:#B3261E;--ad-danger-line:#F1C7C2;
--ad-neutral-bg:#EFEBE5;--ad-neutral-fg:#5F5850;--ad-neutral-line:#DAD3C9;
--ad-series-success:#3D6412;--ad-series-danger:#B3261E;--ad-series-warning:#B45309;--ad-series-info:#2C4260;--ad-series-neutral:#5F5850;--ad-series-fill:rgba(15,111,104,.10);
--ad-text-body:var(--ad-ink);--ad-text-muted:var(--ad-ink-muted);--ad-text-on-brand:#FFFFFF;--ad-surface-card:var(--ad-surface);--ad-surface-app:var(--ad-bg);--ad-surface-sunken:var(--ad-surface-alt);--ad-line:var(--ad-border);--ad-line-strong:var(--ad-border-strong);--ad-accent:var(--ad-brand);--ad-danger:var(--ad-danger-fg);--ad-field-public-bg:var(--ad-brand-tint);--ad-field-public-line:#CFE3E1;--ad-field-internal-bg:var(--ad-surface-alt)}

/* Tipografi (§4, AD-05). Basis 15px, lantai 13px — lantai 16px NFR-20 khusus portal publik. */
:root{
--ad-font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
--ad-fs-metric:32px;--ad-lh-metric:1.1;--ad-fw-metric:700;
--ad-fs-display:24px;--ad-lh-display:1.25;--ad-fw-display:700;
--ad-fs-h2:19px;--ad-lh-h2:1.3;--ad-fw-h2:700;
--ad-fs-h3:16px;--ad-lh-h3:1.4;--ad-fw-h3:600;
--ad-fs-base:15px;--ad-lh-base:1.55;--ad-fw-base:400;
--ad-fs-sm:14px;--ad-lh-sm:1.4;--ad-fw-sm:500;
--ad-fs-xs:13px;--ad-lh-xs:1.35;--ad-fw-xs:600;
--ad-ls-caps:.04em;--ad-ls-caps-wide:.06em;
--ad-text-metric:var(--ad-fs-metric);--ad-text-h1:var(--ad-fs-display);--ad-text-label:var(--ad-fs-sm);--ad-text-colhead:var(--ad-fs-xs)}

/* Bentuk, ruang, elevasi (§5, §13.1). Skala spasi terkunci ke Bootstrap 4/8/16/24/48 (AD-08). */
:root{
--ad-radius:16px;--ad-radius-sm:10px;--ad-pill:999px;
--ad-control:40px;--ad-control-lg:46px;--ad-icon-btn:36px;
--ad-sidebar-w:260px;--ad-topbar-h:72px;--ad-content-max:1440px;--ad-gutter:24px;--ad-tabbar-h:64px;
--ad-row-h:52px;--ad-head-h:44px;--ad-cell-pad-y:12px;--ad-cell-pad-x:16px;
--ad-card-pad:24px;--ad-card-pad-tight:16px;--ad-field-gap:16px;--ad-section-gap:32px;
--ad-space-1:4px;--ad-space-2:8px;--ad-space-3:16px;--ad-space-4:24px;--ad-space-5:48px;
--ad-shadow-sm:0 1px 2px rgba(27,35,32,.06);--ad-shadow-pop:0 8px 24px rgba(27,35,32,.14);
--ad-focus-ring:0 0 0 3px rgba(15,111,104,.18);
/* cincin fokus varian bahaya — dipakai kontrol di dalam .ad-field.is-invalid supaya
   field yang ditolak validasi tidak berubah jadi hijau begitu difokuskan kembali */
--ad-focus-ring-danger:0 0 0 3px rgba(179,38,30,.18);
--ad-icon-badge:14px;--ad-icon-inline:18px;--ad-icon-nav:20px;--ad-icon-std:24px;--ad-icon-empty:40px;--ad-icon-stroke:1.75;
/* Ikon di dalam kontrol form (.ad-input-icon / .ad-search) — ukuran ikon + jarak
   kiri-kanannya dibuat token supaya bisa mengecil per breakpoint (desktop/tablet/ponsel)
   tanpa mengubah markup. Lihat override di admin.css § Responsif. */
--ad-icon-field:16px;--ad-field-icon-gap:10px;--ad-field-icon-pad:10px;
--ad-icon-search:18px;--ad-search-icon-gap:10px;--ad-search-icon-pad:12px}
