:root{--primary:#4f46e5;--primary-hover:#4338ca;--bg-color:#0f172a;--glass-bg:#1e293bb3;--glass-border:#ffffff1a;--text-main:#f8fafc;--text-muted:#cbd5e1;color:var(--text-main);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{background:radial-gradient(circle at 100% 0,#1e1b4b,#0f172a);place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex;overflow-x:hidden}#root{text-align:left;width:100%;max-width:1280px;margin:0 auto;padding:2rem}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;padding:2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 32px #0000004d}.glass:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0006}h1{background:linear-gradient(90deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1.5rem;font-size:2.5rem;line-height:1.2}h2{color:#e2e8f0;margin-bottom:1rem;font-size:1.5rem}button{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:background-color .25s,transform .1s}button:hover{background-color:var(--primary-hover);transform:scale(1.02)}button:disabled{cursor:not-allowed;background-color:#475569;transform:none}textarea,input[type=text],input[type=number],select{border:1px solid var(--glass-border);width:100%;color:var(--text-main);box-sizing:border-box;background:#0f172a99;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}textarea:focus,input:focus,select:focus{border-color:var(--primary);outline:none}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.flex{align-items:center;gap:1rem;display:flex}.flex-col{flex-direction:column;gap:1rem;display:flex}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.spinner{border:4px solid #ffffff1a;border-left-color:var(--primary);vertical-align:middle;border-radius:50%;width:24px;height:24px;margin-right:8px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.report-card{background:#ffffff0d;border-radius:8px;margin-top:1rem;padding:1rem}.report-card pre{white-space:pre-wrap;word-wrap:break-word;color:var(--text-muted);font-size:.9rem}
