@charset "UTF-8";:root{--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-subtle: #f1f5f9;--border-subtle: rgba(226, 232, 240, .8);--border-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--brand-cyan: #00e5ff;--brand-cyan-hover: #00cbf0;--brand-cyan-subtle: rgba(0, 229, 255, .12);--brand-obsidian: #0a0c10;--brand-slate: #1e222d;--brand-ghost: #f8fafc;--accent-primary: #0f172a;--accent-hover: #1e293b;--accent-subtle: rgba(0, 229, 255, .1);--accent-text: #0284c7;--success-primary: #10b981;--success-hover: #059669;--success-subtle: #ecfdf5;--success-text: #065f46;--danger-primary: #e11d48;--danger-subtle: #fff1f2;--danger-text: #9f1239;--warning-primary: #d97706;--warning-subtle: #fffbeb;--warning-text: #92400e;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .875rem;--radius-xl: 1.25rem;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-elevation: 0 10px 25px -5px rgba(15, 23, 42, .04), 0 8px 10px -6px rgba(15, 23, 42, .02);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}h1,h2,h3,h4{font-family:var(--font-heading)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100dvh;background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;scrollbar-gutter:stable}@media(max-width:768px){html,body{font-size:16px}}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.surface-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);transition:border-color .2s ease,box-shadow .2s ease}.page-container,.review-page,.form-page-container,.content-enter{animation:fade-in .15s ease both}@media(prefers-reduced-motion:reduce){.page-container,.review-page,.form-page-container,.content-enter{animation:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-subtle) 25%,#e2e8f0 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite linear}@media(prefers-reduced-motion:reduce){.sk{animation:none;background:var(--bg-subtle)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}button.btn:active{transform:scale(.98)}.btn-primary,.btn-accent{background-color:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary);box-shadow:0 1px 2px #0000000d}.btn-primary:hover,.btn-accent:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 3px 8px #0f172a1f}.btn-primary:focus-visible,.btn-accent:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px #0f172acc}.btn-secondary{background-color:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-subtle)}.badge{display:inline-flex;align-items:center;padding:.2rem .65rem;font-size:.72rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;line-height:1.3}.badge-success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.badge-ready{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.badge-approved{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.badge-pending{background:#fef3c7;color:#92400e;border-color:#fde68a}.badge-failed{background:#ffe4e6;color:#9f1239;border-color:#fecdd3}.badge-neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.demo-tag{display:inline-flex;align-items:center;padding:.15rem .45rem;font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:9999px;background:#0284c714;color:#0284c7;border:1px solid rgba(2,132,199,.28);vertical-align:middle;line-height:1}.icon-svg{display:inline-block;vertical-align:middle;flex-shrink:0}.btn-danger{background-color:var(--danger-primary);color:#fff}.btn-danger:hover{background-color:#be123c}.btn-danger-text{color:var(--danger-primary)}.btn-danger-text:hover{color:#be123c;background-color:var(--danger-subtle)}.btn-icon{padding:.35rem;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,background-color .15s ease}.btn-icon:hover{color:var(--danger-primary);background:var(--danger-subtle)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fade-in .15s ease both}.modal-card{width:100%;max-width:480px;padding:1.75rem;box-shadow:var(--shadow-elevation);animation:fade-in .15s ease both}.modal-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.modal-icon-danger{width:40px;height:40px;border-radius:50%;background:var(--danger-subtle);color:var(--danger-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-title{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.modal-subtitle{font-size:.8125rem;color:var(--text-muted);margin-top:.15rem}.modal-body{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.modal-notice{display:block;font-size:.8125rem;padding:.5rem .75rem;background:var(--bg-subtle);border-radius:var(--radius-sm);color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}
