:root,[data-theme=light]{--bg: #ffffff;--bg-alt: #f8fafc;--bg-elevated: #ffffff;--bg-card: rgba(0,0,0,.035);--bg-overlay: rgba(0,0,0,.025);--bg-input: rgba(0,0,0,.045);--bg-hover: rgba(0,0,0,.05);--bg-nav: rgba(255,255,255,.95);--heading: #0f172a;--text: #1e293b;--text-soft: #334155;--text-secondary: #475569;--text-muted: #475569;--text-faint: #64748b;--text-dimmest: #94a3b8;--border-subtle: rgba(0,0,0,.09);--border: rgba(0,0,0,.12);--border-strong: rgba(0,0,0,.16);--border-heavy: rgba(0,0,0,.2);--scroll-track: #f1f5f9;--scroll-thumb: #cbd5e1;--card-glow: rgba(99,102,241,.06);--tooltip-bg: #ffffff;--tooltip-border: rgba(0,0,0,.1);--avatar-ring: rgba(0,0,0,.1)}[data-theme=dark]{--bg: #07070d;--bg-alt: #0a0a14;--bg-elevated: #13131f;--bg-card: rgba(255,255,255,.02);--bg-overlay: rgba(255,255,255,.015);--bg-input: rgba(255,255,255,.03);--bg-hover: rgba(255,255,255,.04);--bg-nav: rgba(7,7,13,.85);--heading: #ffffff;--text: #e2e8f0;--text-soft: #cbd5e1;--text-secondary: #94a3b8;--text-muted: #8b8bab;--text-faint: #6b6b8a;--text-dimmest: #3f3f5a;--border-subtle: rgba(255,255,255,.04);--border: rgba(255,255,255,.06);--border-strong: rgba(255,255,255,.08);--border-heavy: rgba(255,255,255,.1);--scroll-track: #07070d;--scroll-thumb: #1e1e3a;--card-glow: rgba(99,102,241,.05);--tooltip-bg: #13131f;--tooltip-border: rgba(99,102,241,.2);--avatar-ring: rgba(255,255,255,.15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s,color .3s}:focus-visible{outline:2px solid #6366f1;outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6366f1;outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple{0%{transform:scale(.8);opacity:.8}to{transform:scale(2.5);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes tapBounce{0%{transform:scale(1) rotate(-5deg)}30%{transform:scale(.92) rotate(-5deg)}60%{transform:scale(1.02) rotate(-5deg)}to{transform:scale(1) rotate(-5deg)}}@keyframes nfcWave{0%{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #6366f126}50%{box-shadow:0 0 40px #6366f14d}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media print{body{background:#fff;color:#000}nav,footer,button,.no-print{display:none!important}}@media screen and (max-width:768px){input,textarea,select{font-size:16px!important;min-height:44px}input[type=checkbox],input[type=radio]{min-height:unset;width:18px;height:18px}button{min-height:36px}}
