@font-face{font-family:Noto Sans Ethiopic;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-ethiopic.woff2) format("woff2");unicode-range:U+1200-137F,U+1380-139F,U+2D80-2DDF,U+AB00-AB2F,U+1E7E0-1E7FF}:root{color-scheme:light;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Ethiopic", "Abyssinica SIL", "Nyala", sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--bg: #f4f6f5;--surface: #ffffff;--surface-muted: #eef2f0;--surface-hover: #e6ebe8;--surface-raised: #ffffff;--border: #d5dcd8;--text: #17211c;--text-muted: #5b6963;--accent: #0b5d4e;--on-accent: #ffffff;--accent-bg: #dcefe9;--accent-text: #0a4a3f;--ok: #1f7a4d;--ok-bg: #dff3e7;--ok-text: #155c39;--warn: #b26a00;--warn-bg: #fdf0d8;--warn-text: #7a4a00;--danger: #b42318;--danger-bg: #fbe4e1;--danger-text: #8a1a12;--danger-border: #f0b4ad;--chip-bg: #e7ebe9;--chip-text: #2c3a34;--strip-bg: #17211c;--strip-text: #e8eeeb;--chart-1: #0b5d4e;--chart-2: #b26a00;--chart-3: #2f5f9e;--chart-4: #8a4ba0;--radius: 8px;--radius-lg: 12px;--shadow: 0 6px 20px rgb(23 33 28 / .08);--focus: 0 0 0 3px #ffd166}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0f1513;--surface: #161e1b;--surface-muted: #1d2724;--surface-hover: #243029;--surface-raised: #1d2724;--border: #2d3a35;--text: #e6ece9;--text-muted: #9aa8a2;--accent: #4fb89f;--on-accent: #0b1a16;--accent-bg: #173b33;--accent-text: #a8e3d2;--ok: #4fbf84;--ok-bg: #163a28;--ok-text: #a9e6c2;--warn: #e0a640;--warn-bg: #3b2c0e;--warn-text: #f3d08a;--danger: #ef6b60;--danger-bg: #3d1a16;--danger-text: #f6b1aa;--danger-border: #6a2a24;--chip-bg: #263430;--chip-text: #cfd9d4;--strip-bg: #050908;--strip-text: #c7d1cc;--chart-1: #4fb89f;--chart-2: #e0a640;--chart-3: #7aa7e0;--chart-4: #c08ad6;--shadow: 0 6px 20px rgb(0 0 0 / .4)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1513;--surface: #161e1b;--surface-muted: #1d2724;--surface-hover: #243029;--surface-raised: #1d2724;--border: #2d3a35;--text: #e6ece9;--text-muted: #9aa8a2;--accent: #4fb89f;--on-accent: #0b1a16;--accent-bg: #173b33;--accent-text: #a8e3d2;--ok: #4fbf84;--ok-bg: #163a28;--ok-text: #a9e6c2;--warn: #e0a640;--warn-bg: #3b2c0e;--warn-text: #f3d08a;--danger: #ef6b60;--danger-bg: #3d1a16;--danger-text: #f6b1aa;--danger-border: #6a2a24;--chip-bg: #263430;--chip-text: #cfd9d4;--strip-bg: #050908;--strip-text: #c7d1cc;--chart-1: #4fb89f;--chart-2: #e0a640;--chart-3: #7aa7e0;--chart-4: #c08ad6;--shadow: 0 6px 20px rgb(0 0 0 / .4)}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font);font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent-text);text-underline-offset:2px}@media(prefers-color-scheme:dark){:root[data-theme=dark] a,:root:not([data-theme=light]) a{color:var(--accent)}}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:4px}h1,h2,h3{line-height:1.25;overflow-wrap:anywhere}h2{font-size:1.1rem;margin:0 0 12px}code,.mono{font-family:var(--font-mono);font-size:.95em}.muted{color:var(--text-muted)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted);font-weight:500}.boot-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:boot-spin .9s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{background:var(--surface-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn-secondary{background:var(--surface)}.btn-link{border-color:transparent;background:transparent;color:var(--accent-text)}.btn-link:hover{background:var(--surface-hover)}.btn-sm{min-height:32px;padding:4px 10px;font-size:.9rem}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer}.icon-btn:hover{background:var(--surface-hover)}label{display:grid;gap:4px}label>span{font-size:.9rem;font-weight:500}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-height:40px;width:100%}textarea{min-height:96px;resize:vertical}input[type=radio],input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0}.form-error{margin:0;padding:8px 12px;border-radius:var(--radius);background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.95rem}.table th,.table td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.table thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;white-space:nowrap}.table tbody th{font-weight:600}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-compact th,.table-compact td{padding:6px 8px}.table-rows tbody tr:hover{background:var(--surface-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
