:root{--background: #f5f5f7;--foreground: #1f1b24;--card: #ffffff;--primary: #cc0000;--primary-foreground: #ffffff;--secondary: #f0f0f0;--secondary-foreground: #3f3a44;--muted: #f0f0f0;--muted-foreground: #55555f;--accent: #fff5f5;--destructive: #a30000;--border: #e7e4ea;--input: #e7e4ea;--ring: #cc0000;--topbar: #17161c;--brand-gradient: linear-gradient(135deg, #cc0000, #a30000);--success-soft: #d1fae5;--success-foreground: #047857;--warning-soft: #fef3c7;--warning-foreground: #b45309;--info-soft: #dbeafe;--info-foreground: #1d4ed8;--danger-soft: #fee2e2;--danger-foreground: #b91c1c;--red: #cc0000;--red-dark: #a30000;--red-soft: #fff5f5;--gray-900: #1f1b24;--gray-800: #2a2530;--gray-700: #3f3a44;--gray-600: #55555f;--gray-500: #7c7a85;--gray-400: #aba8b2;--gray-300: #d9d6de;--gray-200: #e7e4ea;--gray-100: #f0f0f0;--gray-50: #f5f5f7;--white: #ffffff;--green: #047857;--green-soft: #d1fae5;--amber: #b45309;--amber-soft: #fef3c7;--blue: #1d4ed8;--blue-soft: #dbeafe;--font: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 12px 32px rgba(0,0,0,.18);--t-fast: .15s ease;--t-norm: .2s ease-out;--t-slow: .3s cubic-bezier(.32,.72,0,1);--space-screen: 16px}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font)}html{background-color:var(--topbar)}body{background:var(--background);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;color:var(--gray-900)}button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0;color:inherit}input,textarea{font-family:inherit}#root{display:flex;justify-content:center}.app-shell{width:100%;max-width:440px;min-height:100vh;min-height:100dvh;position:relative;background:var(--white);overflow:hidden}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{scrollbar-width:none}.tap{transition:transform .14s ease,background-color .15s ease,opacity .15s ease}.tap:active{transform:scale(.97);opacity:.85}.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scanLine{0%{transform:translateY(-80px)}to{transform:translateY(80px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:slideInRight .28s cubic-bezier(.32,.72,0,1)}.page-exit{animation:slideOutRight .26s cubic-bezier(.32,.72,0,1) forwards}.fade-in{animation:fadeIn .2s ease}.fade-in-up{animation:fadeInUp .32s cubic-bezier(.32,.72,0,1) both}.scale-in{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) both}.toast-in{animation:toastIn .3s cubic-bezier(.32,.72,0,1)}.sheet-enter{animation:slideUpSheet .32s cubic-bezier(.32,.72,0,1)}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:8px}.spinner{border:2.5px solid var(--gray-200);border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite}.shimmer-bg{background:linear-gradient(90deg,var(--red) 0%,#FF6B6B 30%,var(--red) 60%,var(--red-dark) 100%);background-size:200% 100%;animation:shimmer 3.5s linear infinite}
