*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%;overflow:hidden}body{color:#1a1a1a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#efefec;width:100%;font-family:DM Sans,system-ui,-apple-system,sans-serif;position:fixed;inset:0;overflow:hidden}.device-bezel,.device-screen,.app-root{max-width:100vw;overflow-x:hidden}button,input{font-family:inherit}.backdrop{background:radial-gradient(1200px 600px at 18% 12%,#2d7a3a0f,#0000 60%),radial-gradient(900px 700px at 85% 88%,#f5c8420f,#0000 65%),linear-gradient(#f2f2ee,#e7e7e3);position:fixed;inset:0}.stage{justify-content:center;align-items:center;width:100%;height:100svh;display:flex;position:relative}.device-bezel{background:#0c0c0c;border-radius:48px;flex-shrink:0;width:402px;height:min(874px,100vh - 48px);padding:10px;position:relative;box-shadow:0 50px 100px #14231638,0 0 0 1px #0006,inset 0 0 0 2px #ffffff0d}.device-bezel:before{content:"";z-index:10;background:#000;border-radius:20px;width:110px;height:28px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.device-screen{background:#f7f7f5;border-radius:38px;width:100%;height:100%;position:relative;overflow:hidden}.status-bar{z-index:5;color:#1a1a1a;pointer-events:none;justify-content:space-between;align-items:center;height:44px;padding:0 28px;font-family:-apple-system,SF Pro,system-ui;font-size:14px;font-weight:600;display:flex;position:absolute;top:0;left:0;right:0}.app-root{width:100%;height:100%;padding-top:44px}.home-indicator{z-index:10;background:#00000040;border-radius:99px;width:120px;height:4px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}@media (width<=520px){body{background:#f7f7f5}.backdrop{display:none}.device-bezel{width:100%;height:100svh;box-shadow:none;border-radius:0;padding:0}.device-bezel:before{display:none}.device-screen{border-radius:0}.status-bar{display:none}.app-root{padding-top:0}.home-indicator{display:none}.stage{padding:0}}@media (width>=1024px){html{overflow:hidden visible}body{background:#f2f2ee;position:static;overflow:hidden}.stage{padding:24px}.device-bezel:before,.device-bezel .status-bar,.device-bezel .home-indicator,.status-bar,.home-indicator{display:none!important}.device-bezel{box-shadow:none;background:0 0;padding:0}.device-screen{background:#fff;border-radius:18px}.app-root{height:100%;padding-top:0}body[data-app=booking] .device-bezel{border-radius:24px;width:560px;max-width:calc(100vw - 48px);height:min(880px,100vh - 48px);box-shadow:0 30px 80px #1423162e,0 0 0 1px #0000000a}body[data-app=booking] .device-screen{border-radius:24px}body[data-app=dashboard] .device-bezel{border-radius:20px;width:min(1320px,100vw - 48px);height:calc(100vh - 48px);box-shadow:0 30px 80px #14231624,0 0 0 1px #0000000a}body[data-app=dashboard] .device-screen{border-radius:20px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drawCheck{to{stroke-dashoffset:0}}@keyframes slideRight{0%{opacity:0;filter:blur(4px);transform:translate(24px)scale(.98)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes slideLeft{0%{opacity:0;filter:blur(4px);transform:translate(-24px)scale(.98)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes confetti{0%{opacity:1;transform:translateY(-12px)rotate(0)}to{opacity:0;transform:translateY(360px)rotate(720deg)}}@keyframes spring{0%{transform:scale(1)}40%{transform:scale(1.06)}70%{transform:scale(.97)}to{transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 8px 20px #2d7a3a40}50%{box-shadow:0 12px 30px #2d7a3a73,0 0 0 6px #2d7a3a14}}@keyframes sparkle{0%{opacity:0;transform:scale(0)rotate(0)}40%{opacity:1;transform:scale(1.2)rotate(180deg)}to{opacity:0;transform:scale(0)rotate(360deg)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes ripple{0%{opacity:.55;transform:scale(0)}to{opacity:0;transform:scale(2.4)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes appear{0%{opacity:0;transform:translateY(14px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes selectedPulse{0%,to{box-shadow:0 0 #2d7a3a00}50%{box-shadow:0 0 0 4px #2d7a3a1a}}@keyframes toastIn{0%{opacity:0;transform:translateY(-16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideUpBar{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.press{transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,box-shadow .22s}.press:active:not(:disabled){transform:scale(.96)}.cta-glow{animation:2.4s ease-in-out infinite glowPulse}.logo-float{animation:3.2s ease-in-out infinite floatY}.selected-card{animation:.42s cubic-bezier(.34,1.56,.64,1) both spring}.appear{animation:.42s cubic-bezier(.34,1.56,.64,1) both appear}.shimmer-bg{background:linear-gradient(90deg,#2d7a3a00 0%,#2d7a3a0f 50%,#2d7a3a00 100%) 0 0/200% 100%;animation:2.2s ease-in-out infinite shimmer}button:focus-visible{outline-offset:2px;outline:2px solid #2d7a3a}.scroll-area{scrollbar-width:thin;scrollbar-color:#00000026 transparent}.scroll-area::-webkit-scrollbar{width:6px}.scroll-area::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}
