:root{--color-primary:#f97316;--color-primary-dark:#c2410c;--color-primary-light:#fed7aa;--color-secondary:#0ea5e9;--color-background:#fffbf7;--color-surface:#fff;--color-surface-alt:#fff7ed;--color-text-primary:#1c1917;--color-text-secondary:#78716c;--color-border:#e7e5e4;--color-success:#16a34a;--color-error:#dc2626;--color-warning:#d97706;--font-heading:"Plus Jakarta Sans", sans-serif;--font-body:"DM Sans", sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shell-bg:#0f172a;--shell-fg:#e2e8f0;--shell-fg-muted:#94a3b8;--shell-active:#1e293b}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-background);margin:0;padding:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-heading);margin:0 0 12px}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}.btn{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--color-primary-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-alt)}.btn-danger{background:var(--color-error)}.btn-danger:hover{background:#b91c1c}.btn-ghost{color:var(--color-text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--color-surface-alt);color:var(--color-text-primary)}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.field input,.field select,.field textarea{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);padding:10px 12px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #f9731626}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.error-banner{color:#991b1b;border-radius:var(--radius-md);background:#fee2e2;border:1px solid #fecaca;margin-bottom:16px;padding:12px 16px;font-size:14px}.info-banner{color:#92400e;border-radius:var(--radius-md);background:#fef3c7;border:1px solid #fde68a;margin-bottom:16px;padding:12px 16px;font-size:14px}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding:10px 12px;font-size:12px}tbody td{border-bottom:1px solid var(--color-border);padding:12px}tbody tr:hover{background:var(--color-surface-alt)}.badge{background:var(--color-surface-alt);color:var(--color-text-primary);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-success{color:#15803d;background:#dcfce7}.badge-error{color:#991b1b;background:#fee2e2}.badge-warning{color:#92400e;background:#fef3c7}.badge-info{color:#0369a1;background:#e0f2fe}.muted{color:var(--color-text-secondary)}.mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}
