:root{--bg: #f1f5f9;--card: #ffffff;--text: #1e293b;--muted: #64748b;--border: #e2e8f0;--primary: #2563eb;--primary-dark: #1d4ed8;--success: #16a34a;--danger: #dc2626;--radius: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}#app{max-width:720px;margin:0 auto;padding:1rem}h1,h2,h3{margin:0 0 .5rem}button{font:inherit;cursor:pointer;border:none;border-radius:var(--radius);padding:.6rem 1rem;background:var(--primary);color:#fff;transition:background .15s}button:hover{background:var(--primary-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--primary);border:1px solid var(--border)}button.ghost:hover{background:var(--bg)}button.danger{background:var(--danger)}button.danger:hover{background:#b91c1c}input,select{font:inherit;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);width:100%;background:#fff;color:var(--text)}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:1rem;margin-bottom:1rem}.muted{color:var(--muted);font-size:.875rem}.row{display:flex;gap:.5rem;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.error{color:var(--danger);font-size:.9rem}table{width:100%;border-collapse:collapse}th,td{padding:.5rem 1.25rem .5rem 0;text-align:left;vertical-align:top}th:last-child,td:last-child{padding-right:0}
