:root{--bg: #f5f6f8;--surface: #ffffff;--border: #dcdfe4;--text: #1f2328;--muted: #656d76;--primary: #2f6feb;--primary-hover: #2459c4;--danger: #cf222e;--radius: 8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3{margin:0 0 1rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.btn:hover:not(:disabled){background:var(--bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-danger{color:var(--danger)}.btn-icon{padding:.3rem .55rem}input[type=text],input[type=password],input[type=date],input[type=number],select{width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--surface)}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:-1px}input.invalid{border-color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.muted{color:var(--muted)}
