@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;0,14..32,800;1,14..32,400&display=swap";.toga-loader-container{background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;display:flex}.toga-icon-bounce{color:#0284c7;filter:drop-shadow(0 10px 15px #0284c74d);animation:2s cubic-bezier(.68,-.55,.265,1.55) infinite bounce-spin}@keyframes bounce-spin{0%,to{transform:translateY(0)rotate(0)scale(1)}30%{transform:translateY(-30px)rotate(-15deg)scale(1.1)}70%{transform:translateY(-10px)rotate(15deg)scale(1.05)}}.loader-text{background:linear-gradient(90deg,#1e3a8a,#0284c7);-webkit-text-fill-color:transparent;letter-spacing:.05em;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:800;animation:1.5s ease-in-out infinite pulse-opacity}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.5}}:root{--primary-color:#1d4ed8;--primary-hover:#1e40af;--primary-light:#eff6ff;--primary-mid:#3b82f6;--accent-color:#06b6d4;--accent-hover:#0891b2;--accent-light:#ecfeff;--accent-green:#10b981;--bg-color:#f0f4ff;--surface-color:#fff;--surface-alt:#f8faff;--text-primary:#0f172a;--text-secondary:#475569;--text-lighter:#94a3b8;--border-color:#dde5f4;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gradient-primary:linear-gradient(135deg, #1d4ed8 0%, #06b6d4 100%);--gradient-primary-soft:linear-gradient(135deg, #3b82f6 0%, #0891b2 100%);--gradient-ocean:linear-gradient(90deg, #1e40af 0%, #0284c7 50%, #06b6d4 100%);--gradient-sidebar:linear-gradient(180deg, #0f1f5c 0%, #1a3a7a 60%, #0c4a6e 100%);--gradient-card:linear-gradient(145deg, #fff, #f0f6ff);--gradient-hero:radial-gradient(circle at 100% 100%, #10b98166 0%, transparent 70%), linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);--shadow-sm:0 1px 3px 0 #1d4ed814;--shadow-md:0 4px 12px -1px #1d4ed81f, 0 2px 6px -2px #1d4ed814;--shadow-lg:0 10px 25px -3px #1d4ed826, 0 4px 8px -4px #06b6d41a;--shadow-glow:0 4px 20px 0 #3b82f666;--shadow-glow-teal:0 4px 20px 0 #06b6d459;--shadow-card:0 2px 16px #1d4ed812;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-full:9999px;--font-family:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:all .15s ease;--transition:all .25s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#bfdbfe;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#93c5fd}a{color:var(--primary-color);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{font-family:var(--font-family);cursor:pointer;transition:var(--transition);background:0 0;border:none}input,textarea,select{font-family:var(--font-family)}.btn{border-radius:var(--radius-full);letter-spacing:.01em;transition:var(--transition);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #1d4ed84d}.btn-primary:hover{box-shadow:var(--shadow-glow);filter:brightness(1.08);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-outline{border:1.5px solid var(--border-color);background:var(--surface-color);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light);box-shadow:var(--shadow-sm)}.btn-sm{padding:.4rem .875rem;font-size:.8125rem}.card{background:var(--surface-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--border-color);transition:var(--transition);padding:1.5rem}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.badge-free{color:#0369a1;text-transform:uppercase;letter-spacing:.05em;background:#e0f2fe;border-radius:4px;margin-top:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.badge-premium{color:#92400e;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#fef08a,#fde68a);border-radius:4px;margin-top:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.switch{flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#cbd5e1;border-radius:26px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 4px #0003}input:checked+.slider{background:var(--gradient-primary-soft)}input:checked+.slider:before{transform:translate(20px)}.form-group label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border-radius:var(--radius-md);border:1.5px solid var(--border-color);background:var(--surface-color);width:100%;color:var(--text-primary);transition:var(--transition-fast);outline:none;padding:.7rem 1rem;font-size:.875rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f626}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-header h1{color:var(--text-primary);letter-spacing:-.02em;font-size:1.75rem;font-weight:800}.page-header p{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem}.divider{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.animate-fade-up{animation:.4s forwards fadeInUp}.animate-pulse-soft{animation:2s infinite pulse-soft}
