.skeleton{--skeleton-base:#e8edf3;--skeleton-highlight:#f7f9fb;background:var(--skeleton-base);border-radius:.35rem;display:block;max-width:100%;overflow:hidden;position:relative}.skeleton:after{animation:skeleton-shimmer 1.65s ease-in-out infinite;background:linear-gradient(90deg,#0000,var(--skeleton-highlight),#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}[data-theme=dark] .skeleton{--skeleton-base:#283241;--skeleton-highlight:#374456}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.skeleton-group{min-width:0}.skeleton-lines{display:grid;gap:.55rem;width:100%}.skeleton-page{margin:0 auto;max-width:1400px;min-height:360px;padding:1.5rem;width:100%}.skeleton-page.is-app{background:#f8fafc;max-width:none;min-height:100vh;padding:0}.skeleton-page-heading{display:grid;gap:.75rem;margin-bottom:1.75rem}.skeleton-calendar-toolbar,.skeleton-page-toolbar,.skeleton-table-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.skeleton-stat-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.skeleton-card,.skeleton-form-section,.skeleton-panel,.skeleton-stat-card{background:var(--primary-50,#fff);border:1px solid var(--gray-200,#e2e8f0);border-radius:.75rem;box-shadow:var(--shadow-sm,0 1px 2px #0f172a0a)}.skeleton-stat-card{align-items:center;display:flex;gap:.9rem;min-height:122px;padding:1rem}.skeleton-stat-copy{display:grid;flex:1;gap:.65rem}.skeleton-dashboard-panels{display:grid;gap:1.25rem;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.skeleton-panel{align-content:start;display:grid;gap:1.25rem;min-height:320px;padding:1.25rem}.skeleton-table-wrap{display:grid}.skeleton-table{background:var(--primary-50,#fff);border:1px solid var(--gray-200,#e2e8f0);border-radius:.75rem;overflow:hidden}.skeleton-table-row{align-items:center;border-top:1px solid var(--gray-100,#f1f5f9);display:grid;gap:1rem;grid-template-columns:1.5fr repeat(4,minmax(70px,1fr));min-height:58px;padding:.8rem 1rem}.skeleton-table-row:first-child{border-top:0}.skeleton-table-head{background:var(--gray-50,#f8fafc);min-height:44px}.skeleton-list{display:grid;gap:.55rem}.skeleton-list-row{align-items:center;background:var(--primary-50,#fff);border:1px solid var(--gray-200,#e2e8f0);border-radius:.75rem;display:flex;gap:.85rem;min-height:72px;padding:.9rem 1rem}.skeleton-list-row.is-compact{border-radius:.5rem;min-height:54px;padding:.65rem .75rem}.skeleton-avatar{border-radius:50%;flex:0 0 auto}.skeleton-list-copy{display:grid;flex:1;gap:.55rem;min-width:0}.skeleton-card-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-card{display:grid;gap:.9rem;min-height:250px;padding:1rem}.skeleton-card-footer{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:auto}.skeleton-form{display:grid;gap:1rem}.skeleton-form-section{overflow:hidden;padding:0}.skeleton-form-heading{border-bottom:1px solid var(--gray-100,#f1f5f9);display:grid;gap:.65rem;padding:1.15rem 1.25rem}.skeleton-form-fields{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1.25rem}.skeleton-form-field{align-content:start;display:grid;gap:.55rem}.skeleton-calendar-toolbar{padding:.75rem 0}.skeleton-calendar{background:var(--primary-50,#fff);border:1px solid var(--gray-200,#e2e8f0);border-radius:.75rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.skeleton-calendar-cell{align-content:start;border-bottom:1px solid var(--gray-100,#f1f5f9);border-right:1px solid var(--gray-100,#f1f5f9);display:grid;gap:.75rem;min-height:94px;padding:.65rem}.skeleton-app-shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.skeleton-app-sidebar{align-content:start;background:#fff;border-right:1px solid #e2e8f0;display:grid;gap:2rem;padding:1.35rem 1.1rem}.skeleton-app-nav{display:grid;gap:.55rem}.skeleton-app-nav-row{align-items:center;display:flex;gap:.75rem;min-height:42px;padding:.5rem}.skeleton-app-main{min-width:0;padding:0 1.5rem 2rem}.skeleton-app-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:.5rem;min-height:72px}.skeleton-inline{display:inline-block;vertical-align:middle}.skeleton-map{border-radius:.65rem;min-height:220px;width:100%}@media (max-width:900px){.skeleton-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-dashboard-panels{grid-template-columns:1fr}.skeleton-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-app-shell{grid-template-columns:1fr}.skeleton-app-sidebar{display:none}.skeleton-table-row{grid-template-columns:1.4fr repeat(2,minmax(65px,1fr))}.skeleton-table-row>:nth-child(3),.skeleton-table-row>:nth-child(4){display:none}}@media (max-width:600px){.skeleton-page{padding:1rem}.skeleton-card-grid,.skeleton-form-fields,.skeleton-stat-grid{grid-template-columns:1fr}.skeleton-calendar-cell{min-height:62px;padding:.4rem}.skeleton-list-row>.skeleton:last-child{display:none}}.toast-container{z-index:10000}.toast-notification{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}@keyframes toast-enter{0%{opacity:0;transform:translateX(100%) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100%) scale(.9)}}@keyframes toast-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 #fbbf2459}50%{box-shadow:0 0 0 10px #fbbf2400}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.toast-notification{animation:toast-enter .3s cubic-bezier(.175,.885,.32,1.275)}.toast-notification[data-visible=false]{animation:toast-exit .2s ease-in-out}.toast-notification.order-notification{animation:toast-enter .4s cubic-bezier(.175,.885,.32,1.275),pulse-glow 2s infinite,toast-bounce .6s ease-in-out}.toast-notification.reservation-notification{animation:toast-enter .4s cubic-bezier(.175,.885,.32,1.275),toast-bounce .6s ease-in-out}.toast-notification.error-notification{animation:toast-enter .3s cubic-bezier(.175,.885,.32,1.275),shake .5s ease-in-out}.toast-notification.success-notification{animation:toast-enter .3s cubic-bezier(.175,.885,.32,1.275),toast-bounce .4s ease-in-out}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.actib-toast{align-items:flex-start;display:flex;gap:12px;width:100%}.actib-toast-icon{display:flex;flex-shrink:0;padding-top:1px}.actib-toast-text{display:flex;flex-direction:column;gap:2px;min-width:0}.actib-toast-title{color:#f8fafc;font-size:.95rem;font-weight:700;line-height:1.25}.actib-toast-body{color:#e2e8f0;font-size:.83rem;line-height:1.35}.actib-toast-meta{color:#94a3b8;font-size:.75rem;line-height:1.3}.toast-notification .toast-progress{animation:toast-progress linear;background:#ffffff4d;border-radius:0 0 12px 12px;bottom:0;height:3px;left:0;position:absolute}@keyframes toast-progress{0%{width:100%}to{width:0}}.toast-notification:hover{transform:scale(1.02);transition:transform .2s ease-in-out}@media (max-width:640px){.toast-container{left:16px;right:16px;top:16px}.toast-notification{margin:0;max-width:none;width:100%}@keyframes toast-enter-mobile{0%{opacity:0;transform:translateY(-100%) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit-mobile{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-100%) scale(.9)}}.toast-notification{animation:toast-enter-mobile .3s cubic-bezier(.175,.885,.32,1.275)}.toast-notification[data-visible=false]{animation:toast-exit-mobile .2s ease-in-out}}@media (prefers-color-scheme:dark){.toast-notification{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}}@media (prefers-contrast:high){.toast-notification{border:2px solid}}@media (prefers-reduced-motion:reduce){.animate-pulse,.animate-spin,.toast-notification,.toast-notification.error-notification,.toast-notification.order-notification,.toast-notification.reservation-notification,.toast-notification.success-notification{animation:none}.toast-notification:hover{transform:none}}.toast-notification:focus-within{outline:2px solid #93c5fd;outline-offset:2px}.toast-container::-webkit-scrollbar{width:4px}.toast-container::-webkit-scrollbar-track{background:#0000}.toast-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.toast-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.network-status-banner{background:#92400e;box-shadow:0 2px 8px #0003;color:#fff;font-size:.875rem;font-weight:600;left:env(safe-area-inset-left,0);padding:.65rem 1rem;position:fixed;right:env(safe-area-inset-right,0);text-align:center;top:env(safe-area-inset-top,0);z-index:10050}.pwa-layout{-webkit-tap-highlight-color:transparent;background:var(--gray-25,#fff);box-sizing:border-box;color:var(--gray-900,#111827);display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) 0 env(safe-area-inset-left,0)}.pwa-layout,.pwa-main-content{min-width:0;position:relative;width:100%}.pwa-main-content{-webkit-overflow-scrolling:touch;background:var(--gray-50,#f9fafb);flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-block:16px}.pwa-layout .pwa-main-content>.wa-shell{height:100%;min-height:0}.pwa-main-content>.page-container{padding:16px}.pwa-main-content input:not([type=checkbox]):not([type=radio]),.pwa-main-content select,.pwa-main-content textarea{font-size:max(16px,1rem)}.pwa-main-content button,.pwa-main-content select{min-height:44px}.pwa-bottom-nav{align-items:stretch;background:var(--gray-25,#fff);border-top:1px solid var(--gray-200,#e5e7eb);box-sizing:border-box;display:flex;flex:none;justify-content:space-around;min-height:calc(68px + env(safe-area-inset-bottom, 0px));padding:4px 6px calc(4px + env(safe-area-inset-bottom, 0px));position:relative;width:100%}.pwa-nav-item{-webkit-tap-highlight-color:transparent;background:#0000;border:0;color:var(--gray-600,#4b5563);cursor:pointer;flex:1;flex-direction:column;gap:3px;min-height:56px;min-width:0;padding:3px 2px;text-decoration:none;touch-action:manipulation;transition:color .16s ease-out,background-color .16s ease-out}.pwa-nav-icon-wrapper,.pwa-nav-item{align-items:center;border-radius:10px;display:flex;justify-content:center}.pwa-nav-icon-wrapper{height:30px;position:relative;transition:background-color .16s ease-out;width:48px}.pwa-nav-item.active{color:var(--primary-700,#0369a1)}.pwa-nav-item.active .pwa-nav-icon-wrapper{background:var(--primary-100,#f0f5f9)}.pwa-nav-item:active{background:var(--gray-100,#f3f4f6)}.pwa-nav-item:focus-visible{outline:2px solid var(--primary-600,#0284c7);outline-offset:-2px}.pwa-nav-label{font:inherit;font-size:11px;font-weight:600;line-height:1.25;white-space:nowrap}.pwa-nav-item.active .pwa-nav-label{font-weight:750}.pwa-nav-badge{background:#b91c1c;border-radius:999px;color:#fff;font-size:10px;font-weight:700;line-height:1.2;min-width:17px;padding:2px 4px;position:absolute;right:-1px;text-align:center;top:-1px}.pwa-nav-lock{background:var(--gray-25,#fff);border-radius:50%;bottom:0;color:var(--gray-600,#4b5563);display:grid;height:15px;place-items:center;position:absolute;right:2px;width:15px}[data-theme=dark] .pwa-nav-item.active{color:#7dd3fc}@media (prefers-reduced-motion:reduce){.pwa-nav-icon-wrapper,.pwa-nav-item{transition:none}}@media (orientation:landscape) and (max-height:500px){.pwa-layout .mobile-app-header{min-height:52px;padding-block:2px}.pwa-bottom-nav{min-height:calc(52px + env(safe-area-inset-bottom, 0px))}.pwa-nav-item{flex-direction:row;gap:4px;min-height:44px}.pwa-nav-icon-wrapper{width:30px}}.entitlement-upgrade-cta{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:6px 12px;transition:opacity .15s ease;white-space:nowrap}.entitlement-upgrade-cta:hover{opacity:.88}.entitlement-upgrade-cta--large{font-size:14px;padding:10px 20px}.entitlement-upgrade-placeholder{align-items:center;background:#f9fafb;border:1.5px dashed #d1d5db;border-radius:12px;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:180px;padding:40px 24px;text-align:center}.entitlement-upgrade-icon{align-items:center;background:#ede9fe;border-radius:50%;color:#7c3aed;display:flex;height:48px;justify-content:center;width:48px}.entitlement-upgrade-title{color:#111827;font-size:15px;font-weight:600;margin:0}.entitlement-upgrade-subtitle{color:#6b7280;font-size:13px;margin:0;max-width:280px}.entitlement-locked-page{color:#374151;flex-direction:column;gap:16px;padding:80px 24px;text-align:center}.entitlement-locked-icon,.entitlement-locked-page{align-items:center;display:flex;justify-content:center}.entitlement-locked-icon{background:#f3f4f6;border-radius:50%;color:#9ca3af;height:72px;width:72px}.entitlement-locked-title{color:#111827;font-size:20px;font-weight:700;margin:0}.entitlement-locked-subtitle{color:#6b7280;font-size:14px;line-height:1.5;margin:0;max-width:340px}.limit-progress{display:flex;flex-direction:column;font-size:12px;gap:4px}.limit-progress__header{align-items:center;display:flex;gap:8px;justify-content:space-between}.limit-progress__label{color:#6b7280;font-weight:500}.limit-progress__count{align-items:center;color:#374151;display:flex;font-weight:600;gap:3px}.limit-progress__count--unlimited{color:#059669}.limit-progress__bar-track{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden}.limit-progress__bar{border-radius:3px;height:100%;transition:width .4s ease}.limit-progress__bar--ok{background:#3b82f6}.limit-progress__bar--warn{background:#f59e0b}.limit-progress__bar--exceeded{background:#ef4444}.limit-progress__bar--unlimited{background:#10b981}.limit-progress__message{align-items:flex-start;display:flex;font-size:11px;gap:5px;line-height:1.4;margin-top:2px}.limit-progress__message--warn{color:#92400e}.limit-progress__message--exceeded{color:#991b1b}.limit-progress__cta{align-items:center;background:#7c3aed;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:10px;font-weight:600;gap:4px;margin-top:4px;padding:3px 8px;transition:opacity .15s;white-space:nowrap}.limit-progress__cta:hover{opacity:.85}.plan-banner{align-items:center;animation:slideDown .2s ease;border-bottom:1px solid #0000;display:flex;font-size:12px;gap:10px;justify-content:space-between;padding:6px 12px;z-index:50}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.plan-banner--warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.plan-banner--exceeded{background:#fef2f2;border-color:#fecaca;color:#991b1b}.plan-banner__content{align-items:flex-start;display:flex;flex:1;flex-direction:column;gap:4px}.plan-banner__headline{align-items:center;display:flex;gap:8px}.plan-banner__icon{flex-shrink:0}.plan-banner__text{font-weight:500;line-height:1.3}.plan-banner__subtext{font-size:11px;line-height:1.3;opacity:.95}.plan-banner__actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.plan-banner__upgrade-btn{align-items:center;background:#7c3aed;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:10px;font-weight:600;gap:4px;padding:3px 8px;transition:opacity .15s;white-space:nowrap}.plan-banner__upgrade-btn:hover{opacity:.85}.plan-banner__dismiss-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:inherit;cursor:pointer;display:flex;justify-content:center;opacity:.6;padding:4px;transition:opacity .15s}.plan-banner__dismiss-btn:hover{opacity:1}@media (max-width:768px){.plan-banner{align-items:flex-start}.plan-banner__actions{padding-top:2px}}.softcutoff-overlay{align-items:center;animation:fadeIn .15s ease;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.softcutoff-modal{align-items:center;animation:scaleIn .15s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;gap:12px;max-width:420px;padding:32px 28px 24px;text-align:center;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.softcutoff-modal__icon{color:#ef4444}.softcutoff-modal__title{color:#111827;font-size:18px;font-weight:700;margin:0}.softcutoff-modal__body{color:#374151;font-size:14px;line-height:1.5;margin:0}.softcutoff-modal__cta-note{color:#6b7280;font-size:13px;margin:0}.softcutoff-modal__actions{display:flex;flex-direction:column;gap:8px;margin-top:8px;width:100%}.softcutoff-modal__btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:opacity .15s}.softcutoff-modal__btn:hover{opacity:.85}.softcutoff-modal__btn--upgrade{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.softcutoff-modal__btn--continue{background:#f3f4f6;color:#374151;font-weight:500}.softcutoff-modal__btn--cancel{background:#0000;color:#9ca3af;font-size:13px;font-weight:400}.entitlement-neutral-page{color:#374151;flex-direction:column;gap:14px;padding:80px 24px;text-align:center}.entitlement-neutral-icon,.entitlement-neutral-page{align-items:center;display:flex;justify-content:center}.entitlement-neutral-icon{background:#f3f4f6;border-radius:50%;color:#9ca3af;height:72px;width:72px}.entitlement-neutral-title{color:#111827;font-size:20px;font-weight:700;margin:0}.entitlement-neutral-subtitle{color:#6b7280;font-size:14px;line-height:1.5;margin:0;max-width:340px}.entitlement-neutral-placeholder{align-items:center;background:#f9fafb;border:1.5px dashed #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:180px;padding:40px 24px;text-align:center}.entitlement-neutral-placeholder-icon{align-items:center;background:#f3f4f6;border-radius:50%;color:#9ca3af;display:flex;height:44px;justify-content:center;width:44px}.sidebar-link--locked{opacity:.65}.sidebar-link--locked .sidebar-link-lock-icon{color:#9ca3af;flex-shrink:0;margin-left:auto}@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}