:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-secondary:#64748b;--color-secondary-hover:#475569;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-success:#16a34a;--color-warning:#d97706;--color-bg:#ffffff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-border:#e2e8f0;--color-border-focus:#2563eb;--color-on-primary:#ffffff;--color-on-danger:#ffffff;--color-on-warning:#ffffff;--color-primary-strong:#2563eb;--color-primary-strong-hover:#1d4ed8;--color-overlay:rgba(0,0,0,0.5);--color-overlay-strong:rgba(0,0,0,0.85);--color-banner-button-bg:rgba(255,255,255,0.2);--color-banner-button-bg-hover:rgba(255,255,255,0.3);--color-banner-button-border:rgba(255,255,255,0.4);--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-error-text:#b91c1c;--color-bg-card:#ffffff;--color-bg-hover:#f5f5f5;--color-primary-dark:#1e40af;--color-success-light:#dcfce7;--color-success-dark:#166534;--color-success-bg:#dcfce7;--color-success-text:#166534;--color-info:#e0f2fe;--color-surface:#f8fafc;color-scheme:light;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","Fira Code","Fira Mono","Roboto Mono",monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1);--nav-height:3.5rem;--max-width:64rem;--sidebar-width:16rem}:root[data-theme=dark]{color-scheme:dark;--color-primary:#3b82f6;--color-primary-hover:#60a5fa;--color-primary-light:#1e3a8a;--color-secondary:#94a3b8;--color-secondary-hover:#cbd5e1;--color-danger:#f87171;--color-danger-hover:#fca5a5;--color-success:#4ade80;--color-warning:#fbbf24;--color-bg:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-text:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-focus:#60a5fa;--color-on-primary:#f8fafc;--color-on-danger:#0f172a;--color-on-warning:#0f172a;--color-overlay:rgba(0,0,0,0.6);--color-overlay-strong:rgba(0,0,0,0.9);--color-banner-button-bg:rgba(15,23,42,0.15);--color-banner-button-bg-hover:rgba(15,23,42,0.25);--color-banner-button-border:rgba(15,23,42,0.35);--color-error-bg:#450a0a;--color-error-border:#7f1d1d;--color-error-text:#fca5a5;--color-bg-card:#1e293b;--color-bg-hover:#334155;--color-primary-dark:#93c5fd;--color-success-light:#14532d;--color-success-dark:#bbf7d0;--color-success-bg:#14532d;--color-success-text:#bbf7d0;--color-info:#0c4a6e;--color-surface:#1e293b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-primary:#3b82f6;--color-primary-hover:#60a5fa;--color-primary-light:#1e3a8a;--color-secondary:#94a3b8;--color-secondary-hover:#cbd5e1;--color-danger:#f87171;--color-danger-hover:#fca5a5;--color-success:#4ade80;--color-warning:#fbbf24;--color-bg:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-text:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-focus:#60a5fa;--color-on-primary:#f8fafc;--color-on-danger:#0f172a;--color-on-warning:#0f172a;--color-overlay:rgba(0,0,0,0.6);--color-overlay-strong:rgba(0,0,0,0.9);--color-banner-button-bg:rgba(15,23,42,0.15);--color-banner-button-bg-hover:rgba(15,23,42,0.25);--color-banner-button-border:rgba(15,23,42,0.35);--color-error-bg:#450a0a;--color-error-border:#7f1d1d;--color-error-text:#fca5a5;--color-bg-card:#1e293b;--color-bg-hover:#334155;--color-primary-dark:#93c5fd;--color-success-light:#14532d;--color-success-dark:#bbf7d0;--color-success-bg:#14532d;--color-success-text:#bbf7d0;--color-info:#0c4a6e;--color-surface:#1e293b}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit}ol,ul{list-style:none}[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border-width:0}.sr-only,.text-ellipsis{overflow:hidden;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;font-size:.875rem;line-height:1.25rem;border:1px solid transparent;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background-color:var(--color-primary-strong);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-strong-hover)}.btn--secondary{background-color:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background-color:var(--color-bg-tertiary)}.btn--danger{background-color:var(--color-danger);color:var(--color-on-danger)}.btn--danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.btn--ghost{background-color:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background-color:var(--color-bg-tertiary)}.btn--sm{padding:var(--space-1) var(--space-2);font-size:.8125rem}.btn--lg{padding:var(--space-3) var(--space-6);font-size:1rem}.btn--full{width:100%}.btn--toggle{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem}.btn--toggle[aria-expanded=true]{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-primary-dark)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:border-color .15s ease;outline:none;width:100%}.form-input:focus-visible{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input--error{border-color:var(--color-danger)}.form-error{font-size:.75rem;color:var(--color-danger)}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.page{padding-top:calc(var(--nav-height) + var(--space-6));padding-bottom:var(--space-8);min-height:100vh}.page--with-sync-status{padding-bottom:calc(8rem + var(--space-4) + env(safe-area-inset-bottom, 0px))}.page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.page__title{font-size:1.5rem;font-weight:700;color:var(--color-text)}.page__subtitle{font-size:.875rem;color:var(--color-text-secondary);margin-top:var(--space-1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);text-align:center}.empty-state__title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.empty-state__description{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--space-6)}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--color-text-muted)}.error-message{padding:var(--space-3) var(--space-4);background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-danger);font-size:.875rem;margin-bottom:var(--space-4)}@media (max-width:640px){.page{padding-top:calc(var(--nav-height) + var(--space-4))}.page__header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.container{padding:0 var(--space-3)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4);background-color:var(--color-bg-secondary)}.error-boundary__content{text-align:center;max-width:24rem}.error-boundary__icon{font-size:3rem;display:block;margin-bottom:var(--space-4)}.error-boundary__title{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-2)}.error-boundary__message{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--space-6)}.error-boundary__details{font-size:.75rem;color:var(--color-danger);text-align:left;padding:var(--space-3);margin-bottom:var(--space-4);background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);overflow-x:auto;white-space:pre-wrap;word-break:break-word}@media (prefers-reduced-motion:reduce){.btn,.form-input{animation-duration:.01ms;transition-duration:.01ms}}.table-wrap{overflow-x:auto;padding:0}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table td,.admin-table th{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}.admin-table th{font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-table--sm{font-size:.8125rem}.admin-table--compact td,.admin-table--compact th{padding:var(--space-2) var(--space-3)}.admin-empty{padding:var(--space-8);text-align:center;color:var(--color-text-secondary)}.admin-badge{color:var(--color-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.admin-status--active{color:var(--color-success,#1a7f37)}.admin-status--inactive{color:var(--color-text-secondary)}.admin-actions-cell{white-space:nowrap}.admin-table-actions{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center;min-height:2rem;flex-wrap:nowrap}.admin-table-actions__placeholder{color:var(--color-text-secondary)}.admin-name{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1);word-break:break-word}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-6)}.admin-pagination__info{font-size:.875rem;color:var(--color-text-secondary)}