:root{--bg: #fafaf9;--fg: #1c1917;--muted: #78716c;--border: #e7e5e4;--card: #ffffff;--primary: #2563eb;--primary-fg: #ffffff;--danger: #dc2626;--success: #16a34a;--warning: #ea580c;--radius: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--fg);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5em;font-weight:600}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.0625rem}button,.btn{display:inline-flex;align-items:center;gap:.5em;padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--fg);font:inherit;cursor:pointer;transition:background .15s,border-color .15s}button:hover,.btn:hover{background:#f5f5f4}button[type=submit],.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}button[type=submit]:hover,.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}button.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}input,select,textarea{font:inherit;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--fg);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}label{display:block;margin-bottom:.75rem;font-size:.875rem;color:var(--muted)}label>input,label>select,label>textarea{margin-top:.25rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:.9375rem}th,td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:.8125rem;text-transform:uppercase;letter-spacing:.02em}tr:hover td{background:#fafaf9}.text-right{text-align:right}.text-muted{color:var(--muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.flex{display:flex;gap:1rem;align-items:center}.grid{display:grid;gap:1rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-2{margin-bottom:1rem}
