:root{--bg:#ffffff;--bg-muted:#f5f5f4;--fg:#1c1917;--fg-muted:#78716c;--border:#e7e5e4;--accent:#1d4ed8;--accent-fg:#ffffff;--danger:#b91c1c;--danger-bg:#fef2f2;--radius:6px}@media (prefers-color-scheme:dark){:root{--bg:#1c1917;--bg-muted:#292524;--fg:#fafaf9;--fg-muted:#a8a29e;--border:#44403c;--accent:#60a5fa;--accent-fg:#1c1917;--danger:#f87171;--danger-bg:#2c1a1a}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:1.4rem;font-weight:650;margin:0 0 .75rem}h2{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;background:var(--bg-muted);padding:.1em .35em;border-radius:4px}.app-header{justify-content:space-between;padding:.6rem 1.25rem;border-bottom:1px solid var(--border)}.app-header,.app-nav{display:flex;align-items:center;gap:1rem}.app-brand{font-weight:700;color:var(--fg);margin-right:.5rem}.app-brand:hover{text-decoration:none}.app-nav-link{color:var(--fg-muted);padding:.25rem .5rem;border-radius:var(--radius)}.app-nav-link:hover{color:var(--fg);text-decoration:none;background:var(--bg-muted)}.app-nav-link[aria-current=page]{color:var(--fg);font-weight:600;background:var(--bg-muted)}.app-user{display:flex;align-items:center;gap:.75rem}.app-main{max-width:72rem;margin:0 auto;padding:1.5rem 1.25rem}.auth-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{width:100%;max-width:22rem}.auth-title{text-align:center;margin-bottom:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-size:.9rem;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .85rem;cursor:pointer}.btn:hover{background:var(--bg-muted)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-block{width:100%}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.badge{display:inline-block;font-size:.75rem;font-weight:600;color:var(--fg-muted);background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;padding:.05rem .6rem;white-space:nowrap}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-weight:600;color:var(--fg-muted)}.table td,.table th{border-bottom:1px solid var(--border);padding:.4rem .6rem}.table td{vertical-align:top}.muted{color:var(--fg-muted)}.alert{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius);padding:.5rem .75rem;font-size:.9rem}.field{display:block;margin-bottom:.85rem}.field>span{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.field input{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}