:root{--color-surface:#fff;--color-surface-raised:#f8fafc;--color-border:#e2e8f0;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-accent:#0d9488;--color-accent-hover:#0f766e;--color-accent-contrast:#fff;--color-positive:#15803d;--color-negative:#b91c1c;--color-warning:#b45309;--color-backdrop:rgba(15,23,42,.45);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--font-family:system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--shadow-flat:none;--shadow-raised:0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-modal:0 20px 40px rgba(0,0,0,.16), 0 8px 16px rgba(0,0,0,.08);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--duration-fast:.15s;--duration-base:.25s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-surface:#0f172a;--color-surface-raised:#1e293b;--color-border:#334155;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-accent:#2dd4bf;--color-accent-hover:#5eead4;--color-accent-contrast:#052e2b;--color-positive:#4ade80;--color-negative:#f87171;--color-warning:#fbbf24;--color-backdrop:rgba(2,6,23,.65);--shadow-raised:0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-modal:0 20px 40px rgba(0,0,0,.5), 0 8px 16px rgba(0,0,0,.3)}}:root[data-theme=dark]{--color-surface:#0f172a;--color-surface-raised:#1e293b;--color-border:#334155;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-accent:#2dd4bf;--color-accent-hover:#5eead4;--color-accent-contrast:#052e2b;--color-positive:#4ade80;--color-negative:#f87171;--color-warning:#fbbf24;--color-backdrop:rgba(2,6,23,.65);--shadow-raised:0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-modal:0 20px 40px rgba(0,0,0,.5), 0 8px 16px rgba(0,0,0,.3)}*,:before,:after{box-sizing:border-box}body{padding:var(--space-6);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);font-variant-numeric:tabular-nums;margin:0;line-height:1.5}h1,h2,h3,h4{color:var(--color-text-primary);margin:0 0 var(--space-4);font-weight:600;line-height:1.25}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl);margin-top:var(--space-8)}h3,h4{font-size:var(--font-size-lg);margin-top:var(--space-6)}p{color:var(--color-text-secondary);margin:0 0 var(--space-4)}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}ul{margin:0 0 var(--space-6);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}li{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}button{font-family:inherit;font-size:var(--font-size-sm);color:var(--color-accent-contrast);background:var(--color-accent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);border:none;font-weight:600}button:hover{background:var(--color-accent-hover)}button:disabled{background:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0 var(--space-2) var(--space-2) 0}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}table{border-collapse:collapse;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;margin-bottom:var(--space-6);overflow:hidden}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}td:last-child,th:last-child{text-align:right}th{color:var(--color-text-secondary);font-weight:600;font-size:var(--font-size-sm);background:var(--color-surface)}tr:hover td{background:var(--color-surface)}.app-dialog-backdrop{background:var(--color-backdrop);backdrop-filter:blur(2px);z-index:1000;animation:app-dialog-fade-in var(--duration-base) var(--ease-standard);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-width:32rem;width:calc(100% - var(--space-8));max-height:calc(100vh - var(--space-8));animation:app-dialog-scale-in var(--duration-base) var(--ease-standard);overflow-y:auto}.app-dialog-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.app-dialog-header h2{font-size:var(--font-size-lg);margin:0}.app-dialog-close{color:var(--color-text-secondary);font-size:var(--font-size-lg);padding:var(--space-1) var(--space-2);background:0 0;line-height:1}.app-dialog-close:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.app-dialog-body{padding:var(--space-6)}@keyframes app-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-dialog-scale-in{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=640px){.app-dialog-backdrop{align-items:flex-end}.app-dialog{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:none;max-height:85vh;animation:app-dialog-slide-up var(--duration-base) var(--ease-standard)}@keyframes app-dialog-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.app-dialog-backdrop,.app-dialog{animation:none}button{transition:none}}