:root{--bg: #f6f7fb;--surface: #ffffff;--border: #e3e6ef;--text: #1f2330;--muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--success: #16a34a;--radius: 8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;padding:.55rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:background .15s}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover{background:var(--primary-hover)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}input,select,textarea{font:inherit;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%}label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--muted)}table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden}th,td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--border);font-size:.95rem}th{background:#f1f3f9;font-weight:600;color:#374151}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.error{color:var(--danger);font-size:.9rem}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
