:root{--brand-green:#0e3b2e;--brand-cream:#f6f5f0;--brand-dark:#1a1a1a;--brand-accent:#e6efea}html,body,#root{-webkit-tap-highlight-color:transparent;width:100%;max-width:100vw;position:relative;overflow-x:hidden}:root{--brand-green:#0e3b2e;--brand-gold:#cba135;--brand-error:#e53e3e;--brand-cream:#f6f5f0}body{background-color:var(--brand-cream);color:var(--brand-dark);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Plus Jakarta Sans,sans-serif}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.mobile-app-shell{max-width:480px;height:100vh;padding-bottom:env(safe-area-inset-bottom,20px);padding-top:env(safe-area-inset-top,0px);background-color:var(--brand-cream);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 50px #0000001a}.glass-action-bar{-webkit-backdrop-filter:blur(16px);background:#ffffffd9;border-top:1px solid #e5e3d880}.accordion-content{grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);display:grid}.accordion-content.expanded{grid-template-rows:1fr}.accordion-inner{overflow:hidden}.glass-card{background:#fff;border-color:#e5e3d8;box-shadow:0 4px 20px -2px #0e3b2e0d}.btn-primary{color:#fff;white-space:nowrap;background-color:#0e3b2e;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.125rem;font-size:14px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary:active{transform:scale(.97)}.btn-primary:hover:not(:active){background-color:#0a2e24;box-shadow:0 8px 24px -6px #0e3b2e4d}.btn-primary:disabled{color:#9a9892;box-shadow:none;cursor:not-allowed;background-color:#d1d0c9;transform:none}.btn-secondary{color:#1a1a1a;white-space:nowrap;background-color:#f6f5f0;border:1px solid #e5e3d8;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.125rem;font-size:14px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-secondary:active{transform:scale(.97)}.btn-secondary:hover:not(:active){color:#0e3b2e;background-color:#e6efea;border-color:#0e3b2e}.btn-gold{color:#fff;white-space:nowrap;background-color:#0e3b2e;border:1px solid #0e3b2e;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.125rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-gold:hover{background-color:#0a2e24}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;touch-action:pan-y;background-color:#1a1a1a99;justify-content:center;align-items:center;width:100vw;max-width:100vw;padding:1rem;display:flex;position:fixed;inset:0;overflow-x:hidden!important}.modal-container{touch-action:pan-y;background-color:#fff;border:1px solid #e5e3d8;border-radius:1.5rem;width:100%;max-height:90vh;margin:auto;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;overflow-x:hidden!important}.mobile-app-shell{background-color:var(--brand-cream);-webkit-overflow-scrolling:touch;width:100vw;height:100vh;padding-bottom:env(safe-area-inset-bottom,24px);position:fixed;inset:0;overflow:hidden auto}.mobile-card-shadow{box-shadow:0 8px 30px #0e3b2e14}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-top:1px solid #ffffff80}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,24px)}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.smooth-slide-in{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards slideIn;transform:translateY(20px)}.animate-shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes ripple{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}.animate-ripple{animation:1.5s cubic-bezier(0,.2,.8,1) infinite ripple}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slideUpFade{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUpFade}.form-group{flex-direction:column;justify-content:flex-end;height:60px;display:flex;position:relative}.floating-input{background-color:var(--brand-cream);color:#1a1a1a;border:1px solid #0000;border-radius:16px;outline:none;width:100%;height:100%;padding:22px 16px 8px;font-size:15px;font-weight:700;transition:all .2s}.floating-input.has-icon{padding-left:44px}.floating-input:focus{border-color:var(--brand-green);background-color:#fff;box-shadow:0 0 0 4px #0e3b2e0d}.floating-input.has-error{border-color:var(--brand-error);background-color:#fef2f2}.floating-input.has-error:focus{box-shadow:0 0 0 4px #e53e3e1a}.floating-label{color:#5a6260;pointer-events:none;transform-origin:0 0;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.floating-input.has-icon~.floating-label{left:44px}.floating-input:focus~.floating-label,.floating-input:not(:placeholder-shown)~.floating-label,.floating-input.has-value~.floating-label{color:var(--brand-green);font-size:10px;font-weight:800;top:16px}.floating-input.has-error~.floating-label{color:var(--brand-error)}@keyframes drawCheck{0%{stroke-dasharray:0 100}to{stroke-dasharray:100 100}}.animate-check{animation:.8s ease-out forwards drawCheck}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeIn{animation:.4s ease-out forwards fadeIn}.interactive-ring{outline:none}.interactive-ring:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.hover-lift{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0e3b2e1a}.btn-scale{transition:transform .1s}.btn-scale:active{transform:scale(.97)}
