:root{--color-primary: #1d4ed8;--color-secondary: #0f766e;--color-accent: #f59e0b;--color-background: #ffffff;--color-surface: #f8fafc;--color-text: #0f172a;--color-muted: #64748b;--font-heading: system-ui, sans-serif;--font-body: system-ui, sans-serif;--card-radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body, system-ui, sans-serif);color:#0f172a;background:#f1f5f9}a{color:var(--color-primary, #1d4ed8)}button{font:inherit;cursor:pointer;padding:.45rem .9rem;border-radius:6px;border:1px solid #94a3b8;background:#fff}button.primary{background:var(--color-primary, #1d4ed8);color:#fff;border-color:transparent}button.link{background:none;border:none;color:#1d4ed8;padding:0}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;padding:.4rem .5rem;border:1px solid #cbd5e1;border-radius:6px;width:100%}label{display:block;font-size:.9rem;margin:.5rem 0}table{border-collapse:collapse;width:100%;background:#fff}th,td{text-align:left;padding:.5rem;border-bottom:1px solid #e2e8f0}.muted{color:#64748b}.small{font-size:.85rem}.spacer{flex:1}.card{background:#fff;border-radius:var(--card-radius, 10px);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000f}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.notice{padding:.6rem .8rem;border-radius:6px;margin:.5rem 0;background:#e0f2fe}.notice.error{background:#fee2e2;color:#991b1b}.notice.warn{background:#fef3c7}
