*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}:root{--bg: #f7f8fb;--panel: #ffffff;--panel-alt: #f4f6fa;--border: #e6e8ef;--muted: #6b7280;--text: #0f172a;--primary: #0a65cc;--primary-600: #0854a8;--primary-50: #e9f2ff;--success: #148a4b;--success-50: #eaf8f1;--danger: #c62828;--danger-50: #fde8e8;--warning: #b45309;--warning-50: #fff4e5;--shadow-md: 0 10px 30px rgba(16, 24, 40, .08);--radius: 14px;--ring: 0 0 0 3px rgba(10, 101, 204, .18)}.container{max-width:1120px;margin:0 auto;padding:32px 20px 48px}.hero{text-align:center;margin-bottom:28px}.hero h1{margin:0 0 6px;font-size:32px;font-weight:700;letter-spacing:-.02em;color:#0b1220}.hero p{margin:0;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.card-header{padding:18px 20px 8px;border-bottom:1px solid var(--border)}.card-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:18px}.card-subtle{padding:16px 20px;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--radius)}.card-body{padding:20px}.card-footer{padding:16px 20px;border-top:1px solid var(--border);background:#fafbfc;display:flex;justify-content:flex-end;gap:10px}.form-grid{display:grid;gap:16px}@media (min-width: 800px){.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}}.form-group{display:grid;gap:8px}.label{font-size:13px;color:#2f3a4b;font-weight:500}.input,.select,.textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.textarea{min-height:96px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:10px;border:1px solid transparent;font-size:14px;font-weight:600;padding:10px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-600)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:#f2f4f8}.btn-outline{background:#fff;border-color:var(--border);color:#1f2937}.btn-outline:hover{background:#f8fafc}.segmented{display:inline-flex;padding:4px;background:var(--panel-alt);border:1px solid var(--border);border-radius:12px;gap:6px}.segmented .seg{padding:8px 12px;border-radius:8px;font-weight:600;font-size:13px;color:#334155;background:transparent;border:none;cursor:pointer}.segmented .seg.active{background:var(--primary);color:#fff}.segmented .seg:not(.active):hover{background:#eef2f7}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);color:#0f3b2e;background:#f2fbf7}.badge-success{color:#0f3b2e;border-color:#bce7d2;background:var(--success-50)}.kicker{color:var(--muted);font-size:13px;margin-top:4px}.alert{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--border);font-size:14px}.alert-danger{background:var(--danger-50);border-color:#f6caca;color:#7a1f1f}.alert-note{background:#f1f5ff;border-color:#dce7ff;color:#113873}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:#fff;color:#111827;padding:7px 10px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.chip:hover{background:#f8fafc}.chip.active:hover{background:var(--primary-600)}.stack-sm{display:grid;gap:8px}.stack-md{display:grid;gap:12px}.stack-lg{display:grid;gap:16px}.hr{height:1px;background:var(--border);border:0}.small{font-size:12px;color:var(--muted)}.icon{display:inline-flex;align-items:center}
