@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary-hue:250;--neutral-hue:222;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary:#8abdbb;--bg-gradient:linear-gradient(135deg, #8abdbb 0%, #a2d9d7 100%);--bg-surface:hsl(var(--neutral-hue), 20%, 100%);--bg-surface-elevated:hsl(var(--neutral-hue), 20%, 99%);--surface-1:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--bg-glass:#ffffffb3;--border-color:hsl(var(--neutral-hue), 15%, 88%);--border-glow:hsla(var(--primary-hue), 85%, 60%, .15);--text-primary:#1e5a6b;--text-secondary:#2c5a6b;--text-muted:#5b94a5;--text-white:#fff;--accent:#1e5a6b;--accent-glow:#1e5a6b59;--accent-hover:#164350;--accent-light:#1e5a6b1a;--text-on-accent:#fff;--accent-premium:#2c5a6b;--success:#1daf52;--success-glow:#10b98133;--success-bg:#e9fbf0;--error:#e11444;--error-glow:#ef444433;--error-bg:#fde8ed;--warning:#e19209;--warning-bg:#fef5e7;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-full:9999px;--shadow-sm:0 2px 8px -2px #0f172a0a;--shadow-md:0 8px 30px -4px #0f172a14;--shadow-lg:0 20px 48px -8px #0f172a1f;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.25, 1, .5, 1);--base-card-w:308px;--base-card-h:550px;--scaling-factor:clamp(.75, min(92vw / 308px, 85vh / 550px), 1.15)}[data-theme=dark]{--bg-primary:#2d3748;--bg-gradient:radial-gradient(circle at top right, #3d4a5d 0%, #2d3748 100%);--bg-surface:hsl(var(--neutral-hue), 28%, 9%);--bg-surface-elevated:hsl(var(--neutral-hue), 28%, 12%);--surface-1:#0f172a;--surface-2:#1e293b;--surface-3:#334155;--bg-glass:#0f172aa6;--border-color:hsl(var(--neutral-hue), 20%, 16%);--border-glow:hsla(var(--primary-hue), 85%, 65%, .2);--text-primary:hsl(var(--neutral-hue), 20%, 93%);--text-secondary:hsl(var(--neutral-hue), 12%, 68%);--text-muted:hsl(var(--neutral-hue), 8%, 50%);--accent:#38bdf8;--accent-glow:#38bdf873;--accent-hover:#7dd3fc;--accent-light:#38bdf81a;--text-on-accent:#000;--accent-premium:#7dd3fc;--success:#22c35d;--success-glow:#10b98159;--success-bg:#22c35d1a;--error:#e72350;--error-glow:#ef444459;--error-bg:#e723501a;--warning:#f3a216;--warning-bg:#f3a2161a;--shadow-sm:0 2px 8px -2px #0003;--shadow-md:0 8px 30px -4px #0000004d;--shadow-lg:0 20px 48px -8px #0006}:root{--base-card-w:308px;--base-card-h:550px;--scaling-factor:clamp(.75, min(92vw / var(--base-card-w), 85vh / var(--base-card-h)), 1.15)}@media (display-mode:standalone){:root{--scaling-factor:clamp(.85, min(95vw / var(--base-card-w), 90vh / var(--base-card-h)), 1.25)}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;overscroll-behavior-y:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;background-attachment:fixed;min-height:-webkit-fill-available;font-size:16px;line-height:1.5;overflow-x:hidden}html{overscroll-behavior-y:none;scrollbar-gutter:stable;height:-webkit-fill-available}.app-container{min-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;display:flex}.main-content{flex-direction:column;flex:1;width:100%;max-width:460px;min-height:0;margin:0 auto;padding:20px;display:flex;position:relative}button{font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;outline:none}button:active{transform:scale(.97)}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px)saturate(190%);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);transition:border-color var(--transition-smooth), box-shadow var(--transition-smooth);padding:24px}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}.pulse-button{animation:2s infinite pulseGlow}.app-header{z-index:100;justify-content:center;width:100%;max-width:460px;margin:0 auto;padding:16px 20px;display:flex;position:relative}.header-inner{justify-content:space-between;align-items:center;width:100%;display:flex}.logo{letter-spacing:-.5px;color:var(--text-primary);font-size:1.15rem;font-weight:700}.accent-dot{color:var(--accent)}.theme-toggle{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);width:40px;height:40px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.header-actions{align-items:center;gap:10px;display:flex}.user-badge-header{flex-direction:column;align-items:flex-end;margin-right:4px;display:flex}.user-name-text{color:var(--text-primary);font-size:.85rem;font-weight:600}.user-role-tag{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem;font-weight:700}.logout-btn{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-md);width:40px;height:40px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.logout-btn:hover{border-color:var(--error);color:var(--error)}.dev-btn{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--accent-premium,#7c3aed);border-radius:var(--radius-md);width:40px;height:40px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.dev-btn:hover{border-color:var(--accent-premium,#7c3aed);color:var(--accent-premium,#7c3aed);background:#f5effb}.splash-overlay{z-index:99999;opacity:1;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .8s cubic-bezier(.25,1,.5,1);display:flex;position:fixed;top:0;left:0;overflow:hidden;background:radial-gradient(circle at 20%,#055aaa26 0%,#0000 50%),radial-gradient(circle at 80%,#0770d41f 0%,#0000 50%),linear-gradient(#0a0a0a 0%,#111 100%)!important}.splash-overlay:before{content:"";opacity:.4;pointer-events:none;background:radial-gradient(circle,#ffffff05 1px,#0000 1px) 0 0/50px 50px,radial-gradient(circle,#ffffff05 1px,#0000 1px) 25px 25px/80px 80px;animation:60s linear infinite particleFloat;position:absolute;inset:-50%}@keyframes particleFloat{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.splash-overlay.fade-out{opacity:0;pointer-events:none}.splash-overlay.fade-out .splash-content{filter:blur(10px);opacity:0;transition:transform .6s cubic-bezier(.25,1,.5,1),filter .6s cubic-bezier(.25,1,.5,1),opacity .6s cubic-bezier(.25,1,.5,1);transform:scale(.95)}.splash-content{text-align:center;z-index:1;filter:blur();opacity:1;flex-direction:column;align-items:center;width:100%;max-width:380px;padding:20px;transition:transform .8s cubic-bezier(.25,1,.5,1),filter .8s cubic-bezier(.25,1,.5,1),opacity .8s cubic-bezier(.25,1,.5,1);display:flex;position:relative;transform:scale(1)}.splash-logo-container{filter:drop-shadow(0 0 40px #20637599);width:96px;height:96px;margin-bottom:56px;animation:3s ease-in-out infinite logoBreath;position:relative}.splash-logo-img{object-fit:contain;width:96px;height:96px;display:block}@keyframes logoBreath{0%,to{filter:drop-shadow(0 0 30px #20637580);transform:scale(1)}50%{filter:drop-shadow(0 0 50px #38bdf8b3);transform:scale(1.04)}}.splash-title{background:linear-gradient(135deg,#fff 0%,#e2e8f0 50%,#cbd5e1 100%);-webkit-text-fill-color:transparent;letter-spacing:-.03em;opacity:0;font-size:30px;font-weight:700;font-family:var(--font-sans);-webkit-background-clip:text;margin-bottom:48px;animation:.8s cubic-bezier(.25,1,.5,1) .3s forwards fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:.95;transform:translateY(0)}}.splash-progress-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #ffffff08;border-radius:8px;width:340px;max-width:90vw;height:6px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0000004d,0 4px 20px #0000004d}.splash-progress-bar{background:linear-gradient(90deg,#206375 0%,#38bdf8 50%,#10b981 100%) 0 0/200% 100%;border-radius:8px;height:100%;transition:width 15ms linear;animation:3s infinite gradientShift;position:relative;box-shadow:0 0 25px #38bdf880,0 0 10px #10b9814d,inset 0 1px #fff3}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.splash-progress-bar:after{content:"";background:linear-gradient(90deg,#0000,#fff6 50%,#0000);width:50%;height:200%;animation:2s ease-in-out infinite shimmerPremium;position:absolute;top:-50%;left:-100%;transform:skew(-20deg)}@keyframes shimmerPremium{0%{opacity:0;left:-100%}20%{opacity:1}80%{opacity:1}to{opacity:0;left:150%}}.splash-percentage{color:#fff;opacity:0;font-variant-numeric:tabular-nums;letter-spacing:-.04em;text-shadow:0 0 30px #ffffff26;font-size:48px;font-weight:200;font-family:var(--font-sans);margin-top:32px;animation:.8s cubic-bezier(.25,1,.5,1) .5s forwards fadeInUp}.splash-percentage:after{content:"%";opacity:.6;margin-left:2px;font-size:24px;font-weight:300}.splash-status{color:#ffffff73;letter-spacing:.05em;opacity:0;text-transform:lowercase;min-height:20px;font-size:13px;font-weight:500;font-family:var(--font-sans);margin-top:24px;animation:.8s cubic-bezier(.25,1,.5,1) .7s forwards fadeInUp}.splash-status:first-letter{text-transform:uppercase}
