:root{--bg: #f7f8fb;--surface: #ffffff;--surface-hover: #f1f3f9;--border: #d9deea;--text: #1f2937;--text-muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #ef4444;--warning: #d97706;--radius: 10px;--font: "DM Sans", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius)}input,select,textarea{font-family:inherit}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header h1{margin:0;font-size:1.25rem;font-weight:600}.app-main{flex:1;padding:1.5rem}.btn{padding:.5rem 1rem;font-weight:500;border-radius:var(--radius);transition:background .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover{background:var(--surface-hover)}.btn-danger{background:var(--danger);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;color:var(--text);width:100%}.input:focus{outline:none;border-color:var(--primary)}.label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.25rem}
