:root{--teal-50:#f0fdfa;--teal-100:#ccfbf1;--teal-200:#99f6e4;--teal-300:#5eead4;--teal-400:#2dd4bf;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--teal-800:#115e59;--teal-900:#134e4a;--teal-950:#042f2e;--coral-50:#fff1f2;--coral-100:#ffe4e6;--coral-200:#fecdd3;--coral-300:#fda4af;--coral-400:#fb7185;--coral-500:#f43f5e;--coral-600:#e11d48;--coral-700:#be123c;--coral-800:#9f1239;--coral-900:#881337;--coral-950:#4c0519;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--color-bg:#fff;--color-surface:#fff;--color-surface-muted:var(--slate-50);--color-border:var(--slate-200);--color-text:var(--slate-800);--color-text-muted:var(--slate-500);--color-primary:var(--teal-500);--color-primary-strong:var(--teal-700);--color-on-primary:#fff;--color-accent:var(--coral-400);--status-lunas:#16a34a;--status-belum:var(--coral-600);--status-menunggu:#b45309;--status-empty:var(--slate-300);--row-selected-bg:var(--teal-50);--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-card:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-sticky:0 -2px 12px #0f172a1a;--tap-target-min:48px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);margin:0;line-height:1.5}h1,h2,h3{color:var(--color-text);line-height:1.25}a{color:var(--color-primary-strong)}button,input,select,textarea{font:inherit}input,select,textarea{min-height:var(--tap-target-min);width:100%;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}
