.touch-target{min-height:44px;min-width:44px}.mobile-padding{padding:1rem}.mobile-margin{margin:.5rem}.swipe-indicator{position:relative}.swipe-indicator:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:hsl(var(--primary));border-radius:2px;opacity:.3}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:hsl(var(--background));border-top:1px solid hsl(var(--border));z-index:50;padding:.5rem}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border-radius:.5rem;transition:background-color .2s;min-height:44px}.mobile-nav-item:hover{background:hsl(var(--accent))}.mobile-nav-item.active{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.mobile-form-group{margin-bottom:1.5rem}.mobile-input{font-size:16px;padding:.75rem;border-radius:.5rem}.pull-to-refresh{position:relative;overflow:hidden}.pull-to-refresh-indicator{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:hsl(var(--primary));display:flex;align-items:center;justify-content:center;color:#fff;transition:top .3s ease}.pull-to-refresh.pulling .pull-to-refresh-indicator{top:20px}.mobile-calendar{font-size:.875rem}.mobile-calendar .day-cell{height:40px;width:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all .2s}.mobile-calendar .day-cell:hover{background:hsl(var(--accent))}.mobile-calendar .day-cell.selected{background:hsl(var(--primary));color:#fff}.mobile-calendar .day-cell.available{position:relative}.mobile-calendar .day-cell.available:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;background:hsl(var(--success));border-radius:50%}.mobile-time-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.5rem;padding:1rem}.mobile-time-slot{padding:.75rem .5rem;text-align:center;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background));transition:all .2s;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.mobile-time-slot:hover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.mobile-time-slot.selected{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}.mobile-time-slot.unavailable{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.5}.mobile-modal{position:fixed;inset:0;z-index:100;background:#00000080;display:flex;align-items:flex-end}.mobile-modal-content{width:100%;max-height:90vh;background:hsl(var(--background));border-radius:1rem 1rem 0 0;overflow:hidden;transform:translateY(100%);animation:slide-up .3s ease-out forwards}@keyframes slide-up{to{transform:translateY(0)}}.mobile-modal-header{padding:1rem;border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between}.mobile-modal-body{padding:1rem;overflow-y:auto;max-height:calc(90vh - 120px)}.mobile-skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted) / .5),hsl(var(--muted)) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.mobile-error{text-align:center;padding:2rem 1rem}.mobile-error-icon{width:48px;height:48px;margin:0 auto 1rem;color:hsl(var(--destructive))}.mobile-success{text-align:center;padding:2rem 1rem}.mobile-success-icon{width:48px;height:48px;margin:0 auto 1rem;color:hsl(var(--success))}@media (max-width: 640px){.desktop-only{display:none!important}.mobile-full-width{width:100%}.mobile-text-center{text-align:center}.mobile-padding-sm{padding:.5rem}.mobile-margin-sm{margin:.25rem}}@media (min-width: 641px){.mobile-only{display:none!important}.mobile-nav{display:none}}@media (display-mode: standalone){.pwa-only{display:block}.browser-only{display:none}.pwa-safe-area{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media (prefers-color-scheme: dark){.mobile-modal{background:#000c}.mobile-time-slot{border-color:hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.mobile-modal-content{animation:none;transform:translateY(0)}.mobile-time-slot,.mobile-nav-item{transition:none}}:root{--mobile-header-height: 4rem;--mobile-tool-header-height: 3.5rem;--mobile-safe-padding: 1rem;--desktop-header-height: 4rem;--desktop-content-padding: 2rem;--desktop-content-padding-top: 1.5rem;--desktop-max-width: 1400px}.mobile-page-content{padding-top:calc(var(--mobile-header-height) + var(--mobile-safe-padding) + env(safe-area-inset-top,0px));padding-left:1rem;padding-right:1rem;min-height:calc(100vh - var(--mobile-header-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.mobile-tool-page-content{padding-top:calc(var(--mobile-header-height) + var(--mobile-tool-header-height) + var(--mobile-safe-padding) + env(safe-area-inset-top,0px));padding-left:1rem;padding-right:1rem;min-height:calc(100vh - var(--mobile-header-height) - var(--mobile-tool-header-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.desktop-content-container{max-width:var(--desktop-max-width);margin:0 auto;padding:var(--desktop-content-padding-top) var(--desktop-content-padding)}@media (min-width: 1536px){.desktop-content-container{padding:2rem 3rem}}@media (min-width: 768px){.app-main-content{padding:1.5rem}}@media (min-width: 1024px){.app-main-content{padding:1.5rem 2rem}}.touch-device{--min-touch-target: 44px;--touch-padding: 12px}.touch-device button,.touch-device [role=button]{min-height:var(--min-touch-target);min-width:var(--min-touch-target);padding:var(--touch-padding)}.touch-device input,.touch-device textarea{min-height:var(--min-touch-target);padding:var(--touch-padding);font-size:16px}.screen-mobile{--content-padding: 16px;--toolbar-height: 56px;--bottom-safe-area: env(safe-area-inset-bottom, 0px)}.screen-tablet{--content-padding: 24px;--toolbar-height: 48px;--bottom-safe-area: env(safe-area-inset-bottom, 0px)}.screen-desktop{--content-padding: 32px;--toolbar-height: 40px;--bottom-safe-area: 0px}.orientation-portrait .mobile-toolbar{position:fixed;bottom:var(--bottom-safe-area);left:0;right:0;z-index:1000}.orientation-landscape .mobile-toolbar{position:relative;bottom:auto}.touch-device button:active,.touch-device [role=button]:active{transform:scale(.98);transition:transform .1s ease-out}.mobile-scroll-container{-webkit-overflow-scrolling:touch;overflow-scrolling:touch;scroll-behavior:smooth}.touch-device .drag-handle{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.touch-device .drag-handle:active{cursor:grabbing}.mobile-editor{padding-bottom:calc(var(--toolbar-height) + var(--bottom-safe-area) + 16px)}.mobile-editor .block-editor{min-height:48px;font-size:16px;line-height:1.5}.touch-device .selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default}.mobile-formatting-toolbar{position:fixed;z-index:1100;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:8px;box-shadow:0 10px 30px -10px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px;display:flex;gap:4px;align-items:center}.mobile-formatting-toolbar button{min-width:40px;min-height:40px;padding:0;border-radius:6px}.gesture-feedback{position:fixed;z-index:9999;pointer-events:none;border-radius:50%;background:#0000001a;transform:scale(0);animation:gesture-ripple .3s ease-out}@keyframes gesture-ripple{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease-out;pointer-events:none}.swipe-indicator.active{opacity:1}.swipe-indicator.left{left:8px}.swipe-indicator.right{right:8px}@media screen and (max-height: 500px){.mobile-editor{padding-bottom:60px}.mobile-toolbar{height:48px}.mobile-toolbar button{min-height:36px;font-size:14px}}@supports (padding: max(0px)){.mobile-container{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media (prefers-contrast: high){.touch-device button{border:2px solid currentColor}.mobile-formatting-toolbar{border:2px solid hsl(var(--foreground));background:hsl(var(--background))}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.mobile-table-card{touch-action:manipulation;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.mobile-table-card:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embed-minimal .mobile-form-section>*+*{margin-top:.75rem}.mobile-form-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.mobile-form-section{padding:1rem}.mobile-form-field>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.mobile-form-input{height:3rem;touch-action:manipulation;font-size:1rem;line-height:1.5rem}.mobile-form-button{height:3rem;width:100%;touch-action:manipulation}@media (min-width: 640px){.mobile-form-button{width:auto}}@media (max-width: 768px){.mobile-modal{position:fixed;inset:0;z-index:50;background-color:hsl(var(--background))}.mobile-modal .dialog-content{margin:0;height:100%;max-height:none;width:100%;max-width:none;border-radius:0}}.touch-enhanced{min-height:44px;min-width:44px;touch-action:manipulation}.mobile-button-group{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){.mobile-button-group{flex-direction:row;gap:.5rem}}.mobile-button-group .button{width:100%}@media (min-width: 640px){.mobile-button-group .button{width:auto}}.mobile-card-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;padding:1rem}@media (min-width: 640px){.mobile-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.mobile-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.mobile-list-item{display:flex;touch-action:manipulation;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:hsl(var(--border));padding:1rem}.mobile-list-item:active{background-color:hsl(var(--accent) / .5)}@media (prefers-reduced-motion: reduce){.touch-device button:active{transform:none}.gesture-feedback{animation:none}.mobile-toolbar,.mobile-formatting-toolbar{transition:none}}.touch-manipulation{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes slide-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slide-right{0%{transform:translate(0)}to{transform:translate(100%)}}.animate-slide-left{animation:slide-left .3s ease-out}.animate-slide-right{animation:slide-right .3s ease-out}.ptr-element{position:relative;overflow:hidden}.ptr-indicator{position:absolute;top:-60px;left:50%;transform:translate(-50%);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1000}.ptr-indicator.active{top:20px}.mobile-calendar{width:100%;max-width:none;border-radius:0;box-shadow:none}.mobile-calendar .calendar-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.mobile-calendar .calendar-grid{padding:0}.mobile-calendar .calendar-day{min-height:60px;border:none;border-bottom:1px solid #f3f4f6;border-right:1px solid #f3f4f6;transition:all .2s ease;touch-action:manipulation}.mobile-calendar .calendar-day:active{background-color:#f3f4f6;transform:scale(.98)}.mobile-calendar .calendar-day.available:hover{background-color:#eff6ff}.mobile-calendar .calendar-day.selected{background-color:#2563eb;color:#fff}.mobile-calendar .calendar-day.today{background-color:#dbeafe;font-weight:600;color:#1d4ed8}.mobile-form-input{font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px;padding:16px;border:2px solid #e5e7eb;transition:all .2s ease;touch-action:manipulation}.mobile-form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.mobile-form-input.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.mobile-button{min-height:48px;font-size:16px;font-weight:600;border-radius:12px;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-button:active{transform:scale(.98)}.mobile-button.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 12px #2563eb4d}.mobile-button.primary:active{box-shadow:0 2px 8px #2563eb66}.mobile-button.secondary{background:#f8fafc;color:#374151;border:1px solid #d1d5db}.mobile-step-indicator{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100}.mobile-step-progress{height:4px;background:linear-gradient(90deg,#2563eb,#1d4ed8);border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}@keyframes haptic-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.haptic-feedback{animation:haptic-pulse .15s ease-out}.safe-area-top{padding-top:env(safe-area-inset-top,0px)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.pb-safe{padding-bottom:env(safe-area-inset-bottom,20px)}@media screen and (max-height: 600px){.keyboard-open{padding-bottom:0}.keyboard-open .mobile-form-container{max-height:calc(100vh - 120px);overflow-y:auto}}.swipe-container{position:relative;overflow:hidden}.swipe-feedback{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(37,99,235,.1) 50%,transparent 100%);transform:translate(-100%);transition:transform .3s ease;pointer-events:none}.swipe-feedback.active{transform:translate(0)}.mobile-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.mobile-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-color-scheme: dark){.mobile-calendar .calendar-header{background:linear-gradient(135deg,#1f2937,#111827);color:#fff}.mobile-form-input{background:#374151;border-color:#4b5563;color:#fff}.mobile-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}}@media (prefers-reduced-motion: reduce){.mobile-calendar .calendar-day,.mobile-form-input,.mobile-button,.mobile-step-progress,.haptic-feedback,.swipe-feedback{animation:none;transition:none}}@media (prefers-contrast: high){.mobile-calendar .calendar-day{border:2px solid}.mobile-form-input{border-width:2px}.mobile-button{border:2px solid currentColor}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(1deg)}50%{transform:translateY(-20px) rotate(0)}75%{transform:translateY(-10px) rotate(-1deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc,0 0 30px #3b82f699}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes counter-highlight{0%{background-size:0% 100%}to{background-size:100% 100%}}@keyframes slide-up-stagger{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .6s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .6s ease-out forwards}.animate-slide-in-right{animation:slideInRight .6s ease-out forwards}.animate-scale-in{animation:scaleIn .5s ease-out forwards}.animate-rotate-in{animation:rotateIn .8s ease-out forwards}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 4s ease infinite}.animate-counter-highlight{background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.2) 50%,transparent 100%);background-size:0% 100%;background-repeat:no-repeat;animation:counter-highlight 2s ease-out forwards}.stagger-delay-100{animation-delay:.1s}.stagger-delay-200{animation-delay:.2s}.stagger-delay-300{animation-delay:.3s}.stagger-delay-400{animation-delay:.4s}.stagger-delay-500{animation-delay:.5s}.btn-interactive{position:relative;overflow:hidden;transition:all .3s ease}.btn-interactive:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-interactive:hover:before{width:300px;height:300px}.btn-interactive:active{transform:scale(.95)}.card-magnetic{transition:transform .1s linear}.card-tilt{transform-style:preserve-3d;transition:transform .1s linear}.card-glow{transition:all .3s ease}.card-glow:hover{filter:drop-shadow(0 0 20px rgba(59,130,246,.3))}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all .6s ease-out}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.animate-optimized{will-change:transform,opacity;backface-visibility:hidden;perspective:1000px}.animate-gpu{transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-float,.animate-pulse,.animate-bounce,.animate-ping{animation:none!important}}@media (prefers-color-scheme: dark){.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite;box-shadow:0 0 5px #63b3ed80}.animate-pulse-glow:hover{box-shadow:0 0 20px #63b3edcc,0 0 30px #63b3ed99}}@media (max-width: 768px){.animate-float{animation-duration:4s}.card-magnetic,.card-tilt{transform:none!important}.animate-gradient-shift{animation-duration:2s}}
