:root{--bg: #f8f6f2;--surface: #ffffff;--surface-2: #f2e9dc;--border: #e8dcc6;--primary: #0d1b2a;--primary-hover: #162a3f;--accent: #c58a3a;--accent-soft: #e8dcc6;--accent-hover: #b87333;--text: #0d1b2a;--text-muted: #6b7280;--success: #16a34a;--danger: #dc2626;--warning: #c58a3a;--radius: 14px;--shadow: 0 8px 32px rgba(13, 27, 42, .1);--shadow-sm: 0 2px 8px rgba(13, 27, 42, .06);--sidebar-bg: #0d1b2a;--sidebar-text: #c9b99a;--sidebar-active: #f2e9dc;--font-ar: "Cairo", "Tajawal", "Segoe UI", Tahoma, sans-serif;--font-en: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Playfair Display", "Georgia", "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ar);background:radial-gradient(ellipse 90% 60% at 100% 0%,rgba(197,138,58,.07),transparent 55%),radial-gradient(ellipse 70% 50% at 0% 100%,rgba(13,27,42,.04),transparent 50%),var(--bg);color:var(--text);min-height:100vh;line-height:1.65;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}[dir=ltr] body{font-family:var(--font-en)}input,select,textarea,button{font-family:inherit}a{color:var(--primary);text-decoration:none}.app-layout{display:flex;height:100dvh;max-height:100dvh;overflow:hidden}.app-layout--map-focus .app-main-wrap{width:100%}.app-content--map-focus{padding:0!important;overflow:hidden}.app-sidebar{width:270px;height:100vh;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;border-inline-start:1px solid rgba(255,255,255,.06);transition:width .2s ease}[dir=ltr] .app-sidebar{border-inline-start:none;border-inline-end:1px solid rgba(255,255,255,.06)}.app-sidebar-brand{display:flex;align-items:center;gap:.5rem;padding:1rem .9rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.app-sidebar-collapse{position:relative;width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-inline-start:0;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff14;color:var(--sidebar-text);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.app-sidebar-collapse:hover,.app-layout--sidebar-collapsed .app-sidebar-collapse:hover{border-color:#ffffff3d;background:#ffffff24;color:var(--sidebar-active)}.app-sidebar-collapse svg{flex-shrink:0;transition:transform .2s ease}[dir=rtl] .app-sidebar-collapse svg{transform:scaleX(-1)}.app-layout--sidebar-collapsed .app-sidebar-collapse{color:var(--sidebar-active);background:#ffffff1f;border-color:#fff3}.app-nav-close,.app-nav-backdrop{display:none}.app-nav-toggle{display:none;align-items:center;justify-content:center;min-width:32px;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff1a;color:var(--sidebar-active);cursor:pointer;flex-shrink:0;z-index:60}.app-nav-toggle:hover{background:#ffffff29}.app-nav-toggle svg{flex-shrink:0}.app-brand-logo{display:block;flex:1;min-width:0;width:auto;height:auto;max-height:88px;object-fit:contain;object-position:center;border-radius:0;background:transparent;padding:0;box-shadow:none}.app-brand-title{flex:1;min-width:0;margin:0;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:600;line-height:1.25;color:#f2e9dc;letter-spacing:.01em}.app-sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.75rem .65rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.app-sidebar-nav::-webkit-scrollbar{width:5px}.app-sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:99px}.app-nav-section{margin-bottom:.35rem;border-radius:10px;background:#ffffff08;padding:.2rem}.app-nav-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:.35rem;width:100%;border:none;background:transparent;color:#cbd5e1b3;cursor:pointer;padding:.45rem .55rem;border-radius:8px;transition:background .15s,color .15s}.app-nav-section-toggle:hover{background:#ffffff0f;color:#e2e8f0}.app-nav-section.has-active .app-nav-section-toggle{color:#e2e8f0}.app-nav-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;text-align:start;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav-section-chevron{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.75;transition:transform .18s ease;transform:rotate(-90deg)}[dir=rtl] .app-nav-section-chevron{transform:rotate(90deg)}.app-nav-section-chevron.is-open,[dir=rtl] .app-nav-section-chevron.is-open{transform:rotate(0)}.app-nav-section-items{display:flex;flex-direction:column;padding:.1rem 0 .15rem}.app-nav-section-items[hidden]{display:none}.app-nav-link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:8px;color:var(--sidebar-text);font-size:.88rem;margin-bottom:.15rem;transition:background .15s,color .15s;border:none;background:transparent;width:100%;cursor:pointer;text-align:start}.app-nav-link:hover{background:#ffffff14;color:#fff}.app-nav-link.active{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--sidebar-active);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}[dir=ltr] .app-nav-link.active{box-shadow:inset -3px 0 0 var(--accent)}.app-nav-icon{display:flex;align-items:center;opacity:.85;flex-shrink:0}.app-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout--sidebar-collapsed .app-sidebar{width:76px}.app-layout--sidebar-collapsed .app-sidebar-brand{justify-content:center;padding:.85rem .5rem}.app-layout--sidebar-collapsed .app-brand-logo{display:none}.app-layout--sidebar-collapsed .app-sidebar-nav{padding:.65rem .45rem}.app-layout--sidebar-collapsed .app-nav-section{background:transparent;padding:0;margin-bottom:.25rem}.app-layout--sidebar-collapsed .app-nav-section-toggle{display:none}.app-layout--sidebar-collapsed .app-nav-section-items[hidden]{display:flex}.app-layout--sidebar-collapsed .app-nav-section-title,.app-layout--sidebar-collapsed .app-nav-label{display:none}.app-layout--sidebar-collapsed .app-nav-link{justify-content:center;padding:.7rem .45rem;gap:0}.app-layout--sidebar-collapsed .app-nav-icon{opacity:1}.app-main-wrap{flex:1;display:flex;flex-direction:column;min-width:0;height:100dvh;max-height:100dvh;overflow:hidden}.app-topbar{display:flex;align-items:center;gap:.65rem;height:48px;min-height:48px;padding:0 1rem;background:var(--sidebar-bg);color:var(--sidebar-text);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;z-index:50}.app-topbar-start{display:flex;align-items:center;gap:.45rem;flex-shrink:0;min-width:0}.app-topbar-search{flex:1;max-width:380px;display:flex;align-items:center;gap:.45rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.28rem .7rem;color:var(--sidebar-text)}.app-topbar-search:focus-within{border-color:#ffffff47;background:#ffffff1f}.app-topbar-search input{flex:1;border:none;background:transparent;color:var(--sidebar-active);font-size:.85rem;padding:0;outline:none}.app-topbar-search input::placeholder{color:#cbd5e1b3}.app-topbar-search kbd{font-size:.65rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:.08rem .3rem;color:var(--sidebar-text)}.app-topbar-end{display:flex;align-items:center;gap:.4rem;margin-inline-start:auto}.app-topbar-icon{position:relative;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:var(--sidebar-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.app-topbar-icon:hover{background:#ffffff24;border-color:#ffffff3d;color:var(--sidebar-active)}.app-quick-menu{position:relative}.app-quick-menu-trigger.open{background:#ffffff2e;border-color:#ffffff4d;color:var(--sidebar-active)}.app-quick-menu-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease}.app-quick-menu-icon.is-open{transform:rotate(90deg)}.app-quick-dropdown{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:80;min-width:220px;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0f172a29}.app-quick-dropdown-title{margin:0;padding:.45rem .65rem .35rem;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.app-quick-dropdown-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .65rem;border:none;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.88rem;text-decoration:none;cursor:pointer;transition:background .12s}.app-quick-dropdown-item:hover{background:var(--bg)}.app-quick-dropdown-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;flex-shrink:0}.app-badge-count{position:absolute;top:-4px;inset-inline-end:-4px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 3px}.app-user-menu{position:relative;margin-inline-start:.25rem}.app-user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.2rem .5rem .2rem .2rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff14;cursor:pointer;color:var(--sidebar-text);font:inherit;transition:background .15s,border-color .15s}.app-user-menu-trigger:hover{background:#ffffff24;border-color:#ffffff3d}.app-user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#c58a3a,#e8dcc6);color:#0d1b2a;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.app-user-info{display:flex;flex-direction:column;line-height:1.25;text-align:start}.app-user-info strong{font-size:.8rem;color:var(--sidebar-active)}.app-user-info span{font-size:.68rem;color:var(--sidebar-text)}.app-user-caret{font-size:.55rem;color:var(--sidebar-text);margin-inline-start:.1rem}.app-user-dropdown{position:absolute;top:calc(100% + 6px);inset-inline-end:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px #0f172a1f;padding:.4rem;z-index:80;display:flex;flex-direction:column;gap:.15rem}.app-user-dropdown-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.7rem .8rem;border:none;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.9rem;cursor:pointer;text-align:start}.app-user-dropdown-item:hover{background:var(--bg)}.app-user-dropdown-item.danger{color:#dc2626}.app-user-dropdown-item.danger:hover{background:#ef444414}.app-content{flex:1;min-width:0;min-height:0;padding:1.5rem;overflow-y:auto;overflow-x:hidden}.event-switcher{position:relative}.event-switcher-btn{display:flex;align-items:center;gap:.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.28rem .7rem;cursor:pointer;color:var(--sidebar-active);min-width:180px;max-height:34px;transition:background .15s,border-color .15s}.event-switcher-btn:hover{background:#ffffff24;border-color:#ffffff3d}.event-switcher-name{flex:1;font-size:.82rem;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start}.event-switcher-caret{font-size:.6rem;color:var(--sidebar-text)}.event-switcher-menu{position:absolute;top:calc(100% + 6px);inset-inline-start:0;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;z-index:100}.event-switcher-list{max-height:280px;overflow-y:auto;padding:.35rem}.event-switcher-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .75rem;background:transparent;border:none;border-radius:8px;color:var(--text);cursor:pointer;text-align:start;font-size:.9rem}.event-switcher-item:hover{background:var(--bg)}.event-switcher-item.active{color:var(--primary);font-weight:600}.event-switcher-item .checkmark{color:var(--primary)}.event-switcher-empty{padding:.75rem;color:var(--text-muted);font-size:.9rem;text-align:center}.event-switcher-divider{height:1px;background:var(--border)}.event-switcher-create{width:100%;padding:.75rem;background:transparent;border:none;border-top:1px solid var(--border);color:var(--primary);cursor:pointer;font-size:.9rem;font-weight:700;text-align:start}.event-switcher-create:hover{background:var(--bg)}.layout{display:flex;min-height:100vh}.sidebar{display:none}.content-area{flex:1}.topbar{display:none}.main{padding:1.5rem}.page-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-head .page-title{margin-bottom:0}.page-subtitle{color:var(--text-muted);font-size:1rem}.page-title{font-size:1.75rem;margin-bottom:1.5rem;font-weight:700;color:var(--primary);letter-spacing:-.02em}[dir=ltr] .page-title{font-family:var(--font-display)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--surface);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--border)}.stat-card .value{font-size:2rem;font-weight:700;color:var(--accent)}.stat-card .label{color:var(--text-muted);font-size:.9rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;color:var(--text-muted);font-size:.9rem}input,select,textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:1rem}textarea{min-height:100px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:background .2s}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;box-shadow:0 4px 14px #c58a3a47}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-hover) 0%,#a06528 100%);box-shadow:0 6px 18px #c58a3a57}.btn-sidebar{background:var(--sidebar-bg);color:var(--sidebar-active)}.btn-sidebar:hover{background:var(--primary-hover);color:var(--sidebar-active)}.btn-secondary{background:var(--bg);border:1px solid var(--border);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn+.btn{margin-inline-start:.5rem}.error{color:#991b1b;background:#dc26261a;border:1px solid rgba(185,28,28,.28);border-radius:10px;font-size:.9rem;font-weight:650;line-height:1.45;margin-top:.75rem;padding:.7rem .9rem}.success{color:#15803d;background:#16a34a1a;border:1px solid rgba(22,163,74,.22);border-radius:10px;font-size:.9rem;font-weight:650;line-height:1.45;margin-top:.75rem;padding:.7rem .9rem}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem;text-align:start;border-bottom:1px solid var(--border)}.table th{color:var(--text-muted);font-weight:500}.lang-toggle{position:fixed;top:1rem;inset-inline-end:1rem;z-index:100}.builder-head{display:flex;align-items:center;justify-content:space-between;margin:1.5rem 0 .75rem}.builder-head h3{margin:0}.field-builder{border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem;background:var(--bg)}.option-group{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 0}.option-item{display:flex;align-items:center;gap:.4rem;font-weight:400}.option-item input{width:auto}.invite-contact{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);text-align:start}.invite-contact h4{margin-bottom:.5rem}.invite-contact p{text-align:start;margin:.25rem 0}.approval-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.approval-mode-card{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s}.approval-mode-card input{width:auto;margin-top:.2rem}.approval-mode-card strong{display:block;margin-bottom:.25rem;color:var(--text)}.approval-mode-card span{display:block;font-size:.82rem;color:var(--text-muted);line-height:1.4}.approval-mode-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.approval-badge{font-size:.8rem!important;padding:.35rem .7rem!important}.approval-badge.auto{color:#16a34a!important;border-color:#16a34a59!important;background:#16a34a14!important}.approval-badge.manual{color:#d97706!important;border-color:#d9770659!important;background:#d9770614!important}@media(max-width:640px){.approval-mode-options{grid-template-columns:1fr}}.badge-qr{text-align:center;padding:2rem}.badge-qr img{max-width:200px;margin:1rem auto;display:block;background:#fff;padding:1rem;border-radius:8px}@media(max-width:1100px){.app-topbar-search{display:none}}@media(max-width:768px){.app-layout--compact .app-nav-toggle{display:inline-flex!important}.app-layout--compact .app-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .2s ease}.app-layout--compact.nav-open .app-nav-backdrop{opacity:1;pointer-events:auto}.app-layout--compact .app-sidebar{position:fixed;top:0;bottom:0;z-index:100;width:min(300px,88vw);height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);transition:transform .22s ease;box-shadow:0 0 40px #00000047}[dir=rtl] .app-layout--compact .app-sidebar{right:0;left:auto;transform:translate(105%)}[dir=rtl] .app-layout--compact.nav-open .app-sidebar{transform:translate(0)}[dir=ltr] .app-layout--compact .app-sidebar{left:0;right:auto;transform:translate(-105%)}[dir=ltr] .app-layout--compact.nav-open .app-sidebar{transform:translate(0)}.app-layout--compact .app-nav-close{display:inline-flex;margin-inline-start:auto;width:36px;height:36px;border:none;border-radius:10px;background:#ffffff14;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.app-layout--compact .app-main-wrap{width:100%;min-width:0}.app-layout--compact .app-topbar{height:auto;min-height:48px;padding:.35rem .75rem;padding-top:max(.35rem,env(safe-area-inset-top));gap:.45rem}.app-layout--compact .app-topbar-start{min-width:0;flex:1;gap:.45rem}.app-layout--compact .event-switcher{min-width:0;flex:1}.app-layout--compact .event-switcher-btn{min-width:0;width:100%;max-width:100%;padding:.28rem .55rem}.app-layout--compact .event-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none}.app-layout--compact .event-switcher-menu{width:min(300px,calc(100vw - 1.5rem))}.app-layout--compact .app-content{padding:.85rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));overflow-x:hidden}.app-layout--compact .app-user-info{display:none}.app-layout--compact .form-row{grid-template-columns:1fr}.app-layout--compact .page-title{font-size:1.35rem}.app-layout--compact .auth-page{padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));min-height:100dvh}.app-layout--compact .auth-card{width:100%;max-width:100%;padding:1.25rem}}@media(min-width:769px){.app-nav-toggle,.app-nav-backdrop,.app-nav-close{display:none!important}.app-sidebar{position:relative!important;inset:auto!important;transform:none!important;height:100vh!important;max-height:none!important;box-shadow:none!important;padding-top:0!important;padding-bottom:0!important}.app-layout:not(.app-layout--sidebar-collapsed) .app-sidebar{width:270px!important}.app-layout--sidebar-collapsed .app-sidebar{width:76px!important}.app-main-wrap{width:auto;min-width:0;flex:1}}@media(max-width:768px){.app-sidebar-collapse{display:none!important}}@media(max-width:480px){.app-content{padding:.7rem}.app-topbar-icon{width:30px;height:30px}.app-user-caret{display:none}.app-user-menu-trigger{gap:0;padding-inline:.15rem}.app-topbar-end{gap:.25rem;flex-shrink:0}}.auth-page{position:relative;isolation:isolate;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,2.5rem);overflow:hidden;background:#0d1b2a}.auth-page--stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 85% 65% at 15% 20%,rgba(197,138,58,.28),transparent 52%),radial-gradient(ellipse 60% 50% at 90% 15%,rgba(232,220,198,.12),transparent 48%),radial-gradient(ellipse 55% 45% at 70% 90%,rgba(13,27,42,.95),transparent 55%),linear-gradient(165deg,#0d1b2a,#162a3f 45%,#0a1420);animation:auth-wash 18s ease-in-out infinite alternate}.auth-page--stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(197,138,58,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(197,138,58,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000 20%,transparent 75%)}.auth-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.auth-atmosphere-beam{position:absolute;top:-20%;width:38%;height:140%;background:linear-gradient(180deg,rgba(197,138,58,.18) 0%,rgba(197,138,58,.04) 42%,transparent 72%);filter:blur(2px);transform-origin:top center;animation:auth-beam 12s ease-in-out infinite alternate}.auth-atmosphere-beam--a{left:8%;transform:rotate(-18deg)}.auth-atmosphere-beam--b{right:4%;width:28%;animation-delay:-4s;animation-duration:15s;transform:rotate(14deg);background:linear-gradient(180deg,rgba(242,233,220,.1) 0%,rgba(242,233,220,.02) 50%,transparent 75%)}.auth-atmosphere-floor{position:absolute;left:-20%;right:-20%;bottom:-8%;height:42%;background:linear-gradient(to top,rgba(8,12,18,.92),transparent),repeating-linear-gradient(90deg,transparent 0,transparent 48px,rgba(197,138,58,.06) 48px,rgba(197,138,58,.06) 49px);transform:perspective(420px) rotateX(58deg);transform-origin:center bottom;opacity:.7}.auth-shell{position:relative;z-index:1;width:min(100%,480px);display:flex;flex-direction:column;align-items:stretch;gap:1.35rem;animation:auth-rise .7s cubic-bezier(.22,1,.36,1) both}.auth-brand{text-align:center;color:#f2e9dc}.auth-brand-title{margin:0;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(1.85rem,4.5vw,2.45rem);font-weight:600;letter-spacing:.02em;color:#f2e9dc;line-height:1.15}.auth-brand-logo{display:block;width:min(100%,480px);height:auto;margin:0 auto;background:transparent;padding:0;border-radius:0;box-shadow:none;animation:auth-rise .85s cubic-bezier(.22,1,.36,1) both}.auth-brand .auth-tagline{margin:.85rem 0 0;font-size:.98rem;font-weight:400;color:#f2e9dce0;line-height:1.45}.auth-card{width:100%;max-width:420px;padding:clamp(1.35rem,3.5vw,1.85rem);border-radius:18px;background:#fffffff7;border:1px solid rgba(232,220,198,.8);box-shadow:0 1px #ffffffbf inset,0 20px 52px #080c1261;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1}.auth-shell .auth-card{max-width:none}.auth-card>h1{text-align:center;margin:0 0 .35rem;color:var(--primary);font-size:1.45rem}.auth-card>p:not(.error):not(.success):not(.auth-links){text-align:center;color:var(--text-muted);margin:0 0 1.35rem;font-size:.92rem}.auth-card .form-group{margin-bottom:.95rem}.auth-card .form-group label{color:#4a3a2a;font-size:.82rem;font-weight:650}.auth-card .form-group input{border-color:#e8dcc6;background:#f8f6f2;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth-card .form-group input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,#c9b99a);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.auth-card .btn-primary{width:100%;margin-top:.35rem;padding:.78rem 1.25rem;font-weight:650;letter-spacing:.01em}.auth-links{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin:1.05rem 0 0;padding-top:1rem;border-top:1px solid #e8dcc6;text-align:center}.auth-links a{color:var(--accent-hover);font-size:.9rem;font-weight:550;transition:opacity .15s ease}.auth-links a:hover{opacity:.75}.auth-links-secondary{color:var(--text-muted)!important;font-weight:500!important}@keyframes auth-wash{0%{filter:saturate(1) brightness(1)}to{filter:saturate(1.08) brightness(1.06)}}@keyframes auth-beam{0%{opacity:.55;transform:rotate(var(--auth-beam-rot, -18deg)) translate(0)}to{opacity:.9;transform:rotate(var(--auth-beam-rot, -18deg)) translate(12px)}}.auth-atmosphere-beam--a{--auth-beam-rot: -18deg}.auth-atmosphere-beam--b{--auth-beam-rot: 14deg}@keyframes auth-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.auth-page--stage:before,.auth-atmosphere-beam,.auth-shell,.auth-brand-logo{animation:none!important}}@media(max-width:480px){.auth-brand-logo{width:min(100%,300px);padding:0}.auth-atmosphere-floor{height:32%;opacity:.5}}body.event-transition-lock{overflow:hidden!important}.event-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;pointer-events:all;display:flex;align-items:center;justify-content:center}.event-transition__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0}.event-transition__veil--closing{animation:event-veil-close .75s ease-in forwards}.event-transition__veil--branding,.event-transition__veil--opening{opacity:1}.event-transition__veil--opening{animation:event-veil-open .85s ease-out forwards}.event-transition__content{position:relative;z-index:1;text-align:center;padding:2rem;opacity:0;transform:translateY(12px) scale(.96)}.event-transition__content--branding{animation:event-content-in .55s ease-out .1s forwards}.event-transition__content--opening{opacity:1;transform:translateY(0) scale(1);animation:event-content-out .5s ease-in forwards}.event-transition__logo{width:240px;height:240px;object-fit:contain;border-radius:0;background:transparent;padding:0;margin:0 auto 1.5rem;display:block;box-shadow:none;border:none}.event-transition__logo-fallback{width:140px;height:140px;border-radius:50%;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;font-size:3.5rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:none;border:none}.event-transition__title{color:#fff;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin-bottom:.5rem;letter-spacing:-.02em}.event-transition__subtitle{color:#ffffff8c;font-size:.95rem}@keyframes event-veil-close{0%{opacity:0}to{opacity:1}}@keyframes event-veil-open{0%{opacity:1}to{opacity:0}}@keyframes event-content-in{0%{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes event-content-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(1.02)}}.dash-page{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:100%;min-width:0;overflow-x:clip}.dash-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.dash-welcome h1{font-size:1.65rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.dash-welcome p{color:var(--text-muted);font-size:.95rem}.dash-date-filter{display:flex;align-items:center;gap:.65rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.55rem .85rem;color:var(--text-muted);font-size:.9rem}.dash-filter-btn{padding:.35rem .85rem!important;font-size:.85rem!important}.dash-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.dash-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem;display:flex;gap:.85rem;align-items:flex-start;box-shadow:var(--shadow-sm)}.dash-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-stat-body{min-width:0}.dash-stat-label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.dash-stat-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.dash-stat-value{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1}.dash-stat-trend{font-size:.75rem;font-weight:600;padding:.15rem .4rem;border-radius:6px}.dash-stat-trend.up{color:var(--success);background:#22c55e1f}.dash-stat-trend.down{color:var(--danger);background:#ef44441f}.dash-charts-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:1rem;min-width:0}.dash-bottom-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;min-width:0;width:100%}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm);min-width:0;max-width:100%}.dash-panel-table{overflow:hidden}.dash-panel h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dash-panel-head h3{margin-bottom:0}.dash-link{font-size:.85rem;color:var(--primary);font-weight:500}.dash-tabs{display:flex;gap:.25rem;background:var(--bg);border-radius:8px;padding:.2rem}.dash-tabs button{border:none;background:transparent;color:var(--text-muted);font-size:.78rem;padding:.35rem .65rem;border-radius:6px;cursor:pointer}.dash-tabs button.active{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:var(--shadow-sm)}.dash-chart-empty,.dash-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem}.dash-donut-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative}.dash-donut{width:140px;height:140px;transform:rotate(-90deg)}.dash-donut-center{position:absolute;top:50px;display:flex;flex-direction:column;align-items:center;font-size:.75rem;color:var(--text-muted)}.dash-donut-center strong{font-size:1.25rem;color:var(--text)}.dash-donut-legend{list-style:none;width:100%;display:flex;flex-direction:column;gap:.45rem}.dash-donut-legend li{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.dash-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-legend-label{flex:1;color:var(--text-muted)}.dash-legend-value{font-weight:600;color:var(--text)}.dash-line-wrap{width:100%}.dash-line-chart{width:100%;height:180px;display:block}.dash-line-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.dash-geo-list{display:flex;flex-direction:column;gap:.75rem}.dash-geo-head{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.3rem}.dash-geo-city{color:var(--text);font-weight:500}.dash-geo-count{color:var(--primary);font-weight:600}.dash-geo-bar{height:6px;background:var(--bg);border-radius:99px;overflow:hidden}.dash-geo-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:99px}.dash-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.85rem}.dash-table th{text-align:start;color:var(--text-muted);font-weight:500;padding:.65rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap}.dash-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap}.dash-user-cell{display:flex;align-items:center;gap:.6rem}.dash-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.dash-badge{display:inline-block;padding:.2rem .55rem;border-radius:99px;font-size:.75rem;font-weight:600}.dash-badge-success{background:#22c55e1f;color:#16a34a}.dash-badge-warning{background:#f59e0b1f;color:#d97706}.dash-badge-danger{background:#ef44441f;color:#dc2626}.dash-badge-muted{background:var(--bg);color:var(--text-muted)}.dash-muted{color:var(--text-muted)!important}.dash-action-btn{color:var(--text-muted);font-size:1.1rem;padding:.2rem .4rem}@media(max-width:1400px){.dash-stats-grid{grid-template-columns:repeat(3,1fr)}.dash-charts-row{grid-template-columns:1fr}}@media(max-width:1024px){.dash-stats-grid{grid-template-columns:repeat(3,1fr)}.dash-bottom-row{grid-template-columns:1fr}}@media(max-width:900px){.dash-page{gap:.95rem}.dash-welcome{flex-direction:column;align-items:stretch;gap:.75rem}.dash-welcome h1{font-size:1.35rem;line-height:1.3;word-break:break-word}.dash-welcome p{font-size:.88rem}.dash-date-filter{width:100%;flex-wrap:wrap;justify-content:space-between}.dash-stats-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.dash-stat-card{padding:.85rem;border-radius:12px}.dash-stat-icon{width:38px;height:38px;border-radius:10px}.dash-stat-value{font-size:1.3rem}.dash-stat-label{font-size:.74rem;line-height:1.3}.dash-panel{padding:.95rem;border-radius:12px}.dash-panel-head{flex-wrap:wrap;gap:.65rem}.dash-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-tabs button{flex:1 0 auto;white-space:nowrap}.dash-line-chart{height:160px}.dash-table-wrap{margin-inline:-.25rem;padding-inline:.25rem;-webkit-overflow-scrolling:touch}.dash-table{font-size:.8rem;min-width:480px}}@media(max-width:640px){.dash-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.dash-stat-card{flex-direction:column;gap:.4rem;padding:.65rem .7rem;border-radius:10px;min-height:0}.dash-stat-icon{width:30px;height:30px;border-radius:8px}.dash-stat-icon svg{width:16px;height:16px}.dash-stat-label{font-size:.68rem;margin-bottom:.2rem;line-height:1.25}.dash-stat-value{font-size:1.15rem}.dash-stat-trend{font-size:.65rem;padding:.1rem .3rem}.dash-donut{width:120px;height:120px}.dash-donut-center{top:40px}}@media(max-width:420px){.dash-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.dash-welcome h1{font-size:1.2rem}.dash-date-filter{font-size:.8rem;padding:.5rem .65rem}.dash-filter-btn{width:100%}.dash-stat-card{padding:.55rem .6rem}.dash-stat-value{font-size:1.05rem}.dash-stat-label{font-size:.64rem}}@media(min-width:421px)and (max-width:640px){.dash-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:360px){.dash-page{gap:.75rem}.dash-panel{padding:.8rem}.dash-tabs button{font-size:.72rem;padding:.3rem .45rem}}@media(max-height:500px)and (orientation:landscape){.dash-welcome h1{font-size:1.15rem}.dash-stats-grid{grid-template-columns:repeat(3,1fr)}.dash-line-chart{height:120px}}.portal-alert{padding:.85rem 1rem;border-radius:10px;margin-bottom:1rem;font-weight:600}.portal-alert-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.portal-alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.portal-my-requests{margin-top:2rem;scroll-margin-top:1rem}.portal-request-time{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.78rem}.portal-home{display:flex;flex-direction:column;gap:1.35rem;max-width:1080px}.portal-home-hero{position:relative;overflow:hidden;padding:1.35rem 1.5rem 1.45rem;border-radius:18px;background:radial-gradient(120% 140% at 100% 0%,rgba(37,99,235,.18),transparent 55%),radial-gradient(90% 100% at 0% 100%,rgba(26,39,68,.1),transparent 50%),linear-gradient(145deg,#fff,#f4f7fb);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[dir=ltr] .portal-home-hero{background:radial-gradient(120% 140% at 0% 0%,rgba(37,99,235,.18),transparent 55%),radial-gradient(90% 100% at 100% 100%,rgba(26,39,68,.1),transparent 50%),linear-gradient(215deg,#fff,#f4f7fb)}.portal-home-hero-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-bottom:.75rem}.portal-home-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.2;background:#1a274412;color:var(--sidebar-bg)}.portal-home-chip--event{background:#2563eb1a;color:var(--primary)}.portal-home-hero h1{margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.25}.portal-home-sub{margin:.45rem 0 0;max-width:36rem;color:var(--text-muted);font-size:.95rem;line-height:1.55}.portal-home-section{display:flex;flex-direction:column;gap:.85rem}.portal-home-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.portal-home-section-title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.portal-home-section-hint{margin:0;font-size:.85rem;color:var(--text-muted)}.portal-home-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem}.portal-home-stat{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.portal-home-stat-icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#1a274414;color:var(--sidebar-bg)}.portal-home-stat-icon--visits{background:#2563eb1a;color:var(--primary)}.portal-home-stat-body{min-width:0;display:flex;flex-direction:column;gap:.15rem}.portal-home-stat-value{font-size:1.55rem;font-weight:700;line-height:1;color:var(--text);letter-spacing:-.03em}.portal-home-stat-label{font-size:.82rem;color:var(--text-muted)}.portal-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.portal-home-card{display:flex;flex-direction:column;gap:.55rem;padding:1.15rem 1.2rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}a.portal-home-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.portal-home-card-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#2563eb1a;color:var(--primary)}.portal-home-card-icon--badge{background:#1a274414;color:var(--sidebar-bg)}.portal-home-card-icon--map{background:#0d94881f;color:#0f766e}.portal-home-card-icon--service{background:#d977061f;color:#b45309}.portal-home-card-icon--help{background:#64748b24;color:#475569}.portal-home-card-icon--checkin{background:#2563eb1f;color:var(--primary)}.portal-home-card-icon--visits{background:#16a34a1f;color:#15803d}.portal-home-card-icon--mail{background:#0ea5e91f;color:#0284c7}.portal-home-card strong{font-size:1.02rem;font-weight:700;color:var(--text)}.portal-home-card span{color:var(--text-muted);font-size:.88rem;line-height:1.45}.portal-home-card-arrow{margin-top:auto;padding-top:.35rem;font-size:.8rem;font-weight:600;color:var(--primary);opacity:.85}.portal-booth-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.portal-booth-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.1rem;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.portal-booth-main{min-width:0;display:flex;flex-direction:column;gap:.25rem}.portal-booth-title{font-weight:700;color:var(--text);font-size:.98rem}.portal-booth-meta{font-size:.85rem;color:var(--text-muted)}.portal-booth-visits{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.portal-booth-visits strong{font-size:1.2rem;font-weight:700;color:var(--sidebar-bg);line-height:1}.portal-booth-visits span{font-size:.75rem;color:var(--text-muted)}.portal-home-empty{margin:0;padding:1.1rem 1.2rem;border-radius:14px;border:1px dashed var(--border);background:color-mix(in srgb,var(--bg) 70%,var(--surface));color:var(--text-muted);font-size:.92rem}.portal-home-loading{margin:0;color:var(--text-muted);font-size:.95rem}@media(max-width:640px){.portal-home-hero{padding:1.1rem 1.1rem 1.2rem;border-radius:14px}.portal-booth-item{flex-direction:column;align-items:flex-start}.portal-booth-visits{flex-direction:row;gap:.4rem;align-items:baseline}}.portal-help-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;line-height:1.7}.portal-help-links{margin-top:1.25rem}.svc-page{--svc-ink: var(--sidebar-bg);--svc-ink-soft: color-mix(in srgb, var(--sidebar-bg) 10%, #fff);display:flex;flex-direction:column;gap:1.35rem;max-width:1180px}.svc-loading,.svc-empty{margin:0;color:var(--text-muted);font-size:.95rem}.svc-hero{display:block;padding:.15rem .1rem;color:var(--text);background:transparent;box-shadow:none}.svc-hero-copy{max-width:40rem}.svc-section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.svc-section-tab{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.95rem 1.05rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:start;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.svc-section-tab strong{display:inline-flex;align-items:center;gap:.45rem;font-size:1rem;font-weight:700}.svc-section-tab span{color:var(--text-muted);font-size:.82rem;line-height:1.4}.svc-section-count{min-width:1.45rem;height:1.45rem;padding:0 .4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--svc-ink-soft);color:var(--svc-ink);font-size:.75rem;font-style:normal;font-weight:700}.svc-section-tab.is-active{border-color:color-mix(in srgb,var(--svc-ink) 35%,var(--border));background:color-mix(in srgb,var(--svc-ink) 6%,var(--surface));box-shadow:var(--shadow-sm)}.svc-section-tab:hover:not(.is-active){border-color:color-mix(in srgb,var(--svc-ink) 22%,var(--border))}.svc-hero-copy h1{margin:.2rem 0 .45rem;font-size:clamp(1.55rem,2.8vw,2.05rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--text)}.svc-hero-eyebrow{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);opacity:1}.svc-hero-copy p:last-child{margin:0;max-width:34rem;color:var(--text-muted);font-size:.95rem;line-height:1.55}.svc-categories{display:flex;flex-direction:column;gap:.95rem}.svc-categories-head h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.svc-categories-head p{margin:.25rem 0 0;color:var(--text-muted);font-size:.92rem}.svc-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.svc-category-card{position:relative;display:block;min-height:200px;padding:0;border:none;border-radius:22px;overflow:hidden;cursor:pointer;text-align:start;box-shadow:0 14px 34px #0f172a1f;transition:transform .22s ease,box-shadow .22s ease}.svc-category-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px #0f172a2e}.svc-category-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.svc-category-card:hover img{transform:scale(1.06)}.svc-category-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a26 10%,#0f172ad1)}.svc-category-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem;min-height:200px;padding:1.15rem 1.2rem;color:#fff}.svc-category-copy strong{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.svc-category-copy span{font-size:.9rem;opacity:.88}.svc-category-copy em{margin-top:.35rem;font-style:normal;font-size:.78rem;font-weight:700;opacity:.75}.svc-browse-bar{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.svc-back{padding:.55rem .9rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--svc-ink);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm)}.svc-back:hover{border-color:color-mix(in srgb,var(--svc-ink) 35%,var(--border))}.svc-browse-title{display:flex;flex-direction:column;gap:.1rem;min-width:0}.svc-browse-title strong{font-size:1.15rem;font-weight:700}.svc-browse-title span{color:var(--text-muted);font-size:.88rem}.svc-menu-block{display:flex;flex-direction:column;gap:1rem}.svc-menu-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding:0 .15rem}.svc-menu-banner-kind{display:inline-block;font-size:.75rem;font-weight:700;color:var(--svc-ink);opacity:.75}.svc-menu-banner h2{margin:.15rem 0 0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.svc-menu-banner-count{font-size:.85rem;color:var(--text-muted)}.svc-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}.svc-dish{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);box-shadow:0 10px 30px #0f172a0d;animation:svcDishIn .45s ease both;transition:transform .22s ease,box-shadow .22s ease}.svc-dish:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0f172a1f}@keyframes svcDishIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.svc-dish-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#0f172a}.svc-dish-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.svc-dish:hover .svc-dish-media img{transform:scale(1.06)}.svc-dish-media-empty{width:100%;height:100%;background:linear-gradient(145deg,#cbd5e1,#e2e8f0)}.svc-dish-price{position:absolute;inset-inline-end:.75rem;bottom:.75rem;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;color:#fff;background:#0f172ad1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 16px #0003}.svc-dish-price.is-free{background:#16a34aeb}.svc-dish-body{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.05rem 1.1rem;flex:1}.svc-dish-body h3{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.25}.svc-dish-body>p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.45;min-height:2.6em}.svc-dish-note-toggle{align-self:flex-start;margin:0;padding:0;border:none;background:none;color:var(--svc-ink);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;opacity:.8}.svc-dish-note-toggle:hover{opacity:1;text-decoration:underline}.svc-qty-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-top:.15rem}.svc-qty-row>span{font-size:.82rem;font-weight:700;color:var(--text-muted)}.svc-qty-row>em{font-style:normal;font-size:.82rem;font-weight:700;color:var(--svc-ink);margin-inline-start:auto}.svc-qty{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem;border-radius:999px;border:1px solid var(--border);background:var(--bg)}.svc-qty button{width:30px;height:30px;border:none;border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:1rem;font-weight:700;cursor:pointer}.svc-qty button:disabled{opacity:.4;cursor:default}.svc-qty strong{min-width:1.5rem;text-align:center;font-size:.95rem}.svc-bill-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.95rem}.svc-bill-summary>div{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .85rem;border-radius:14px;background:var(--bg);border:1px solid var(--border)}.svc-bill-summary span{font-size:.75rem;color:var(--text-muted)}.svc-bill-summary strong{font-size:1.05rem;font-weight:700;color:var(--text)}.svc-invoice-row .svc-order-meta strong{color:var(--svc-ink)}.svc-dish-note{width:100%;resize:vertical;min-height:64px;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:.9rem}.svc-dish-note:focus{outline:none;border-color:color-mix(in srgb,var(--svc-ink) 45%,var(--border));box-shadow:0 0 0 3px var(--svc-ink-soft)}.svc-dish-cta{margin-top:auto;width:100%;padding:.75rem 1rem;border:none;border-radius:12px;background:var(--svc-ink);color:#fff;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease}.svc-dish-cta:hover:not(:disabled){background:color-mix(in srgb,var(--svc-ink) 88%,#fff);transform:translateY(-1px)}.svc-dish-cta:disabled{opacity:.65;cursor:wait}.svc-orders{margin-top:.15rem;padding:1.15rem 1.2rem 1.25rem;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.svc-orders-panel{margin-top:0}.svc-orders-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.95rem}.svc-orders-head h2{margin:0;font-size:1.2rem;font-weight:700}.svc-orders-sub{margin:.3rem 0 0;color:var(--text-muted);font-size:.88rem;line-height:1.45}.svc-orders-head>span{min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--svc-ink-soft);color:var(--svc-ink);font-size:.8rem;font-weight:700;flex-shrink:0}.svc-orders-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;padding:.35rem 0 .15rem}.svc-orders-list{display:flex;flex-direction:column;gap:.65rem}.svc-order-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:14px;background:var(--bg);border:1px solid transparent}.svc-order-title{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.svc-order-meta,.svc-order-notes{margin:.25rem 0 0;color:var(--text-muted);font-size:.85rem}.svc-order-time{display:block;margin-top:.3rem;color:var(--text-muted);font-size:.75rem}.svc-order-cancel{flex-shrink:0;padding:.45rem .85rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--danger);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.svc-order-cancel:hover{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:#fef2f2}.svc-pay-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin:0 0 1rem;padding:.85rem 1rem;border-radius:14px;background:color-mix(in srgb,var(--svc-ink) 6%,var(--bg));border:1px solid var(--border)}.svc-pay-bar p{margin:0;font-size:.9rem;color:var(--text-muted);max-width:36rem;line-height:1.45}.svc-pay-actions{display:flex;gap:.5rem;flex-shrink:0}.svc-pay-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--bg);border:1px solid var(--border)}.svc-pay-paid{color:#166534;border-color:color-mix(in srgb,#166534 25%,var(--border));background:#f0fdf4}.svc-pay-unpaid{color:#9a3412;border-color:color-mix(in srgb,#9a3412 25%,var(--border));background:#fff7ed}.svc-pay-waived{color:var(--text-muted)}.svc-wallet-balance{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.15rem;margin-bottom:1rem;border-radius:16px;background:color-mix(in srgb,var(--svc-ink) 8%,var(--bg));border:1px solid var(--border)}.svc-wallet-balance span{font-size:.85rem;color:var(--text-muted)}.svc-wallet-balance strong{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;letter-spacing:-.03em}.svc-wallet-topup{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.25rem}.svc-wallet-topup label{font-size:.88rem;font-weight:600}.svc-wallet-topup-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.svc-wallet-topup-row input{width:7.5rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}.svc-wallet-presets{display:flex;flex-wrap:wrap;gap:.35rem}.svc-wallet-presets button{min-width:2.75rem;padding:.45rem .55rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.svc-wallet-presets button:hover{border-color:color-mix(in srgb,var(--svc-ink) 30%,var(--border))}.svc-wallet-links{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.25rem}.svc-wallet-links .btn{text-decoration:none}.svc-wallet-note{margin:0;font-size:.8rem;color:var(--text-muted)}.svc-wallet-tx h3{margin:0 0 .65rem;font-size:1rem}.svc-wallet-tx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.svc-wallet-tx-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .95rem;border-radius:12px;background:var(--bg);border:1px solid transparent}.svc-wallet-tx-list strong{display:block;font-size:.92rem}.svc-wallet-tx-list span,.svc-wallet-tx-list time{display:block;font-size:.78rem;color:var(--text-muted);margin-top:.15rem}.svc-wallet-tx-list em{font-style:normal;font-weight:700;white-space:nowrap}.svc-wallet-tx-list em.is-credit{color:#166534}.svc-wallet-tx-list em.is-debit{color:#9a3412}@media(max-width:800px){.svc-hero{padding:.1rem 0 .05rem}.svc-section-nav,.svc-category-grid{grid-template-columns:1fr}}@media(max-width:560px){.svc-menu-grid{grid-template-columns:1fr}.svc-order-row{flex-direction:column;align-items:stretch}.svc-order-cancel{width:100%}.svc-bill-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-qty-row>em{width:100%;margin-inline-start:0}}.portal-request-list{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem}.portal-request-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.portal-request-row span{margin-inline-start:.5rem}.svc-status{display:inline-block;font-size:.75rem;padding:.15rem .5rem;border-radius:99px;background:var(--bg)}.svc-status-pending{color:#b45309;background:#fffbeb}.svc-status-preparing{color:#1d4ed8;background:#eff6ff}.svc-status-delivered{color:#047857;background:#ecfdf5}.svc-status-cancelled{color:#b91c1c;background:#fef2f2}.page-header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.success{color:#047857}.portal-sidebar .app-sidebar-brand span{opacity:.75}.portal-event-label{font-size:.85rem;font-weight:600;color:var(--sidebar-active);max-width:min(420px,55vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svc-tab-badge{display:inline-flex;margin-inline-start:.4rem;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:99px;background:#dc2626;color:#fff;font-size:.7rem;align-items:center;justify-content:center}.svc-filter-row{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.svc-filter-row label{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.svc-access-panel{display:grid;gap:1rem}.svc-access-intro h3{margin:0;font-size:1.05rem}.svc-access-intro p{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem;line-height:1.5;max-width:40rem}.svc-access-empty-card{padding:2rem 1.25rem;text-align:center;color:var(--text-muted)}.svc-access-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}@media(max-width:1100px){.svc-access-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.svc-access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.svc-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.svc-access-tile{display:flex;flex-direction:column;text-align:start;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;color:inherit;font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.svc-access-tile:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:var(--shadow);transform:translateY(-1px)}.svc-access-tile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.svc-access-tile.is-inactive{opacity:.55}.svc-access-tile-media{aspect-ratio:1 / 1;background:var(--bg);overflow:hidden}.svc-access-tile-media img{width:100%;height:100%;object-fit:cover;display:block}.svc-access-tile-placeholder{display:block;width:100%;height:100%;background:linear-gradient(145deg,var(--surface-2),var(--bg))}.svc-access-tile-body{display:grid;gap:.2rem;padding:.7rem .75rem .85rem;min-height:4.5rem}.svc-access-tile-body strong{font-size:.9rem;font-weight:650;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.svc-access-tile-provider,.svc-access-tile-meta{font-size:.75rem;color:var(--text-muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.svc-access-tile-meta{color:var(--primary);font-weight:600}.svc-access-tile.is-inactive .svc-access-tile-meta{color:var(--warning)}.svc-access-modal-body{display:grid;gap:1rem}.svc-access-modal-item{display:flex;align-items:center;gap:.85rem}.svc-access-modal-img{width:56px;height:56px;border-radius:12px;object-fit:cover;border:1px solid var(--border);background:var(--bg);flex-shrink:0}.svc-access-modal-img--empty{background:linear-gradient(145deg,var(--surface-2),var(--bg))}.svc-access-modal-item strong{display:block;font-size:1.02rem}.svc-access-modal-item p{margin:.15rem 0 0;color:var(--text-muted);font-size:.85rem}.svc-access-modal-warn{color:var(--warning)!important;font-weight:600}.svc-access-modal-tools{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.svc-access-modal-tools span{font-size:.85rem;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-inline-end:.15rem}.svc-access-modal-tools .btn-sm{padding:.28rem .7rem;font-size:.8rem;min-height:0;border-radius:8px}.svc-access-modal-hint{margin:0;font-size:.85rem;font-weight:650;color:var(--text)}.svc-access-modal-options{display:grid;gap:.45rem}.svc-access-option{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.svc-access-option input{width:1.05rem;height:1.05rem;accent-color:var(--primary)}.svc-access-option span{font-weight:600;font-size:.92rem}.svc-access-option.is-on{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.svc-access-option.is-disabled{opacity:.55;cursor:not-allowed}.svc-access-saving{margin:0;font-size:.82rem;color:var(--text-muted)}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font:inherit;font-size:inherit}.svc-type-fieldset{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.svc-type-checks{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.5rem}.svc-requests-widget .svc-widget-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.svc-requests-widget .svc-widget-stats>div{background:var(--bg);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.2rem}.svc-requests-widget .svc-widget-stats strong{font-size:1.4rem}.svc-requests-widget .svc-widget-stats span{color:var(--text-muted);font-size:.8rem}.svc-widget-list{display:flex;flex-direction:column;gap:.55rem}.svc-widget-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.svc-widget-row:last-child{border-bottom:none}.svc-widget-row>div{display:flex;flex-direction:column;gap:.15rem}.svc-widget-row span{font-size:.8rem;color:var(--text-muted)}.dash-muted{color:var(--text-muted);font-size:.9rem}.svc-image-preview-wrap{display:flex;align-items:center;gap:.75rem}.svc-image-preview,.svc-table-thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:var(--bg)}.svc-table-thumb.placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.svc-access-name{display:flex;align-items:center;gap:.55rem}.ev-settings{--ev-gap: 1rem;max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:1.15rem;padding-bottom:5.5rem}.ev-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ev-settings-head .page-title{margin:0 0 .25rem}.ev-settings-sub{margin:0;color:var(--text-muted);font-size:.95rem}.ev-settings-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid var(--border);background:#fff;color:var(--text-muted);white-space:nowrap}.ev-settings-badge.is-on{background:#16a34a1a;border-color:#16a34a47;color:#15803d}.ev-settings-badge.is-off{background:#dc262614;border-color:#dc262638;color:#b91c1c}.ev-settings-badge-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.ev-settings-nav{display:flex;flex-wrap:wrap;gap:.4rem;padding:.35rem;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg) 55%,#fff)}.ev-settings-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.86rem;font-weight:650;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border-radius:10px;cursor:pointer;transition:background .15s,color .15s}.ev-settings-nav-item:hover{color:var(--text);background:color-mix(in srgb,var(--primary) 7%,transparent)}.ev-settings-nav-item.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}.ev-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.ev-panel-active{min-height:280px}.ev-panel-head{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.15rem .85rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#f8fafc,#fff)}.ev-panel-icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#2563eb1a;color:var(--primary)}.ev-panel-head h2{margin:0;font-size:1rem;font-weight:700;line-height:1.3}.ev-panel-head p{margin:.2rem 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.45}.ev-panel-body{padding:1.1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.9rem}.ev-panel-body .form-group{margin-bottom:0}.ev-panel-body .form-row{gap:.85rem}.ev-hint{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.45}.ev-logo-box{display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center}.ev-logo-box-wide{max-width:320px;margin:0 auto;width:100%}.ev-logo-preview{width:140px;height:140px;border-radius:18px;border:1px dashed #cbd5e1;background:linear-gradient(135deg,#2563eb0f,#0f172a08),#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-muted);font-weight:700;font-size:1.5rem}.ev-logo-preview img{width:100%;height:100%;object-fit:contain;background:transparent}.ev-logo-actions{display:flex;flex-direction:column;gap:.45rem;width:100%}.ev-logo-actions .btn{width:100%;justify-content:center}.ev-status-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.ev-status-row>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ev-status-row strong{font-size:.92rem}.ev-status-row span{font-size:.8rem;color:var(--text-muted)}.ev-switch{position:relative;width:46px;height:26px;flex-shrink:0}.ev-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;z-index:2;margin:0;cursor:pointer}.ev-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:background .15s}.ev-switch-track:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a33;transition:transform .15s}.ev-switch input:checked+.ev-switch-track{background:var(--success)}.ev-switch input:checked+.ev-switch-track:after{transform:translate(20px)}[dir=rtl] .ev-switch input:checked+.ev-switch-track:after{transform:translate(-20px)}.ev-team-field{display:grid;grid-template-columns:140px 1fr;gap:.75rem;align-items:start}.ev-team-field input[type=number]{text-align:center;font-weight:700;font-size:1.1rem}.ev-settings-alert{margin:0;padding:.7rem .85rem;border-radius:10px;font-size:.9rem}.ev-settings-alert.success{background:#16a34a1a;color:#15803d;border:1px solid rgba(22,163,74,.22)}.ev-settings-alert.error{background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.ev-settings-footer{position:sticky;bottom:.75rem;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;padding:.85rem 1rem;border:1px solid var(--border);border-radius:14px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 28px #0f172a1a}.ev-settings-footer-meta{color:var(--text-muted);font-size:.85rem}.ev-settings-footer .btn{min-width:140px}.ev-empty{max-width:520px}.ev-empty .card{margin:0}.ev-roles{display:grid;grid-template-columns:minmax(200px,240px) 1fr;gap:1.1rem;align-items:start}.ev-roles-list{border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,#fff);overflow:hidden}.ev-roles-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;border-bottom:1px solid var(--border);font-size:.82rem;font-weight:700;color:var(--text-muted)}.ev-roles-add{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .55rem;font-size:.78rem}.ev-roles-list ul{list-style:none;margin:0;padding:.35rem;display:flex;flex-direction:column;gap:.2rem;max-height:420px;overflow-y:auto}.ev-roles-item{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;text-align:start;font:inherit;padding:.65rem .7rem;border-radius:9px;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;color:var(--text)}.ev-roles-item strong{font-size:.9rem;font-weight:650}.ev-roles-item span{font-size:.75rem;color:var(--text-muted)}.ev-roles-item:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.ev-roles-item.is-active{background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary)}.ev-roles-item.is-active span{color:color-mix(in srgb,var(--primary) 70%,var(--text-muted))}.ev-roles-empty{margin:0;padding:1.25rem .9rem;color:var(--text-muted);font-size:.88rem;text-align:center}.ev-roles-editor{display:flex;flex-direction:column;gap:.95rem;min-width:0}.ev-roles-quick{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.15rem}.ev-roles-quick .btn{padding:.35rem .65rem;font-size:.8rem}.ev-roles-perms{display:flex;flex-direction:column;gap:.85rem}.ev-roles-perm-group{border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem .9rem;background:#fff}.ev-roles-perm-group h3{margin:0 0 .65rem;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.ev-roles-perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem .75rem}.ev-roles-perm{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:550;color:var(--text);cursor:pointer;margin:0}.ev-roles-perm input{width:auto;margin:0}.ev-roles-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;padding-top:.35rem;border-top:1px solid var(--border)}.ev-roles-danger{display:inline-flex;align-items:center;gap:.35rem;margin-inline-end:auto;color:#b91c1c;border-color:#b91c1c47}.ev-roles-danger:hover{background:#b91c1c0f}.ev-role-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ev-role-modal-dialog{width:min(920px,100%);max-height:min(90vh,900px);display:flex;flex-direction:column;background:var(--card, #fff);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 64px #0f172a38;overflow:hidden}.ev-role-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.ev-role-modal-head h2{margin:0 0 .35rem;font-size:1.15rem}.ev-role-modal-body{padding:1rem 1.15rem;overflow:auto;display:grid;gap:.85rem}.ev-role-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.55rem;padding:.85rem 1.15rem;border-top:1px solid var(--border)}.ev-hours-block{margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}.ev-hours-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.85rem}.ev-hours-head h3{margin:0 0 .25rem;font-size:.98rem}.ev-hours-head p{margin:0;color:var(--text-muted);font-size:.86rem}.ev-hours-list{display:flex;flex-direction:column;gap:.55rem;max-height:320px;overflow-y:auto;padding-inline-end:.15rem}.ev-hours-row{display:grid;grid-template-columns:minmax(110px,1.1fr) 1fr 1fr;gap:.55rem;align-items:end;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 55%,#fff)}.ev-hours-date{font-weight:700;font-size:.88rem;padding-bottom:.45rem}.ev-hours-row label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:650;color:var(--text-muted)}.ev-hours-row input[type=time]{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.45rem .55rem;background:#fff}.ev-check-inline{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:550;color:var(--text)}.ev-checkout-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.ev-checkout-actions select{min-width:200px;font:inherit;border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;background:#fff;color:var(--text)}@media(max-width:720px){.ev-settings-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.ev-settings-nav-item{flex:0 0 auto}.ev-panel-body .form-row,.ev-team-field,.ev-roles,.ev-hours-row{grid-template-columns:1fr}.ev-settings-footer{bottom:.5rem}.ev-settings-footer .btn{width:100%}}.ev-reg-portal{display:flex;flex-direction:column;gap:.55rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--primary) 4%,#fff)}.ev-reg-portal-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ev-reg-portal-row strong{display:block;font-size:.95rem;color:var(--text)}.ev-reg-portal-row span:not(.ev-switch):not(.ev-switch-track){display:block;margin-top:.2rem;font-size:.82rem;color:var(--text-muted);line-height:1.4}.ev-reg-fields{display:flex;flex-direction:column;gap:1rem;padding-top:.25rem}.ev-reg-section-head h3{margin:0;font-size:1.05rem}.ev-reg-section-head .ev-hint{margin:.35rem 0 0}.ev-reg-age-settings{display:flex;flex-direction:column;gap:.8rem;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary) 5%,#fff)}.ev-reg-age-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ev-reg-age-head strong{display:block;color:var(--text);font-size:.96rem}.ev-reg-age-head span:not(.ev-switch):not(.ev-switch-track){display:block;margin-top:.22rem;color:var(--text-muted);font-size:.82rem;line-height:1.45}.ev-reg-adult-age{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text);font-size:.86rem;font-weight:650}.ev-reg-adult-age input{width:110px;font:inherit;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.48rem .6rem;background:#fff}.ev-reg-types{display:flex;flex-wrap:wrap;gap:.35rem;padding:.3rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,#fff)}.ev-reg-type{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.82rem;font-weight:650;padding:.45rem .7rem;border-radius:9px;cursor:pointer}.ev-reg-type:hover{color:var(--text);background:color-mix(in srgb,var(--primary) 7%,transparent)}.ev-reg-type.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,#fff)}.ev-reg-settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;padding:.4rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 65%,#fff)}.ev-reg-settings-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:9px;padding:.58rem .7rem;color:var(--text-muted);background:transparent;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.ev-reg-settings-tabs button:hover{color:var(--text);background:#fff}.ev-reg-settings-tabs button.is-active{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 22%,var(--border));background:#fff;box-shadow:0 2px 8px #0f172a0f}.ev-reg-child-fields{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--border)}.ev-reg-child-fields .ev-hint{margin:0;max-width:34rem}.ev-reg-subtitle{margin:.25rem 0 0;font-size:.98rem}.ev-reg-base-list{display:flex;flex-direction:column;gap:.45rem}.ev-reg-base-row{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;gap:.75rem 1rem;align-items:center;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:#fff}.ev-reg-base-row strong{font-size:.9rem}.ev-reg-base-row label{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-muted);white-space:nowrap}.ev-reg-base-row input{width:auto}.ev-reg-custom-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ev-reg-custom-card{padding:.9rem 1rem;border:1px solid var(--border);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:.75rem}.ev-reg-custom-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ev-reg-custom-actions label{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-muted)}.ev-reg-custom-actions input{width:auto}.ev-reg-save{display:flex;justify-content:flex-end;padding-top:.35rem}@media(max-width:720px){.ev-reg-settings-tabs{grid-template-columns:1fr 1fr}.ev-reg-base-row{grid-template-columns:1fr}}.ev-display-panel{display:flex;flex-direction:column;gap:1rem}.ev-display-link-box{display:flex;flex-direction:column;gap:.45rem;padding:.95rem 1rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,#fff)}.ev-display-link-box label{font-size:.86rem;font-weight:700;color:var(--text-muted)}.ev-display-link-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.ev-display-link-row input{flex:1 1 240px;min-width:0;font:inherit;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;background:#fff}.pcat-panel{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.pcat-title{margin:0;font-size:1.05rem}.pcat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.pcat-hint,.pcat-note{margin:.35rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.45}.pcat-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.pcat-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.pcat-table th,.pcat-table td{padding:.72rem .8rem;text-align:start;vertical-align:middle;border-bottom:1px solid var(--border)}.pcat-table th{color:var(--text-muted);background:color-mix(in srgb,var(--bg) 72%,#fff);font-size:.76rem;font-weight:750;white-space:nowrap}.pcat-table td{color:var(--text);font-size:.86rem}.pcat-table tbody tr:last-child td{border-bottom:0}.pcat-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 4%,#fff)}.pcat-code-cell{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.pcat-code-cell code{padding:.22rem .42rem;border-radius:6px;color:color-mix(in srgb,var(--primary) 80%,#111);background:color-mix(in srgb,var(--primary) 8%,#fff);font-size:.78rem}.pcat-badge,.pcat-status{display:inline-flex;align-items:center;width:fit-content;padding:.22rem .48rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.pcat-badge.is-builtin{color:#475569;background:#f1f5f9}.pcat-badge.is-ops{color:#5b21b6;background:#ede9fe}.pcat-badge.is-guest{color:#075985;background:#e0f2fe}.pcat-status.is-active{color:#166534;background:#dcfce7}.pcat-status.is-inactive{color:#64748b;background:#f1f5f9}.pcat-actions-head{text-align:end!important}.pcat-table td.is-inactive,.pcat-table tr.is-inactive td{color:var(--text-muted)}.pcat-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;min-width:190px}.pcat-action-btn{min-height:30px;padding:.32rem .55rem;font-size:.76rem}.pcat-action-danger{color:#b91c1c;border-color:#b91c1c40}.pcat-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 60%,#fff)}.pcat-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a8c}.pcat-modal-dialog{width:min(560px,100%);max-height:min(92vh,720px);overflow:auto;display:flex;flex-direction:column;gap:0;margin:0;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface, #fff);box-shadow:0 18px 50px #0f172a47}.pcat-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem .85rem;border-bottom:1px solid var(--border)}.pcat-modal-head h2{margin:0;font-size:1.05rem}.pcat-modal-head .pcat-note{margin-top:.4rem}.pcat-modal-body{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem}.pcat-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.55rem;padding:.85rem 1.1rem 1rem;border-top:1px solid var(--border)}.pcat-form h4{margin:0;font-size:.98rem}.pcat-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:720px){.pcat-table{min-width:680px}.pcat-form-grid{grid-template-columns:1fr}}.pcat-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:650}.pcat-form input[type=text],.pcat-form input:not([type]),.pcat-form input[type=email]{font:inherit;font-weight:400;padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border)}.pcat-check{flex-direction:row!important;align-items:center;gap:.45rem!important;font-weight:500!important}.pcat-form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.pcat-alert{margin:0;padding:.55rem .75rem;border-radius:9px;font-size:.9rem}.pcat-alert.ok{background:color-mix(in srgb,#16a34a 12%,#fff);color:#14532d}.pcat-alert.error{background:color-mix(in srgb,#dc2626 10%,#fff);color:#7f1d1d}body.checkin-lock{overflow:hidden}.checkin-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#000}.checkin-stage--full,.checkin-stage{position:relative;overflow:hidden;background:#000}.checkin-stage--full{width:100%;height:100%;min-height:100dvh;border-radius:0}.badge-cam--full{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.badge-cam--full .badge-cam-view{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:100%;border-radius:0;background:#000}.badge-cam--full .badge-cam-view video{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0}.badge-cam #qr-shaded-region,.badge-cam--full #qr-shaded-region{display:none!important;border:none!important}.badge-cam:not(.badge-cam--full){position:relative;width:100%;height:100%;min-height:220px;background:#000;overflow:hidden}.badge-cam--portrait:not(.badge-cam--full){min-height:320px}.badge-cam--landscape:not(.badge-cam--full){min-height:200px}.badge-cam:not(.badge-cam--full) .badge-cam-view{position:relative;width:100%;min-height:200px;margin:0 auto;background:#000;overflow:hidden}.badge-cam--portrait:not(.badge-cam--full) .badge-cam-view{aspect-ratio:3 / 4;max-height:min(58vh,480px)}.badge-cam--landscape:not(.badge-cam--full) .badge-cam-view{aspect-ratio:4 / 3;max-height:min(42vh,320px)}.badge-cam-orient-btn{position:absolute;top:.55rem;inset-inline-end:.55rem;z-index:6;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#0f172ab8;color:#fff;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.badge-cam-orient-btn:active{transform:scale(.97)}.badge-cam-status,.badge-cam-error-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;text-align:center;color:#fff;padding:1rem;max-width:90%}.badge-cam-status{background:#00000073;border-radius:12px}.badge-cam-error-box{display:grid;gap:.75rem;justify-items:center;background:#0f172ad1;border-radius:14px;padding:1.25rem}.badge-cam-error-box .error{color:#fecaca;margin:0}.checkin-topbar{position:absolute;top:0;inset-inline:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:max(.85rem,env(safe-area-inset-top)) 1rem .85rem;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent);pointer-events:none}.checkin-back{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#ffffff29;color:#fff;text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);flex-shrink:0}.checkin-back:active{transform:scale(.96)}.checkin-top-title{color:#fff;font-weight:700;font-size:1.05rem;text-shadow:0 1px 8px rgba(0,0,0,.45)}.checkin-frame-hint{position:absolute;left:50%;bottom:max(1.5rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:15;max-width:min(88vw,420px);text-align:center;pointer-events:none}.checkin-frame-hint span{display:inline-block;padding:.55rem .9rem;border-radius:999px;background:#00000080;color:#ffffffeb;font-size:.88rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.checkin-stage--flash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,rgba(34,197,94,.5),transparent 68%);animation:checkin-flash .65s ease-out;z-index:8}.checkin-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:checkin-overlay-in .35s cubic-bezier(.22,1,.36,1)}.checkin-overlay--success{background:linear-gradient(160deg,#064e3bc7,#00000073);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.checkin-overlay--error{background:linear-gradient(160deg,#7f1d1dc7,#00000073);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.checkin-overlay--loading{background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.checkin-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;color:#fff;max-width:92%;animation:checkin-pop .4s cubic-bezier(.22,1,.36,1)}.checkin-overlay-title{font-size:1.25rem;line-height:1.35;font-weight:700}.checkin-count-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.35rem}.checkin-count-pill{display:inline-flex;padding:.35rem .75rem;border-radius:999px;background:#4ade8033;border:1px solid rgba(74,222,128,.45);color:#ecfdf5;font-size:.9rem;font-weight:700}.checkin-count-pill--soft{background:#ffffff1f;border-color:#ffffff38;font-weight:600}.checkin-check-circle{stroke:#4ade80;stroke-width:2.5;stroke-dasharray:166;stroke-dashoffset:166;animation:checkin-circle .55s ease-out forwards}.checkin-check-mark{stroke:#4ade80;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:checkin-mark .35s .35s ease-out forwards}.checkin-error-icon{width:56px;height:56px;border-radius:50%;border:3px solid #fca5a5;color:#fecaca;display:inline-flex;align-items:center;justify-content:center;font-size:1.85rem;font-weight:700;animation:checkin-pop .35s ease-out}.checkin-spinner{width:46px;height:46px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;animation:checkin-spin .75s linear infinite}@keyframes checkin-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes checkin-pop{0%{opacity:0;transform:scale(.82) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes checkin-flash{0%{opacity:1}to{opacity:0}}@keyframes checkin-circle{to{stroke-dashoffset:0}}@keyframes checkin-mark{to{stroke-dashoffset:0}}@keyframes checkin-spin{to{transform:rotate(360deg)}}.badge-search-panel{margin-bottom:.85rem}.badge-search-row{display:flex;align-items:flex-start;gap:.5rem}.badge-search-wrap{position:relative;flex:1;min-width:0}.badge-search-suggest{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.25rem;list-style:none;max-height:min(320px,50vh);overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 10px 28px #0f172a1f}.badge-search-suggest-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.55rem .65rem;border:none;border-radius:8px;background:transparent;color:var(--text);font:inherit;text-align:inherit;cursor:pointer}.badge-search-suggest-item:hover,.badge-search-suggest-item.is-active{background:#2563eb14}.badge-search-suggest-name{font-size:.9rem;font-weight:600;line-height:1.3}.badge-search-suggest-meta{font-size:.78rem;color:var(--text-muted);line-height:1.3}.badge-search-suggest-empty,.badge-search-suggest-more{padding:.55rem .65rem;font-size:.82rem;color:var(--text-muted)}.badge-search{display:flex;align-items:center;gap:.4rem;padding:.4rem .65rem;margin-bottom:0;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text-muted)}.badge-search input{flex:1;border:none;background:transparent;color:var(--text);font:inherit;font-size:.9rem;outline:none;min-width:0}.badge-search-row>.btn{flex-shrink:0;padding:.4rem .7rem;font-size:.82rem;white-space:nowrap}.badge-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;align-items:stretch}.badge-workspace-card{min-height:420px}.badge-workspace-camera{padding:.85rem}.badge-preview-body{display:grid;grid-template-columns:auto minmax(160px,1fr);gap:1rem;align-items:start}.badge-card-stage{margin:0;padding:.5rem;border-radius:16px;background:radial-gradient(120% 80% at 100% 0%,rgba(37,99,235,.08),transparent 55%),var(--bg);border:1px solid var(--border);display:flex;align-items:flex-start;justify-content:center;align-self:start}.badge-card-img{width:auto;height:auto;max-width:min(100%,260px);max-height:min(70vh,580px);object-fit:contain;object-position:top center;border-radius:10px;box-shadow:0 10px 28px #0f172a24;display:block}.badge-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.badge-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;margin-bottom:1rem}.badge-page-head-main{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;min-width:0}.badge-page-head .page-title{margin:0}.badge-auto-print{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.15rem 0 .25rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:10px;background:var(--bg, #f8fafc);cursor:pointer;-webkit-user-select:none;user-select:none}.badge-auto-print--bar{margin:0;width:min(100%,280px);background:var(--surface, #fff);box-shadow:0 1px 2px #0f172a0a}.badge-print-controls{display:flex;flex-direction:column;gap:.35rem;width:min(100%,320px)}.badge-agent-status{margin:0;font-size:.75rem;line-height:1.35;color:var(--text-muted)}.badge-agent-status.is-online{color:#15803d}.badge-agent-status.is-offline{color:#b91c1c}.badge-auto-print-label{font-size:.82rem;font-weight:650;color:var(--text)}.badge-switch{position:relative;width:42px;height:24px;flex-shrink:0}.badge-switch input{position:absolute;opacity:0;width:0;height:0}.badge-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#cbd5e1;transition:background .15s}.badge-switch-track:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a33;transition:transform .15s}.badge-switch input:checked+.badge-switch-track{background:var(--primary, #1a2744)}.badge-switch input:checked+.badge-switch-track:after{transform:translate(18px)}[dir=rtl] .badge-switch input:checked+.badge-switch-track:after{transform:translate(-18px)}.badge-action-btn{flex:0 0 auto;padding:.35rem .7rem;font-size:.8rem;font-weight:600;border-radius:8px;min-height:32px;gap:.35rem;line-height:1.2}.badge-action-icon{width:34px;height:34px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.badge-action-btn svg{flex-shrink:0}.badge-preview-side{display:flex;flex-direction:column;gap:1rem;padding-top:.15rem;min-width:0}.badge-camera-box{position:relative;margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--border);min-height:220px;max-height:320px;background:#0f172a;display:flex;flex-direction:column}.badge-camera-box .badge-cam{flex:1;height:100%}.badge-empty--compact{padding:2rem 1rem;min-height:360px;display:flex;align-items:center;justify-content:center}.badge-search-hint{font-size:.78rem;color:var(--text-muted);margin:0 0 .65rem;line-height:1.4}.badge-lookup-error{margin:0 0 .5rem;font-size:.85rem}.badge-hid-hint{margin:.35rem 0 0;font-size:.8rem;color:var(--text-muted);line-height:1.4}.badge-empty{text-align:center;padding:2.5rem 1.5rem}.badge-empty h3{margin-bottom:.5rem}.badge-empty p{color:var(--text-muted);max-width:480px;margin:0 auto}.badge-preview-header{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.badge-preview-header h2{margin:0;font-size:1.15rem;line-height:1.3}.badge-print-btn{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}.badge-preview-meta{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.4}.badge-preview-code{margin:.35rem 0 0;font-family:ui-monospace,monospace;font-size:.8rem;color:var(--text-muted);word-break:break-all}.badge-preview-error{margin:0;font-size:.85rem}.badge-status{display:inline-block;padding:.2rem .55rem;border-radius:99px;font-size:.75rem;font-weight:600}.badge-status-active{background:#22c55e1f;color:#16a34a}.badge-status-revoked{background:#ef44441f;color:#dc2626}.badge-status-expired{background:#64748b1f;color:#64748b}.badge-preview-codes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0}.badge-code-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1rem;text-align:center}.badge-code-card h4{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.badge-qr-img{width:180px;height:180px;object-fit:contain;display:block;margin:0 auto;background:#fff;padding:.5rem;border-radius:8px}.badge-barcode-img{max-width:100%;height:80px;object-fit:contain;display:block;margin:2.5rem auto 0;background:#fff;padding:.5rem;border-radius:8px}.badge-code-placeholder{min-height:180px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.badge-token{font-family:ui-monospace,monospace;font-size:.78rem;color:var(--text-muted);word-break:break-all;text-align:center;margin-bottom:1rem}@media(max-width:900px){.badge-preview-body,.badge-preview-codes{grid-template-columns:1fr}.badge-card-img{max-width:min(100%,240px);max-height:min(58vh,520px)}.badge-card-stage{justify-self:start}}.cp-print-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:1rem}.cp-print-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a8c;cursor:pointer}.cp-print-dialog{position:relative;z-index:1;width:min(520px,100%);max-height:min(94vh,900px);overflow:auto;background:var(--surface, #fff);border-radius:14px;border:1px solid var(--border);box-shadow:0 18px 50px #0f172a47;display:flex;flex-direction:column}.cp-print-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem .75rem;border-bottom:1px solid var(--border)}.cp-print-head h2{margin:0;font-size:1.05rem}.cp-print-head p{margin:.35rem 0 0;color:var(--text-muted);font-size:.85rem}.cp-print-body{padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;background:linear-gradient(45deg,#e8ecf1 25%,transparent 25%) 0 0 / 16px 16px,linear-gradient(-45deg,#e8ecf1 25%,transparent 25%) 0 8px / 16px 16px,#f7f8fa}.cp-print-card{width:auto;max-width:100%;max-height:min(58vh,520px);height:auto;display:block;border-radius:8px;box-shadow:0 8px 28px #0f172a29;background:#fff}.cp-print-status{margin:2rem 0;color:var(--text-muted)}.cp-print-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;padding:.9rem 1.1rem 1.1rem;border-top:1px solid var(--border)}.cp-print-actions .btn{display:inline-flex;align-items:center;gap:.35rem}@media(max-width:640px){.cp-print-actions{flex-direction:column-reverse}.cp-print-actions .btn{width:100%}}.cp-design-pick{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:28rem;text-align:start}.cp-design-pick-warn{margin:0;padding:.75rem .9rem;border-radius:10px;border:1px solid color-mix(in srgb,#b45309 35%,var(--border));background:color-mix(in srgb,#f59e0b 12%,#fff);color:#7c2d12;line-height:1.5;font-size:.92rem}.cp-design-pick-label{display:flex;flex-direction:column;gap:.4rem;font-weight:650;font-size:.9rem}.cp-design-pick-label select{font:inherit;padding:.55rem .7rem;border-radius:9px;border:1px solid var(--border);background:#fff}.bd-page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.bd-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.bd-head .page-title,.bd-editor-head .page-title{margin:.2rem 0 .35rem}.bd-sub{margin:0;color:var(--text-muted);font-size:.92rem}.bd-alert{margin:0;padding:.7rem .9rem;border-radius:10px;font-size:.9rem}.bd-alert.success{background:#16a34a1a;color:#15803d;border:1px solid rgba(22,163,74,.22)}.bd-alert.error{background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.bd-head-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.bd-head-actions .btn{display:inline-flex;align-items:center;gap:.35rem}.bd-create-dialog{width:min(560px,100%)}.bd-create-modal-body{padding:1rem 1.1rem 1.15rem}.bd-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;margin-bottom:.9rem}.bd-create-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.bd-create-modal-actions .btn{display:inline-flex;align-items:center;gap:.35rem}.bd-create-grid label,.bd-sidebar label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:650;color:var(--text-muted)}.bd-create-grid input,.bd-create-grid select,.bd-sidebar input,.bd-sidebar select{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;background:#fff}.bd-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;align-items:stretch}.bd-item{margin:0;padding:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.bd-item.is-default{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.bd-item-preview{height:220px;min-height:220px;max-height:220px;box-sizing:border-box;padding:16px 12px 12px;background:#0f172a;display:flex;align-items:center;justify-content:center;color:#f8fafcb3;font-size:.8rem;overflow:hidden}.bd-item-preview img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:#fff;border-radius:6px}.bd-item-body{padding:.75rem .75rem .7rem;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.bd-item-body h3{margin:0 0 .3rem;font-size:.98rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.bd-item-body p{margin:0 0 .65rem;color:var(--text-muted);font-size:.8rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em;flex:1}.bd-item-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.28rem;margin-top:auto;width:100%;box-sizing:border-box}.bd-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;flex:0 0 1.75rem;box-sizing:border-box;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 70%,#fff);color:var(--text-muted);cursor:pointer;text-decoration:none}.bd-icon-btn:hover:not(:disabled):not(.is-primary){color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 8%,#fff)}.bd-icon-btn.is-primary{color:#fff;background:var(--primary);border-color:var(--primary)}.bd-icon-btn.is-primary:hover,.bd-icon-btn.is-primary:hover:not(:disabled){color:#fff;background:color-mix(in srgb,var(--primary) 78%,#000);border-color:color-mix(in srgb,var(--primary) 78%,#000);filter:none}.bd-icon-btn.is-danger:hover:not(:disabled){color:#b91c1c;border-color:#b91c1c59;background:#dc262614}.bd-icon-btn:disabled{opacity:.55;cursor:not-allowed}.bd-danger{color:#b91c1c!important;border-color:#b91c1c4d!important}.bd-empty{text-align:center;color:var(--text-muted);padding:1.5rem}.bd-editor{display:flex;flex-direction:column;gap:.9rem;max-width:min(1600px,100%);margin:0 auto;width:100%}.bd-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.bd-back{color:var(--text-muted);text-decoration:none;font-size:.86rem;font-weight:600}.bd-editor-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start}.bd-editor.is-certificate .bd-editor-layout,.bd-editor.is-wide .bd-editor-layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px)}.bd-editor.is-certificate .bd-canvas-wrap,.bd-editor.is-wide .bd-canvas-wrap{grid-column:1;grid-row:1}.bd-editor.is-certificate .bd-sidebar,.bd-editor.is-wide .bd-sidebar{grid-column:2;grid-row:1}.bd-sidebar{display:flex;flex-direction:column;gap:.85rem;position:sticky;top:.5rem;max-height:calc(100dvh - 48px - 2.5rem);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding-inline-end:.15rem}.bd-sidebar section{border:1px solid var(--border);border-radius:12px;padding:.85rem .95rem;background:#fff;display:flex;flex-direction:column;gap:.65rem;flex-shrink:0}.bd-sidebar h3{margin:0;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.bd-hint{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.4}.bd-hint.center{text-align:center;margin-top:.65rem}.bd-size-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.bd-field-types{display:flex;flex-wrap:wrap;gap:.35rem}.bd-field-types button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 60%,#fff);border-radius:999px;padding:.35rem .65rem;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer;color:var(--text)}.bd-field-types button:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.bd-label-presets{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.35rem 0 .75rem}.bd-label-presets .btn{padding:.25rem .55rem;font-size:.78rem}.bd-check{flex-direction:row!important;align-items:center;gap:.45rem!important}.bd-canvas-wrap{border:1px solid var(--border);border-radius:14px;padding:1rem;background:color-mix(in srgb,var(--bg) 55%,#fff);min-width:0;display:flex;flex-direction:column;gap:.65rem}.bd-stage-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.82rem;font-weight:650;color:var(--text-muted)}.bd-stage{position:relative;width:min(100%,560px);margin:0 auto;background:#fff;border:1px dashed color-mix(in srgb,var(--border) 80%,#94a3b8);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #0f172a14;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box}.bd-editor.is-certificate .bd-stage,.bd-editor.is-wide .bd-stage{width:auto;max-width:100%;height:auto;margin-inline:auto}.bd-stage-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.bd-stage-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem;background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 10px,#f1f5f9 10px,#f1f5f9 20px)}.bd-field{position:absolute;border:1px solid rgba(15,23,42,.25);background:#ffffff73;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:grab;padding:.15rem;box-sizing:border-box}.bd-field.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent);z-index:2}.bd-field-label{overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;width:100%;pointer-events:none;line-height:1.25}.bd-editor.is-certificate .bd-field-label{white-space:pre-wrap;overflow:hidden;text-overflow:clip}.bd-field-handle{position:absolute;inset-inline-end:-5px;bottom:-5px;width:12px;height:12px;border-radius:3px;background:var(--primary);cursor:nwse-resize}.bd-editor-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.bd-preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1rem}.bd-preview-dialog{width:min(640px,100%);max-height:min(94vh,980px);overflow:auto;background:var(--surface, #fff);border-radius:14px;border:1px solid var(--border);box-shadow:0 18px 50px #0f172a47;display:flex;flex-direction:column}.bd-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem .75rem;border-bottom:1px solid var(--border)}.bd-preview-head h2{margin:0;font-size:1.05rem}.bd-preview-head p{margin:.35rem 0 0;color:var(--text-muted);font-size:.85rem}.bd-preview-body{padding:1rem;display:flex;justify-content:center;background:linear-gradient(45deg,#e8ecf1 25%,transparent 25%) 0 0 / 16px 16px,linear-gradient(-45deg,#e8ecf1 25%,transparent 25%) 0 8px / 16px 16px,#f7f8fa}.bd-preview-body img{width:auto;height:auto;max-width:100%;max-height:min(78vh,860px);display:block;border-radius:4px;box-shadow:0 8px 28px #0f172a2e;background:#fff;image-rendering:auto;-ms-interpolation-mode:bicubic}@media(max-width:900px){.bd-editor-layout,.bd-editor.is-certificate .bd-editor-layout,.bd-editor.is-wide .bd-editor-layout{grid-template-columns:1fr}.bd-editor.is-certificate .bd-sidebar,.bd-editor.is-wide .bd-sidebar,.bd-editor.is-certificate .bd-canvas-wrap,.bd-editor.is-wide .bd-canvas-wrap{grid-column:auto;grid-row:auto}.bd-sidebar{position:static;max-height:none;overflow:visible}.bd-stage,.bd-editor.is-certificate .bd-stage,.bd-editor.is-wide .bd-stage{max-width:100%}}.bd-create-grid{grid-template-columns:1fr}.bd-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.bd-item-preview{height:190px;min-height:190px;max-height:190px;padding:14px 10px 10px}} .scanner-page{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:2rem}.scanner-head .page-title{margin:.15rem 0 .35rem}.scanner-kicker{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.scanner-sub{margin:0;color:var(--text-muted);font-size:.92rem}.scanner-empty{margin:0;padding:1.25rem;text-align:center;color:var(--text-muted)}.scanner-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.scanner-stat{border:1px solid var(--border);border-radius:14px;padding:1rem 1.05rem;background:color-mix(in srgb,#16a34a 8%,#fff);display:flex;flex-direction:column;gap:.25rem}.scanner-stat.is-out{background:color-mix(in srgb,#b45309 8%,#fff)}.scanner-stat-label{font-size:.8rem;font-weight:650;color:var(--text-muted)}.scanner-stat strong{font-size:2rem;line-height:1.1;font-weight:750;color:#15803d}.scanner-stat.is-out strong{color:#b45309}.scanner-stat-meta{font-size:.78rem;color:var(--text-muted)}.scanner-inside{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:.92rem;font-weight:600;color:var(--text-muted)}.scanner-inside strong{font-size:1.35rem;color:var(--text)}.scanner-auto-hint{margin:0;font-size:.88rem;color:var(--text-muted);line-height:1.45}.scanner-alert.error{background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.scanner-mode{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.3rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,#fff)}.scanner-mode-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:inherit;font-weight:650;font-size:.92rem;padding:.7rem .5rem;border-radius:9px;cursor:pointer;color:var(--text-muted)}.scanner-mode-btn.is-active{background:color-mix(in srgb,#16a34a 14%,#fff);color:#15803d}.scanner-mode-btn.is-out.is-active{background:color-mix(in srgb,#b45309 14%,#fff);color:#b45309}.scanner-camera-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;min-height:180px;padding:1.5rem 1rem;border-radius:18px;background:linear-gradient(160deg,#0f172a,#1e293b 55%,#0f766e 140%);color:#f8fafc;box-shadow:0 14px 36px #0f172a38;transition:transform .15s ease,box-shadow .15s ease}.scanner-camera-cta:hover{transform:translateY(-1px);box-shadow:0 18px 40px #0f172a47}.scanner-camera-cta span{font-size:1.15rem;font-weight:700}.scanner-camera-cta small{font-size:.85rem;opacity:.78;font-weight:500}.scanner-manual{margin:0;padding:1rem 1.1rem}.scanner-manual label{display:block;font-size:.82rem;font-weight:650;color:var(--text-muted);margin-bottom:.45rem}.scanner-manual-row{display:flex;gap:.55rem;flex-wrap:wrap}.scanner-manual-row input{flex:1;min-width:160px;font:inherit;border:1px solid var(--border);border-radius:9px;padding:.6rem .75rem;background:var(--bg, #fff);color:var(--text)}.scanner-cam-top{display:flex;align-items:center;gap:.55rem}.scanner-cam-modes{margin-inline-start:auto;display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;background:#0f172a73}.scanner-cam-modes button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#f8fafcbf;font:inherit;font-size:.75rem;font-weight:650;padding:.35rem .65rem;border-radius:999px;cursor:pointer}.scanner-cam-modes button.is-active{background:#fff;color:#0f172a}@media(max-width:520px){.scanner-stats{grid-template-columns:1fr}.scanner-cam-top{flex-wrap:wrap}.scanner-cam-modes{width:100%;justify-content:center;margin-inline-start:0}}.modules-page{display:flex;flex-direction:column;gap:1rem;max-width:1100px}.modules-page .page-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:0}.modules-page .page-header-row .page-title{margin:0}.modules-page .page-subtitle{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem;max-width:42rem;line-height:1.45}.modules-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.2rem;border-bottom:1px solid var(--border)}.modules-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.9rem;font-weight:600;padding:.55rem .9rem;border-radius:8px 8px 0 0;cursor:pointer}.modules-tab:hover{color:var(--text);background:color-mix(in srgb,var(--primary) 6%,transparent)}.modules-tab.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);box-shadow:inset 0 -2px 0 var(--primary)}.mod-table-card{margin:0;padding:0;overflow:hidden}.mod-table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 55%,transparent)}.mod-table-toolbar label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--text-muted);font-weight:600}.mod-table-toolbar input,.mod-table-toolbar select{min-width:160px}.mod-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.mod-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}.mod-table thead th{text-align:start;padding:.8rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);background:color-mix(in srgb,var(--bg) 70%,#fff);border-bottom:1px solid var(--border);white-space:nowrap}.mod-table tbody td{padding:.85rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);vertical-align:middle;color:var(--text)}.mod-table tbody tr:last-child td{border-bottom:none}.mod-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 5%,transparent)}.mod-table .mod-col-actions{width:6.5rem;min-width:6.5rem;max-width:6.5rem;white-space:nowrap;text-align:end;vertical-align:middle}.mod-table .mod-col-actions--icons{width:8rem;min-width:8rem;max-width:8.5rem}.mod-name-cell{display:flex;flex-direction:column;gap:.15rem;min-width:10rem;max-width:22rem}.mod-name-cell strong{font-weight:650;line-height:1.3}.mod-name-cell span{font-size:.8rem;color:var(--text-muted)}.mod-empty{padding:2rem 1.25rem;text-align:center;color:var(--text-muted)}.mod-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.mod-actions--icons{flex-wrap:nowrap!important;flex-direction:row!important;align-items:center;gap:.4rem;width:max-content;max-width:100%;margin-inline-start:auto}.mod-actions--icons .btn+.btn{margin-inline-start:0}.mod-actions .btn{padding:.35rem .65rem;font-size:.8rem}.mod-actions .mod-icon-btn{position:relative;box-sizing:border-box;width:2.25rem;height:2.25rem;min-width:2.25rem;max-width:2.25rem;flex:0 0 2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:0}.mod-actions .mod-icon-btn .mod-btn-face{display:inline-flex;align-items:center;justify-content:center}.mod-actions .mod-icon-btn.is-loading .mod-btn-face{visibility:hidden}.mod-actions .mod-icon-btn .mod-btn-spinner{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.mod-actions .btn.is-loading{opacity:.92;cursor:wait}.mod-btn-spinner{width:.85rem;height:.85rem;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:mod-spin .7s linear infinite;flex-shrink:0}@keyframes mod-spin{to{transform:rotate(360deg)}}.mod-download-status{margin:0 0 .85rem;padding:.7rem .95rem;border-radius:10px;border:1px solid color-mix(in srgb,#c58a3a 35%,var(--border));background:color-mix(in srgb,#c58a3a 10%,#fff);color:var(--text);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.55rem;min-height:2.6rem;box-sizing:border-box}.mod-download-status.is-idle{visibility:hidden;border-color:transparent;background:transparent;pointer-events:none}.mod-download-modal{width:min(560px,100%)}.mod-progress-wrap{width:100%;height:10px;background:color-mix(in srgb,var(--border) 70%,transparent);border:1px solid var(--border);border-radius:999px;overflow:hidden}.mod-progress-bar{height:100%;width:0%;background:var(--primary);border-radius:999px;transition:width .14s linear}.mod-download-status .mod-btn-spinner{width:1rem;height:1rem;border-width:2px}.mod-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:650;white-space:nowrap;background:color-mix(in srgb,var(--border) 55%,transparent);color:var(--text)}.mod-chip.is-active,.mod-chip.kind-forum{background:color-mix(in srgb,#2563eb 16%,transparent);color:#1d4ed8}.mod-chip.kind-workshop{background:color-mix(in srgb,#059669 16%,transparent);color:#047857}.mod-chip.kind-meeting{background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309}.mod-chip.kind-competition{background:color-mix(in srgb,#db2777 16%,transparent);color:#be185d}.mod-chip.status-pending{background:color-mix(in srgb,#ca8a04 18%,transparent);color:#a16207}.mod-chip.status-accepted,.mod-chip.status-confirmed,.mod-chip.status-completed{background:color-mix(in srgb,#16a34a 16%,transparent);color:#15803d}.mod-chip.status-rejected,.mod-chip.status-cancelled{background:color-mix(in srgb,#dc2626 14%,transparent);color:#b91c1c}.mod-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.mod-modal{width:min(640px,100%);background:var(--card, #fff);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px #0f172a2e;padding:1.25rem 1.35rem 1.4rem;margin-top:1.5rem}.mod-modal h2{margin:0 0 1rem;font-size:1.15rem}.mod-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}.mod-form-grid .full{grid-column:1 / -1}.mod-form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--text-muted)}.mod-form-grid input,.mod-form-grid select,.mod-form-grid textarea{font:inherit;color:var(--text);background:var(--bg, #fff);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem}.mod-form-grid textarea{min-height:88px;resize:vertical}.mod-form-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}.mod-check{flex-direction:row!important;align-items:center;gap:.55rem!important;margin-top:1.55rem}.mod-check input{width:auto}.mod-error{color:#b91c1c;font-size:.88rem;margin:.5rem 0 0}.mod-msg{color:#15803d;font-size:.88rem;margin:0}.agenda-day{display:flex;flex-direction:column;gap:.65rem}.agenda-day-title{margin:.4rem 0 .1rem;font-size:.95rem;font-weight:700;color:var(--text)}.agenda-item{display:grid;grid-template-columns:7.5rem 1fr auto;gap:.85rem 1rem;align-items:start;padding:.95rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card, #fff) 92%,var(--bg));text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.agenda-item:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 6px 18px #0f172a0f}.agenda-time{font-variant-numeric:tabular-nums;font-weight:650;font-size:.88rem;color:var(--text);line-height:1.35}.agenda-time span{display:block;color:var(--text-muted);font-weight:500;font-size:.78rem}.agenda-body strong{display:block;font-size:.98rem;margin-bottom:.2rem}.agenda-meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;font-size:.8rem;color:var(--text-muted)}.agenda-filters{display:flex;flex-wrap:wrap;gap:.45rem}.agenda-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:transparent;color:var(--text-muted);font:inherit;font-size:.8rem;font-weight:650;padding:.4rem .75rem;border-radius:999px;cursor:pointer}.agenda-filter.is-on{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}@media(max-width:720px){.mod-form-grid,.agenda-item{grid-template-columns:1fr}}.fmap-root{display:flex;flex-direction:column;gap:.5rem;min-height:480px}.fmap-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.fmap-scale{font-size:.85rem;color:var(--text-muted);min-width:3.5rem}.fmap-hint{font-size:.8rem;color:var(--text-muted)}.fmap-viewport{position:relative;flex:1;min-height:520px;height:min(78vh,860px);overflow:hidden;border:1px solid var(--border, #dbe3ea);border-radius:10px;background:#e8eef3;touch-action:none;cursor:grab}.fmap-viewport.is-edit{cursor:crosshair}.fmap-viewport:active{cursor:grabbing}.fmap-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.fmap-svg-vector{display:block;-webkit-user-select:none;user-select:none;background:transparent}.fmap-floor{fill:#f7fafc}.fmap-wall{fill:none;stroke:#1e293b;stroke-width:.45;stroke-linejoin:round}.fmap-zone rect{stroke-width:.12}.fmap-zone-foyer rect{fill:#eef2f7;stroke:#94a3b8;stroke-dasharray:.6 .35}.fmap-zone-exhibition rect{fill:#fff;stroke:#64748b}.fmap-zone-sector rect{fill:#ecfdf5;stroke:#059669}.fmap-zone-guide rect{fill:#fff7ed;stroke:#ea580c;stroke-dasharray:.5 .35}.fmap-zone-label{fill:#475569;font-size:1.6px;font-weight:600;pointer-events:none;font-family:Segoe UI,Tahoma,sans-serif}.fmap-room rect{fill:#e2e8f0;stroke:#475569;stroke-width:.15}.fmap-room-label{fill:#334155;font-size:1.1px;font-weight:600;pointer-events:none}.fmap-facility-wc rect{fill:#dbeafe;stroke:#2563eb;stroke-width:.15}.fmap-facility-label{fill:#1d4ed8;font-size:1.3px;font-weight:700;pointer-events:none}.fmap-entrance-exterior{fill:#fef9c3;stroke:#ca8a04;stroke-width:.12}.fmap-entrance-gap{stroke:#fefce8;stroke-width:.45;stroke-linecap:butt}.fmap-entrance-swing{stroke:#a16207;stroke-width:.1;fill:none}.fmap-entrance-arrow{fill:#b45309}.fmap-entrance-label{fill:#92400e;font-size:1.05px;font-weight:700;pointer-events:none}.fmap-entrance.is-focus .fmap-entrance-exterior{stroke:#1d4ed8;stroke-width:.28}.fmap-aisle{stroke:#94a3b8;stroke-width:.18;stroke-dasharray:.7 .45;opacity:.85}.fmap-pillar line{stroke:#334155;stroke-width:.16}.fmap-pillar circle{fill:#334155}.fmap-dim-label{fill:#64748b;font-size:1.2px;font-weight:600;pointer-events:none}.fmap-grid-line{stroke:#38bdf838;stroke-width:.035;pointer-events:none}.fmap-grid-major{stroke:#0e749059;stroke-width:.06;pointer-events:none}.fmap-booth{cursor:pointer}.fmap-booth.is-selected rect,.fmap-booth.is-hit rect{filter:drop-shadow(0 0 .4px rgba(15,23,42,.35))}.fmap-booth-label{fill:#0f172a;font-weight:700;pointer-events:none;font-family:ui-sans-serif,system-ui,sans-serif;paint-order:stroke;stroke:#fffc;stroke-width:.12px}.fmap-draft{fill:#2563eb38;stroke:#1d4ed8;stroke-width:.18}.fmap-draft-cell{fill:none;stroke:#1d4ed88c;stroke-width:.06;pointer-events:none}.fmap-draft-size{fill:#1e3a8a;font-size:1.1px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#ffffffd9;stroke-width:.15px}.fmap-legend{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.85rem;color:var(--text-muted)}.fmap-legend span{display:inline-flex;align-items:center;gap:.35rem}.fmap-swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.15)}.fmap-swatch.available{background:#22c55e8c}.fmap-swatch.reserved{background:#ef44448c}.fmap-swatch.assigned{background:#2563eb8c}.fmap-side{display:grid;gap:.75rem}.fmap-detail{padding:1rem}.fmap-detail h3{margin:0 0 .5rem}.booths-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:1rem;align-items:start}.booths-map-page{display:flex;flex-direction:column;height:100vh;min-height:100%;background:#e8eef3}.booths-map-toolbar{display:flex;flex-wrap:nowrap;align-items:end;gap:.65rem;padding:.55rem .85rem;background:#fff;border-bottom:1px solid var(--border, #e5e7eb);flex-shrink:0;overflow-x:auto}.booths-map-title{white-space:nowrap;margin-inline-end:.25rem;padding-bottom:.35rem}.booths-inline-field{display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--text-muted)}.booths-inline-field input,.booths-inline-field select{min-width:130px;max-width:200px}.booths-grid-toggle{margin:0;white-space:nowrap;padding-bottom:.35rem}.booths-places-btn{margin-inline-start:auto;white-space:nowrap;flex-shrink:0}.booths-map-body{position:relative;flex:1;min-height:0;display:flex}.booths-map-full{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:.5rem .75rem .75rem}.booths-map-full .fmap-root{flex:1;min-height:0}.booths-map-full .fmap-viewport{flex:1;min-height:0;height:auto}.booths-map-legend{margin-bottom:.4rem;align-items:center}.booths-map-hint{color:var(--text-muted);font-size:.8rem}.booths-toast{margin:.5rem 1rem 0}.booths-places-drawer{width:0;overflow:hidden;background:#fff;border-inline-start:1px solid var(--border, #e5e7eb);display:flex;flex-direction:column;transition:width .2s ease;flex-shrink:0}.booths-places-drawer.is-open{width:min(340px,92vw)}.booths-places-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;border-bottom:1px solid var(--border, #e5e7eb)}.booths-places-head h3{margin:0;font-size:1rem}.booths-places-search{margin:.65rem .85rem .35rem;width:calc(100% - 1.7rem)}.booths-places-list{flex:1;overflow:auto;padding:.35rem .5rem .75rem}.booths-places-group-title{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:.55rem .35rem .25rem}.booths-place-row{display:flex;align-items:center;gap:.25rem;border-radius:8px}.booths-place-row.is-active{background:#dbeafe;outline:1px solid #93c5fd}.booths-place-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;flex:1;text-align:start;border:0;background:transparent;padding:.45rem .5rem;border-radius:8px;cursor:pointer}.booths-place-item:hover{background:#f1f5f9}.booths-place-row.is-active .booths-place-item:hover{background:transparent}.booths-place-delete{flex-shrink:0;padding:.35rem .5rem;color:#b91c1c!important;font-size:.8rem}.booths-fixed-note{color:#b45309!important;font-size:.8rem!important}.booths-place-item strong{font-size:.9rem}.booths-place-item small{color:var(--text-muted);font-size:.75rem}.booths-place-info{border-top:1px solid var(--border, #e5e7eb);padding:.75rem .85rem;background:#f8fafc}.booths-place-info h4{margin:0 0 .35rem}.booths-place-info p{margin:.2rem 0;font-size:.85rem;color:var(--text-muted)}.fmap-zone.is-focus rect,.fmap-room.is-focus rect,.fmap-facility.is-focus rect,.fmap-entrance.is-focus .fmap-entrance-exterior{stroke:#f59e0b!important;stroke-width:.35!important;filter:drop-shadow(0 0 .6px rgba(245,158,11,.8))}.fmap-aisle.is-focus{stroke:#f59e0b!important;stroke-width:.35!important}.fmap-pillar.is-focus line,.fmap-pillar.is-focus circle{stroke:#f59e0b;fill:#f59e0b}.fmap-pillar-ring{fill:none;stroke:#f59e0b;stroke-width:.2;opacity:.85}.fmap-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem}.fmap-modal{width:min(420px,100%);max-height:min(90vh,640px);overflow:auto;padding:1rem 1.1rem;display:grid;gap:.7rem;box-shadow:0 18px 50px #0f172a40}.fmap-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.fmap-modal-head h3{margin:0}.fmap-modal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.65rem .75rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.fmap-modal-meta small{display:block;color:var(--text-muted);font-size:.75rem}.fmap-modal-meta strong{font-size:.95rem}.fmap-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}@media(max-width:960px){.booths-map-toolbar{flex-wrap:wrap;align-items:center}.booths-places-btn{margin-inline-start:0}.booths-places-drawer.is-open{position:absolute;inset-inline-end:0;top:0;bottom:0;z-index:40;box-shadow:-8px 0 24px #0f172a1f}.fmap-modal-meta{grid-template-columns:1fr}}.color-fields-row{align-items:start}.color-field-row{display:flex;align-items:center;gap:.75rem}.color-swatch-trigger{position:relative;width:48px;height:48px;flex-shrink:0;cursor:pointer;margin:0}.color-swatch{display:block;width:48px;height:48px;border-radius:12px;border:2px solid var(--border);box-shadow:inset 0 0 0 1px #fff3}.color-native-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;padding:0;border:none}.color-hex-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;max-width:140px}.color-presets{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.color-preset{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #0f172a1f;transition:transform .12s,border-color .12s}.color-preset:hover{transform:scale(1.08)}.color-preset.active{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb40}.invite-preview-block{margin:1rem 0 1.25rem}.invite-preview-label{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem;font-weight:500}.invite-color-preview{border-radius:14px;padding:1.25rem;margin-bottom:0;border:1px solid var(--border);display:flex;justify-content:center}.invite-preview-field{width:100%;text-align:start;margin-top:.35rem}.invite-preview-field small{display:block;font-size:.75rem;margin-bottom:.25rem}.invite-public-form input,.invite-public-form select,.invite-public-form textarea{background:var(--invite-field-bg, transparent)!important;border:1.5px solid var(--invite-field-border, #e2e8f0)!important;color:var(--invite-field-text, inherit)!important;box-shadow:none!important}.invite-public-form input:focus,.invite-public-form select:focus,.invite-public-form textarea:focus{outline:none;border-color:var(--invite-field-border, #e2e8f0)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--invite-field-border, #e2e8f0) 28%,transparent)}.invite-public-form input::placeholder,.invite-public-form textarea::placeholder{color:color-mix(in srgb,var(--invite-field-text, #64748b) 45%,transparent)}.invite-event-logo{display:block;height:88px;max-width:min(240px,70%);width:auto;object-fit:contain;margin:0 auto 1rem}.invite-preview-input{height:32px;border-radius:8px;background:transparent;border:1.5px solid currentColor;opacity:.55;display:flex;align-items:center;justify-content:flex-end;padding:0 .5rem}.invite-preview-caret{width:0;height:0;border-inline:4px solid transparent;border-top:5px solid currentColor}.invite-color-preview-card{width:100%;max-width:280px;background:#fffffff5;border-radius:12px;padding:1.25rem;text-align:center;display:flex;flex-direction:column;gap:.55rem;align-items:center;box-shadow:0 8px 24px #0000002e}.invite-color-preview-logo{height:48px;object-fit:contain}.invite-color-preview-card strong{font-size:1.05rem}.invite-color-preview-card span{font-size:.82rem}.invite-color-preview-card button{border:none;color:#fff;border-radius:8px;padding:.55rem 1.25rem;font-size:.9rem;cursor:default;margin-top:.35rem;pointer-events:none}.invite-link-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.invite-link-buttons{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.invite-link-actions .btn{padding:.45rem .75rem;font-size:.85rem}.invite-link-qr{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.65rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,#fff)}.invite-link-qr-img{width:148px;height:148px;display:block;border-radius:8px;background:#fff}.invite-link-qr-placeholder{width:148px;height:148px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.82rem}.invite-link-qr-download{width:100%}.invite-icon-actions{display:flex;align-items:center;gap:.35rem}.invite-icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s;text-decoration:none;padding:0}.invite-icon-btn:hover{border-color:var(--primary);color:var(--primary);background:#2563eb0f}.invite-icon-btn.success{color:#16a34a;border-color:#16a34a59;background:#16a34a14}.invite-icon-btn.danger:hover{color:#dc2626;border-color:#dc262659;background:#dc262614}.invite-link-url{font-size:.8rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:left;-webkit-user-select:all;user-select:all;display:block}.invite-row{cursor:pointer}.invite-row:hover{background:#2563eb0a}.invite-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.invite-detail-title{margin:.75rem 0 .25rem;font-size:1.4rem}.invite-detail-code{font-family:ui-monospace,monospace;color:var(--text-muted);font-size:.9rem}.invite-detail-tabs{display:flex;gap:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.35rem;margin-bottom:1rem;width:fit-content;max-width:100%;flex-wrap:wrap}.invite-detail-tabs button{border:none;background:transparent;color:var(--text-muted);padding:.55rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem}.invite-detail-tabs button.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--primary);font-weight:600;box-shadow:var(--shadow-sm);border-bottom:2px solid var(--accent)}.invite-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.invite-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.35rem}.invite-stat-card span{font-size:.8rem;color:var(--text-muted)}.invite-stat-card strong{font-size:1.25rem}.invite-meta-card h3{margin-bottom:1rem}.invite-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.invite-meta-grid>div{display:flex;flex-direction:column;gap:.25rem}.invite-meta-grid span{font-size:.8rem;color:var(--text-muted)}.invite-meta-link{grid-column:1 / -1}@media(max-width:700px){.invite-meta-grid{grid-template-columns:1fr}}.invite-success-page{padding:1.5rem 1rem}.invite-success-card{width:min(440px,100%);text-align:center;display:flex;flex-direction:column;gap:1rem}.invite-issued-badge-design{width:100%;display:flex;justify-content:center;align-items:center}.invite-issued-badge-img{width:100%;max-width:320px;height:auto;border-radius:12px;box-shadow:0 12px 32px #00000047;background:#0f172a}.invite-issued-badge-loading{width:100%;max-width:320px;min-height:220px;display:grid;place-items:center;border-radius:12px;background:#0f172a14;color:inherit;opacity:.75;font-size:.95rem}.invite-badge-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.invite-badge-actions .btn{min-width:140px}.invite-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:1.25rem 1rem;overflow:hidden}.invite-modal{width:min(820px,100%);max-height:min(90vh,920px);margin:0;display:flex;flex-direction:column;padding:0;overflow:hidden;box-shadow:0 22px 60px #0f172a47}.invite-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0;background:var(--card, #fff);z-index:1}.invite-modal-head h2{margin:0;font-size:1.15rem}.invite-modal-close{width:36px;height:36px;border:none;border-radius:10px;background:transparent;color:var(--text-muted, #64748b);font-size:1.5rem;line-height:1;cursor:pointer;flex-shrink:0}.invite-modal-close:hover{background:#f1f5f9;color:var(--text, #0f172a)}.invite-modal-body{padding:1rem 1.25rem 1.35rem;overflow-y:auto;flex:1;min-height:0}.invite-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border, #e2e8f0)}@media(max-width:640px){.invite-modal-backdrop{padding:.5rem;align-items:stretch}.invite-modal{max-height:none;height:calc(100vh - 1rem);margin:.5rem auto}}.exh-page{display:flex;flex-direction:column;gap:.85rem}.exh-page .page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.exh-page .page-head>div{min-width:0}.exh-add-btn{margin-inline-start:auto;height:42px;padding:0 1.2rem;border-radius:10px;border:none;background:var(--sidebar-bg, #1a2744);color:#fff;font-weight:650;font-size:.92rem;letter-spacing:.01em;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px #1a274438;transition:background .15s ease,transform .12s ease,box-shadow .15s ease}.exh-add-btn:hover{background:#142038;color:#fff;box-shadow:0 10px 22px #1a274447}.exh-add-btn:active{transform:translateY(1px)}.exh-toast{position:fixed;top:1.25rem;left:50%;transform:translate(-50%);z-index:120;display:flex;align-items:center;gap:.85rem;max-width:min(440px,calc(100vw - 2rem));padding:.9rem 1rem;border-radius:12px;box-shadow:0 16px 40px #0f172a33;font-weight:600;font-size:.95rem;animation:exh-toast-in .22s ease}.exh-toast-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.exh-toast-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.exh-toast-close{border:none;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .15rem;opacity:.7}.exh-toast-close:hover{opacity:1}@keyframes exh-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.exh-page-sub{margin:.2rem 0 0;color:var(--text-muted);font-size:.9rem}.exh-page-hint{margin:0;color:var(--text-muted);font-size:.92rem}.exh-filters{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem}.exh-filters-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.exh-search{flex:1 1 220px;min-width:180px}.exh-search input{width:100%;margin:0}.exh-filter-field{display:flex;flex-direction:column;gap:.3rem;min-width:140px;flex:0 1 160px}.exh-filter-field span{font-size:.78rem;color:var(--text-muted);font-weight:600}.exh-filter-field select{margin:0;min-height:42px}.exh-clear-btn{height:42px;white-space:nowrap}.exh-summary{display:flex;flex-wrap:wrap;gap:.45rem}.exh-chip{border:1px solid var(--border, #e2e8f0);background:#f8fafc;color:var(--text);border-radius:999px;padding:.35rem .75rem;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.exh-chip strong{font-variant-numeric:tabular-nums}.exh-chip.is-active{background:var(--sidebar-bg, #1a2744);border-color:var(--sidebar-bg, #1a2744);color:#fff}.exh-table-card{padding:0;overflow:hidden}.exh-table-head{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.1rem;border-bottom:1px solid var(--border, #e2e8f0)}.exh-table-head h3{margin:0;font-size:1rem;display:flex;align-items:center;gap:.5rem}.exh-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:.1rem .45rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.8rem;font-weight:700}.exh-empty{padding:1.25rem 1.1rem;color:var(--text-muted);margin:0}.exh-table-wrap{overflow-x:auto}.exh-table{width:100%;border-collapse:collapse;min-width:780px}.exh-table th,.exh-table td{padding:.85rem 1rem;text-align:start;border-bottom:1px solid #eef2f7;vertical-align:top}.exh-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:#f8fafc;font-weight:700;white-space:nowrap}.exh-table tbody tr:hover{background:#fbfcfe}.exh-table tbody tr:last-child td{border-bottom:none}.exh-company{font-weight:650;line-height:1.35}.exh-muted{color:var(--text-muted);font-size:.84rem;margin-top:.2rem}.exh-contact-email{word-break:break-word;font-size:.92rem}.exh-booth-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.exh-booth-tag{display:inline-flex;align-items:baseline;gap:.25rem;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:8px;padding:.2rem .5rem;font-size:.8rem;font-weight:700}.exh-booth-tag span{font-weight:500;color:#047857}.exh-inline-link{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.35rem}.exh-inline-link select{margin:0;min-width:160px;min-height:36px;font-size:.85rem}.exh-status{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700;white-space:nowrap}.exh-status-approved{background:#ecfdf5;color:#047857}.exh-status-pending{background:#fff7ed;color:#c2410c}.exh-status-rejected{background:#fef2f2;color:#b91c1c}.exh-status-draft,.exh-status-cancelled{background:#f1f5f9;color:#475569}.exh-row-clickable{cursor:pointer;transition:background .12s ease}.exh-row-clickable:hover{background:#2563eb0a}.exh-actions-col{width:1%;white-space:nowrap}.exh-actions{display:flex;flex-wrap:nowrap;gap:.3rem;justify-content:flex-end;align-items:center}.exh-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;cursor:pointer;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.exh-icon-btn:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc;color:var(--primary, #2563eb)}.exh-icon-btn:disabled{opacity:.4;cursor:not-allowed}.exh-icon-btn-primary{background:var(--sidebar-bg, #1a2744);border-color:var(--sidebar-bg, #1a2744);color:#fff}.exh-icon-btn-primary:hover:not(:disabled){background:#142038;border-color:#142038;color:#fff}.exh-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:.4rem .7rem;font-size:.8rem;font-weight:600;cursor:pointer;line-height:1.2;background:transparent;text-decoration:none}.exh-btn:disabled{opacity:.45;cursor:not-allowed}.exh-btn-primary{background:var(--sidebar-bg, #1a2744);color:#fff}.exh-btn-primary:hover:not(:disabled){background:#142038}.exh-btn-outline{border-color:#cbd5e1;color:#334155;background:#fff}.exh-btn-outline:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}.exh-btn-ghost{border:none;color:#2563eb;padding:.2rem 0;font-size:.8rem;background:transparent}.exh-btn-ghost:hover:not(:disabled){text-decoration:underline}.exh-check{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.92rem}.exh-check input{width:auto;margin:0}.exh-company-link{color:inherit;text-decoration:none;font-weight:650}.exh-company-link:hover{color:var(--primary, #2563eb);text-decoration:underline}.exh-back-link{display:inline-block;margin-bottom:.65rem;color:var(--text-muted);text-decoration:none;font-size:.9rem}.exh-back-link:hover{color:var(--primary, #2563eb)}.exh-detail-shell{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:.85rem;align-items:start;direction:ltr;width:100%;min-width:0}.exh-detail-main{min-width:0;display:flex;flex-direction:column;gap:.85rem;direction:rtl}:root:not([dir=rtl]) .exh-detail-main,[dir=ltr] .exh-detail-main{direction:ltr}.exh-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.exh-detail-hero{display:flex;align-items:center;gap:.85rem}.exh-detail-logo{width:56px;height:56px;border-radius:14px;background:#e2e8f0;color:#334155;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;font-size:1.25rem;flex-shrink:0}.exh-detail-logo img{width:100%;height:100%;object-fit:cover}.exh-detail-logo--lg{width:72px;height:72px}.exh-detail-actions{display:flex;flex-wrap:wrap;gap:.45rem}.exh-detail-tabs{display:flex;flex-wrap:wrap;gap:.35rem;border-bottom:1px solid var(--border);padding-bottom:.35rem}.exh-detail-tab{border:none;background:transparent;color:var(--text-muted);padding:.45rem .75rem;border-radius:8px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.exh-detail-tab.is-active,.exh-detail-tab:hover{background:#2563eb14;color:var(--primary, #2563eb)}.exh-booths-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.exh-detail-card{display:flex;flex-direction:column;gap:.85rem}.exh-detail-card--badge{position:sticky;top:.75rem;z-index:2;align-self:start;max-height:calc(100dvh - 5rem);overflow:hidden;direction:rtl}:root:not([dir=rtl]) .exh-detail-card--badge,[dir=ltr] .exh-detail-card--badge{direction:ltr}.exh-detail-card h3{margin:0;font-size:1rem}.exh-detail-subhead{margin-top:.5rem!important}.exh-detail-dl{display:grid;gap:.75rem;margin:0}.exh-detail-dl>div{display:grid;gap:.2rem}.exh-detail-dl dt{font-size:.78rem;color:var(--text-muted);font-weight:600}.exh-detail-dl dd{margin:0;font-size:.95rem}.exh-notes{width:100%;min-height:110px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;font:inherit;background:var(--bg);color:var(--text)}.exh-detail-form{display:flex;flex-direction:column;gap:.85rem;max-width:640px}.exh-logo-row{display:flex;align-items:center;gap:.85rem}.exh-file-btn{cursor:pointer}.exh-booth-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.exh-booth-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.exh-link-booth{display:flex;gap:.5rem;flex-wrap:wrap}.exh-link-booth select{flex:1;min-width:180px}.exh-inline-link-text{font-size:.88rem;color:var(--primary, #2563eb)}.exh-access-actions{display:flex;flex-wrap:wrap;gap:.5rem}.exh-mono{font-family:ui-monospace,monospace;font-size:.85rem;word-break:break-all}.exh-detail-empty{padding:2rem 1.25rem;text-align:center}.exh-badge-panel{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:0;max-height:100%}.exh-badge-panel h3{align-self:flex-start;margin:0;flex-shrink:0}.exh-badge-card-img{width:auto;max-width:100%;max-height:calc(100dvh - 11rem);height:auto;border-radius:14px;box-shadow:0 12px 36px #0f172a29;display:block;object-fit:contain;flex:0 1 auto;min-height:0}.exh-badge-code{margin:0;text-align:center;flex-shrink:0}@media(max-width:900px){.exh-detail-shell{grid-template-columns:1fr;direction:inherit}.exh-detail-card--badge{position:static;max-height:none;order:-1}.exh-booths-grid{grid-template-columns:1fr}}@media(max-width:720px){.exh-filter-field{flex:1 1 calc(50% - .75rem)}.exh-clear-btn{width:100%}.exh-booth-list li{flex-direction:column;align-items:stretch}}.reports-page{display:flex;flex-direction:column;gap:1rem;max-width:1100px}.reports-page .page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:0}.reports-page .page-title{margin:0}.reports-sub{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem}.reports-alert{margin:0;padding:.7rem .9rem;border-radius:10px;font-size:.9rem}.reports-alert.success{background:#16a34a1a;color:#15803d;border:1px solid rgba(22,163,74,.22)}.reports-alert.error{background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.reports-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.reports-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.35rem}.reports-stat-label{font-size:.78rem;font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.reports-stat strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.reports-export-card,.reports-table-card{margin:0;padding:0;overflow:hidden}.reports-export-head,.reports-table-head{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.15rem .85rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 55%,transparent)}.reports-export-head h2,.reports-table-head h2{margin:0;font-size:1rem}.reports-export-head p,.reports-table-head p{margin:.2rem 0 0;color:var(--text-muted);font-size:.82rem}.reports-export-icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.reports-export-actions{display:flex;flex-wrap:wrap;gap:.55rem;padding:1rem 1.15rem 1.15rem}.reports-export-actions .btn{display:inline-flex;align-items:center;gap:.4rem}.reports-table-wrap{width:100%;overflow-x:auto}.reports-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:480px}.reports-table thead th{text-align:start;padding:.75rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 70%,#fff)}.reports-table tbody td{padding:.8rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.reports-table tbody tr:last-child td{border-bottom:none}.reports-num{font-variant-numeric:tabular-nums;font-weight:650}.reports-empty{margin:0;padding:1.5rem 1.15rem;text-align:center;color:var(--text-muted)}.ps-page{min-height:100dvh;padding:clamp(1rem,2.5vw,2.25rem);display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,2rem);color:#f8fafc;background:radial-gradient(circle at top,rgba(59,130,246,.22),transparent 42%),linear-gradient(160deg,#0b1220,#111827 48%,#0f172a);box-sizing:border-box}.ps-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ps-brand{display:flex;align-items:center;gap:.9rem;min-width:0}.ps-logo,.ps-logo-fallback{width:clamp(56px,8vw,88px);height:clamp(56px,8vw,88px);border-radius:18px;object-fit:contain;background:#ffffff14;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.ps-logo-fallback{display:grid;place-items:center;font-size:clamp(1.4rem,3vw,2rem);font-weight:800}.ps-kicker{margin:0 0 .2rem;color:#f8fafcad;font-size:clamp(.8rem,1.4vw,1rem);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.ps-brand h1{margin:0;font-size:clamp(1.35rem,3.4vw,2.6rem);line-height:1.15;font-weight:800}.ps-venue{margin:.35rem 0 0;color:#f8fafcb3;font-size:clamp(.9rem,1.6vw,1.1rem)}.ps-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:end;color:#f8fafcb8;font-size:clamp(.85rem,1.5vw,1rem)}.ps-meta strong{color:#fff;font-size:clamp(1.1rem,2.2vw,1.6rem);font-variant-numeric:tabular-nums}.ps-live{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .65rem;border-radius:999px;background:#22c55e29;color:#86efac;font-size:.82rem;font-weight:750}.ps-live.is-offline{background:#f8717129;color:#fca5a5}.ps-live-dot{width:.55rem;height:.55rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:ps-pulse 1.6s ease-out infinite}.ps-live.is-offline .ps-live-dot{animation:none}@keyframes ps-pulse{0%{box-shadow:0 0 #86efac8c}70%{box-shadow:0 0 0 10px #86efac00}to{box-shadow:0 0 #86efac00}}.ps-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(1.25rem,4vw,3rem) 1rem;border-radius:clamp(18px,2.5vw,28px);background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff14}.ps-hero-label{margin:0;color:#f8fafcb8;font-size:clamp(1rem,2.2vw,1.55rem);font-weight:700}.ps-hero-value{margin-top:.35rem;font-size:clamp(4.5rem,18vw,12rem);line-height:.95;font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 18px 50px rgba(15,23,42,.45);display:inline-flex;align-items:baseline;justify-content:center;gap:.02em;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease}.ps-hero-value.is-bump{transform:scale(1.045);filter:drop-shadow(0 0 28px rgba(96,165,250,.35))}.ps-digit{display:inline-block;min-width:.58em;text-align:center;animation:ps-digit-in .45s cubic-bezier(.22,1,.36,1)}.ps-digit-sep{display:inline-block;min-width:.28em;text-align:center;opacity:.8}@keyframes ps-digit-in{0%{transform:translateY(.28em);opacity:.35}to{transform:translateY(0);opacity:1}}.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.8vw,1.25rem)}.ps-card{padding:clamp(1rem,2vw,1.45rem);border-radius:clamp(16px,2vw,22px);background:#0f172a8c;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ps-card p{margin:0;color:#f8fafcad;font-size:clamp(.9rem,1.6vw,1.15rem);font-weight:650}.ps-card-value{display:inline-flex;align-items:baseline;gap:.02em;margin-top:.45rem;font-size:clamp(2rem,5.5vw,3.6rem);line-height:1;font-weight:800;font-variant-numeric:tabular-nums;transition:transform .4s cubic-bezier(.22,1,.36,1)}.ps-card-value.is-bump{transform:scale(1.06)}.ps-card strong{display:block;margin-top:.45rem;font-size:clamp(2rem,5.5vw,3.6rem);line-height:1;font-weight:800;font-variant-numeric:tabular-nums}.ps-state{margin:auto;max-width:28rem;text-align:center;font-size:clamp(1.05rem,2.4vw,1.4rem);color:#f8fafcdb;padding:1.5rem;border-radius:18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}@media(max-width:900px){.ps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-card:last-child{grid-column:1 / -1}}@media(max-width:640px){.ps-page{gap:1rem}.ps-head{flex-direction:column}.ps-meta{align-items:flex-start;text-align:start;width:100%}.ps-grid{grid-template-columns:1fr}.ps-card:last-child{grid-column:auto}.ps-hero{min-height:42vh}}@media(prefers-reduced-motion:reduce){.ps-live-dot,.ps-digit,.ps-hero-value,.ps-card-value{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}.cp-page{max-width:820px;display:flex;flex-direction:column;gap:.85rem}.cp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cp-head .page-title{margin:0}.cp-sub{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem;max-width:40rem;line-height:1.45}.cp-empty{padding:1.5rem}.cp-type-bar{display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,#fff);position:sticky;top:.35rem;z-index:5}.cp-type-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.84rem;font-weight:650;padding:.5rem .8rem;border-radius:9px;cursor:pointer;white-space:nowrap}.cp-type-tab:hover{color:var(--text);background:color-mix(in srgb,var(--primary) 7%,transparent)}.cp-type-tab.is-active{color:#fff;background:var(--primary)}.cp-form{margin:0;padding:1.15rem 1.25rem 1.3rem}.cp-form-type-label{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.95rem}.cp-form-type-label strong{font-size:1.05rem}.cp-portal-chip{font-size:.82rem;line-height:1.4;color:var(--text-muted);padding:.55rem .7rem;border-radius:9px;background:color-mix(in srgb,var(--bg) 70%,#fff);border:1px solid var(--border)}.cp-portal-chip.is-on{color:#1e3a5f;background:color-mix(in srgb,var(--primary) 8%,#fff);border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}.cp-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}.cp-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:650;color:var(--text-muted)}.cp-span-2{grid-column:1 / -1}.cp-grid input,.cp-grid select,.cp-grid textarea{font:inherit;color:var(--text);background:var(--bg, #fff);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem}.cp-grid input:focus,.cp-grid select:focus,.cp-grid textarea:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.cp-alert{margin:1rem 0 0;padding:.7rem .9rem;border-radius:10px;font-size:.9rem}.cp-alert.success{background:#16a34a1a;color:#15803d;border:1px solid rgba(22,163,74,.22)}.cp-alert.error{background:#dc26261a;color:#991b1b;border:1px solid rgba(185,28,28,.28);font-weight:650;line-height:1.45}.cp-actions{display:flex;justify-content:flex-end;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}@media(max-width:640px){.cp-grid{grid-template-columns:1fr}.cp-type-bar{position:static}}.users-page{display:flex;flex-direction:column;gap:1rem;max-width:1100px}.users-page .page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:0}.users-page .page-title{margin:0}.users-sub{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem}.users-page .page-header-row .btn{display:inline-flex;align-items:center;gap:.35rem}.users-head-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.users-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.3rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,#fff)}.users-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.88rem;font-weight:650;padding:.5rem .85rem;border-radius:9px;cursor:pointer}.users-tab:hover{color:var(--text);background:color-mix(in srgb,var(--primary) 7%,transparent)}.users-tab.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,#fff)}.users-alert{margin:0;padding:.7rem .9rem;border-radius:10px;font-size:.9rem}.users-alert.success{background:#16a34a1a;color:#15803d;border:1px solid rgba(22,163,74,.22)}.users-alert.error{background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.users-table-card{margin:0;padding:0;overflow:visible}.users-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 55%,transparent);border-radius:var(--radius) var(--radius) 0 0}.users-toolbar label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--text-muted);font-weight:600;flex:1;min-width:200px}.users-table-wrap{width:100%;overflow-x:auto;overflow-y:visible}.users-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px}.users-table thead th{text-align:start;padding:.75rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 70%,#fff);white-space:nowrap}.users-table tbody td{padding:.85rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);vertical-align:middle}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 4%,transparent)}.users-table tbody tr.is-menu-open td{background:color-mix(in srgb,var(--primary) 5%,transparent)}.users-col-actions{width:56px;text-align:end}.users-person{display:flex;align-items:center;gap:.75rem;min-width:0}.users-avatar{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:.95rem;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.users-person-text{display:flex;flex-direction:column;gap:.12rem;min-width:0}.users-person-text strong{font-weight:650;line-height:1.25}.users-person-text span{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.users-contact{display:flex;flex-direction:column;gap:.15rem;min-width:0}.users-contact span{font-size:.86rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.users-contact span:last-child{font-size:.8rem;color:var(--text-muted)}.users-role-cell{display:flex;flex-wrap:wrap;gap:.3rem}.users-chip{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;font-size:.72rem;font-weight:650;line-height:1.2;background:color-mix(in srgb,var(--border) 55%,transparent);color:var(--text)}.users-chip.staff{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.users-chip.muted{background:color-mix(in srgb,var(--bg) 70%,#e2e8f0);color:var(--text-muted)}.users-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:600;white-space:nowrap}.users-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.users-status.is-on{color:#15803d}.users-status.is-off{color:#b91c1c}.users-menu{position:relative;display:inline-flex;justify-content:flex-end}.users-menu-trigger{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text-muted);cursor:pointer;padding:0;transition:border-color .15s,color .15s,background .15s}.users-menu-trigger:hover,.users-menu-trigger.is-open{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,#fff)}.users-menu-panel{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:30;min-width:190px;padding:.35rem;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 12px 30px #0f172a24;display:flex;flex-direction:column;gap:.15rem}.users-menu-panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;text-align:start;font:inherit;font-size:.86rem;font-weight:550;color:var(--text);padding:.55rem .7rem;border-radius:8px;cursor:pointer;white-space:nowrap}.users-menu-panel button:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary)}.users-empty{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:2.2rem 1.25rem;color:var(--text-muted);text-align:center}.users-empty p{margin:0}.users-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.users-modal{width:min(640px,100%);background:var(--card, #fff);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px #0f172a2e;padding:1.25rem 1.35rem 1.4rem;margin-top:1.5rem}.users-modal h2{margin:0;font-size:1.15rem}.users-modal-hint{margin:.35rem 0 1rem;color:var(--text-muted);font-size:.88rem}.users-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}.users-form-grid .full{grid-column:1 / -1}.users-form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--text-muted)}.users-form-grid input,.users-form-grid select{font:inherit;color:var(--text);background:var(--bg, #fff);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem}.users-check{flex-direction:row!important;align-items:center;gap:.5rem!important}.users-check input{width:auto}.users-roles-label{display:block;font-size:.82rem;font-weight:600;color:var(--text-muted);margin-bottom:.45rem}.users-roles{display:flex;flex-wrap:wrap;gap:.55rem 1rem}.users-modal-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}@media(max-width:720px){.users-form-grid{grid-template-columns:1fr}}.visitors-page{display:flex;flex-direction:column;gap:1rem;max-width:1180px}.visitors-page .page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.visitors-page .page-title{margin:0}.visitors-sub{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem}.visitors-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem .9rem;padding:1rem}.visitors-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.86rem;font-weight:650;color:var(--text-muted)}.visitors-filters input,.visitors-filters select{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.55rem .7rem;background:var(--bg)}.visitors-check{flex-direction:row!important;align-items:center;gap:.55rem!important;margin-top:1.55rem}.visitors-check input{width:1rem;height:1rem}.visitors-filter-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;padding-top:.25rem}.visitors-summary{padding:.85rem 1rem}.visitors-table-wrap{overflow-x:auto;padding:0}.visitors-table{margin:0}.visitors-table th,.visitors-table td{vertical-align:top}.visitors-name{font-weight:700}.visitors-meta{margin-top:.2rem;color:var(--text-muted);font-size:.82rem}.visitors-empty{text-align:center;color:var(--text-muted);padding:1.5rem!important}.visitors-status{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700;background:color-mix(in srgb,var(--border) 55%,transparent)}.visitors-status.is-approved{background:#16a34a1f;color:#15803d}.visitors-status.is-pending{background:#d977061f;color:#b45309}.visitors-status.is-rejected{background:#dc26261a;color:#b91c1c}.visitors-inside.yes{color:#15803d;font-weight:700}.visitors-inside.no{color:var(--text-muted)}.visitors-actions-col{width:5.5rem;text-align:center}.visitors-actions{display:inline-flex;align-items:center;gap:.35rem}.visitors-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 70%,#fff);color:var(--text-muted);cursor:pointer}.visitors-icon-btn:hover:not(:disabled){color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 8%,#fff)}.visitors-icon-btn.is-danger:hover:not(:disabled){color:#b91c1c;border-color:#b91c1c59;background:#dc262614}.visitors-icon-btn:disabled{opacity:.55;cursor:not-allowed}.visitors-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#0f172a73}.visitors-modal{width:min(640px,100%);max-height:min(90vh,820px);overflow:auto;padding:1rem 1.1rem 1.15rem}.visitors-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.visitors-modal-head h2{margin:0;font-size:1.15rem}.visitors-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .85rem}.visitors-edit-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.86rem;font-weight:650;color:var(--text-muted)}.visitors-edit-form input,.visitors-edit-form select{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.55rem .7rem;background:var(--bg)}.visitors-edit-error{grid-column:1 / -1;margin:0}.visitors-modal-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.55rem;margin-top:.25rem}.visitors-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}@media(max-width:980px){.visitors-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.visitors-check{margin-top:.35rem}}@media(max-width:640px){.visitors-filters,.visitors-edit-form{grid-template-columns:1fr}}.guest-page{--guest-navy: #0d1b2a;--guest-gold: #c58a3a;--guest-cream: #f2e9dc;--guest-ink: #0d1b2a;--guest-muted: #6b7280;--guest-bg: #f8f6f2;--guest-card: #ffffff;--guest-border: #e8dcc6;min-height:100vh;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(197,138,58,.14),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(13,27,42,.08),transparent),var(--guest-bg);color:var(--guest-ink);padding:1.5rem clamp(1rem,4vw,2.5rem) 3rem;font-family:var(--font-ar)}.guest-hero{max-width:1100px;margin:0 auto 1.75rem;text-align:center}.guest-brand-logo{margin:0 auto 1rem;width:min(380px,82vw);height:auto;display:block;background:transparent;padding:0;border-radius:0;box-shadow:none;border:none}.guest-brand-title{margin:0 auto .75rem;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:600;color:var(--guest-navy)}.guest-hero h1{margin:.35rem 0 .4rem;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--guest-navy);font-weight:700}.guest-sub{margin:0 auto;color:var(--guest-muted);max-width:36rem}.guest-link{display:inline-block;margin-top:.85rem;color:var(--guest-navy);font-weight:600;text-decoration:none;border-bottom:2px solid var(--guest-gold)}.guest-link:hover{color:var(--guest-gold)}.guest-error{max-width:1100px;margin:0 auto 1rem}.guest-workshop-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.guest-workshop-card{background:var(--guest-card);border:1px solid var(--guest-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 28px #0d1b2a12;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.guest-workshop-card.is-pay-open{border-color:color-mix(in srgb,var(--guest-gold) 45%,var(--guest-border));box-shadow:0 14px 32px #0d1b2a1c}.guest-workshop-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #0d1b2a1f}.guest-workshop-cover{height:140px;background:linear-gradient(135deg,var(--guest-navy) 0%,#1a2d42 50%,var(--guest-gold) 120%);background-size:cover;background-position:center;position:relative}.guest-workshop-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(13,27,42,.35),transparent 60%)}.guest-workshop-body{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.35rem;flex:1}.guest-workshop-body h2{margin:0;font-size:1.1rem;color:var(--guest-navy);line-height:1.35}.guest-meta{margin:0;font-size:.86rem;color:var(--guest-muted)}.guest-desc{margin:.25rem 0 0;font-size:.88rem;color:var(--guest-ink);opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.guest-desc-more{color:var(--guest-gold);font-weight:600}.guest-card-actions-wrap{position:relative;margin-top:.55rem;min-height:44px}.guest-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;transition:opacity .28s ease,transform .28s ease}.guest-card-actions .btn{width:100%;min-height:40px;font-size:.88rem}.guest-card-actions-default{opacity:1;transform:translateY(0)}.guest-card-actions-pay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transform:translateY(8px);pointer-events:none;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.guest-card-actions-pay .guest-card-back{grid-column:1 / -1;min-height:34px;font-size:.82rem;margin-top:.15rem}.guest-card-actions-wrap.is-pay-open .guest-card-actions-default{opacity:0;transform:translateY(-8px);pointer-events:none}.guest-card-actions-wrap.is-pay-open .guest-card-actions-pay{opacity:1;transform:translateY(0);pointer-events:auto}.guest-card-actions-wrap.is-pay-open{min-height:82px}.guest-workshop-footer{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--guest-border);font-size:.9rem}.guest-workshop-footer strong{color:var(--guest-gold);font-size:1.05rem}.guest-pay-choices{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.guest-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--guest-navy, #0D1B2A) 58%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.guest-modal{position:relative;width:min(100%,560px);max-height:min(92vh,760px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 20px 48px #0d1b2a47}.guest-modal-close{position:absolute;top:.55rem;inset-inline-end:.55rem;z-index:2;width:36px;height:36px;border:0;border-radius:999px;background:#ffffffeb;color:var(--guest-navy);font-size:1.5rem;line-height:1;cursor:pointer}.guest-modal-cover{height:180px;background:linear-gradient(135deg,var(--guest-navy) 0%,#1a2d42 50%,var(--guest-gold) 120%);background-size:cover;background-position:center}.guest-modal-body{padding:1.15rem 1.25rem 1.4rem;display:flex;flex-direction:column;gap:.45rem}.guest-modal-body h2{margin:0;color:var(--guest-navy);font-size:1.25rem;line-height:1.35;padding-inline-end:2rem}.guest-modal-desc{margin:.35rem 0 .25rem;white-space:pre-wrap;line-height:1.7;color:var(--guest-ink);font-size:.95rem}.guest-pay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;background:color-mix(in srgb,var(--guest-navy, #0D1B2A) 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:1.25rem}.guest-pay-overlay-card{width:min(100%,360px);background:#fff;color:var(--guest-navy, #0D1B2A);border-radius:16px;padding:1.5rem 1.25rem;text-align:center;box-shadow:0 16px 40px #0d1b2a40}.guest-pay-overlay-card p{margin:.85rem 0 .35rem;font-weight:700;font-size:1.05rem}.guest-pay-spinner{width:42px;height:42px;margin:0 auto;border:3px solid color-mix(in srgb,var(--guest-gold, #C58A3A) 28%,#fff);border-top-color:var(--guest-gold, #C58A3A);border-radius:50%;animation:guest-pay-spin .8s linear infinite}@keyframes guest-pay-spin{to{transform:rotate(360deg)}}.guest-workshop-body>.btn{margin-top:auto;align-self:stretch}.guest-empty{max-width:1100px;margin:2rem auto;text-align:center;color:var(--guest-muted)}.guest-order-card{max-width:520px;margin:0 auto;background:var(--guest-card);border:1px solid var(--guest-border);border-radius:18px;padding:1.5rem;box-shadow:0 12px 32px #0d1b2a17}.guest-order-card h2{margin:0 0 .75rem;color:var(--guest-navy)}.guest-order-row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--guest-border);font-size:.95rem}.guest-order-row:last-of-type{border-bottom:none}.guest-qr-wrap{text-align:center;margin:1.25rem 0}.guest-qr-wrap img{width:200px;height:200px;border-radius:10px;background:#fff;border:1px solid var(--guest-border)}.guest-qr-token{font-family:ui-monospace,monospace;font-size:.75rem;word-break:break-all;color:var(--guest-muted);margin-top:.5rem}.guest-qr-save{margin-top:.9rem;width:100%;max-width:280px}.guest-badge-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:.9rem}.guest-badge-actions .btn{min-width:140px}.guest-paid{background:color-mix(in srgb,var(--guest-gold) 14%,#fff);border:1px solid color-mix(in srgb,var(--guest-gold) 35%,transparent);color:var(--guest-navy);border-radius:12px;padding:.85rem 1rem;text-align:center;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:560px){.guest-workshop-footer{flex-direction:column;align-items:flex-start}}.payments-page{display:flex;flex-direction:column;gap:.75rem}.payments-page .payments-stats,.payments-page .payments-toolbar,.payments-page .payments-table-wrap{margin-bottom:.6rem}.payments-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--border, #d4e4eb);margin-bottom:.25rem}.payments-tab{display:flex;align-items:center;gap:.45rem;padding:.6rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font:inherit;font-weight:700;color:var(--text-muted, #64748b);cursor:pointer;border-radius:6px 6px 0 0;transition:color .15s,border-color .15s}.payments-tab:hover{color:var(--primary, #1a2744);background:color-mix(in srgb,var(--primary, #1a2744) 6%,transparent)}.payments-tab.is-active{color:var(--primary, #1a2744);border-bottom-color:var(--primary, #1a2744)}.payments-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;font-size:.75rem;font-weight:800;background:color-mix(in srgb,var(--border, #d4e4eb) 60%,transparent);color:var(--text-muted, #64748b)}.payments-tab.is-active .payments-tab-count{background:color-mix(in srgb,var(--primary, #1a2744) 14%,transparent);color:var(--primary, #1a2744)}.payments-stats{padding:.6rem .9rem}.payments-stats-row{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:.75rem 1rem}.payments-stat{min-width:0;padding:.55rem .65rem;border:1px solid var(--border, #d4e4eb);border-radius:12px;background:color-mix(in srgb,var(--surface, #fff) 86%,transparent);text-align:start}.payments-stats .payments-stat{min-height:90px}@media(max-width:880px){.payments-stats-row{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media(max-width:640px){.payments-stats-row{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:420px){.payments-stats-row{grid-template-columns:1fr}}.payments-stat-head{display:flex;align-items:center;gap:.45rem}.payments-stat-label{font-size:.78rem;font-weight:750;color:var(--text-muted, #64748b)}.payments-stat-value{margin-top:.25rem;font-size:1.1rem;font-weight:900;color:var(--text, #0f172a)}.payments-stat-sub{font-size:.78rem;font-weight:750;color:var(--text-muted, #64748b);display:block;margin-top:.15rem}.payments-stat--total{border-color:color-mix(in srgb,var(--border, #d4e4eb) 75%,#0ea5e9);background:color-mix(in srgb,#0ea5e9 10%,var(--surface, #fff))}.payments-stat--paid{border-color:color-mix(in srgb,#16a34a 45%,var(--border, #d4e4eb));background:color-mix(in srgb,#16a34a 12%,var(--surface, #fff))}.payments-stat--paid .payments-stat-value,.payments-stat--paid .payments-stat-label{color:#15803d}.payments-stat--pending{border-color:color-mix(in srgb,#f59e0b 45%,var(--border, #d4e4eb));background:color-mix(in srgb,#f59e0b 12%,var(--surface, #fff))}.payments-stat--pending .payments-stat-value,.payments-stat--pending .payments-stat-label{color:#b45309}.payments-stat--cancelled{border-color:color-mix(in srgb,#dc2626 40%,var(--border, #d4e4eb));background:color-mix(in srgb,#dc2626 10%,var(--surface, #fff))}.payments-stat--cancelled .payments-stat-value,.payments-stat--cancelled .payments-stat-label{color:#b91c1c}.payments-stat--expired{border-color:color-mix(in srgb,#64748b 35%,var(--border, #d4e4eb));background:color-mix(in srgb,#64748b 10%,var(--surface, #fff))}.payments-stat--expired .payments-stat-value,.payments-stat--expired .payments-stat-label{color:#475569}.payments-toolbar{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center;justify-content:space-between}.payments-toolbar-left{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center}.payments-toolbar label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.payments-toolbar select,.payments-toolbar input{min-width:160px}.payments-toolbar .payments-toolbar-field,.payments-toolbar .payments-toolbar-search{flex-direction:row;align-items:center;gap:.55rem}.payments-toolbar-field select{min-width:190px;height:44px;padding:.45rem .65rem}.payments-toolbar-search{padding:.4rem .65rem;border:1px solid var(--border, #d4e4eb);border-radius:12px;background:var(--surface, #fff);min-width:200px;height:44px}.payments-toolbar-search input{min-width:0;width:100%;border:0;outline:none;background:transparent;padding:0;height:100%;line-height:1.2}.payments-toolbar-refresh{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0!important}@media(max-width:860px){.payments-toolbar{flex-wrap:wrap}.payments-toolbar-left{width:100%;justify-content:space-between;flex-wrap:wrap}}.payments-table-wrap{overflow-x:auto}.payments-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 0 .25rem}.payments-pagination-info{font-weight:850;color:var(--text-muted, #64748b);min-width:64px;text-align:center}tr.payments-row-paid{background:color-mix(in srgb,#16a34a 8%,transparent)}tr.payments-row-pending_cash,tr.payments-row-pending_online{background:color-mix(in srgb,#f59e0b 8%,transparent)}tr.payments-row-cancelled{background:color-mix(in srgb,#dc2626 6%,transparent)}tr.payments-row-expired{background:color-mix(in srgb,#64748b 8%,transparent)}.payments-order-subtitle{font-size:.85rem;font-weight:750;color:var(--text-muted, #64748b);margin-top:.15rem}.payments-scan-panel{max-width:520px;display:flex;flex-direction:column;gap:.85rem}.payments-scan-result{border:1px solid var(--border, #d4e4eb);border-radius:10px;padding:1rem;background:var(--surface, #fff)}.payments-scan-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.payments-scan-row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px solid var(--border, #e8eef1);font-size:.92rem}.payments-scan-row:last-child{border-bottom:none}.payments-scan-result.is-pending{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b2e}.payments-scan-result.is-paid{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a29}.payments-scan-result.is-celebrate{animation:cash-result-celebrate .55s cubic-bezier(.22,1,.36,1);box-shadow:0 0 0 3px #22c55e59,0 12px 32px #16a34a2e}.cash-paid-banner{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:.85rem;padding:.85rem .5rem;border-radius:12px;background:linear-gradient(135deg,#22c55e24,#16a34a0f);animation:cash-paid-banner-in .45s cubic-bezier(.22,1,.36,1)}.cash-paid-banner strong{color:#15803d;font-size:1.02rem}.cash-paid-check{display:inline-flex;filter:drop-shadow(0 4px 12px rgba(34,197,94,.35))}.cash-scan-overlay--celebrate{background:linear-gradient(160deg,#065f46e0,#00000080)}.cash-scan-overlay-inner--celebrate{animation:cash-success-pop .55s cubic-bezier(.22,1,.36,1)}.cash-paid-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.cash-paid-burst:before,.cash-paid-burst:after{content:"";position:absolute;left:50%;top:42%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;box-shadow:0 -90px #4ade80d9,64px -64px #86efacbf,90px 0 #4ade80b3,64px 64px #bbf7d0a6,0 90px #4ade80cc,-64px 64px #86efacb3,-90px 0 #4ade80bf,-64px -64px #bbf7d0a6;animation:cash-burst .85s ease-out forwards;opacity:0}.cash-paid-burst:after{animation-delay:.08s;transform:rotate(22deg)}.cash-scan-amount--pop{animation:cash-amount-pop .5s cubic-bezier(.22,1,.36,1)}.payments-scan-actions .btn-primary.is-busy,.cash-scan-cam-actions .btn-primary.is-busy{position:relative;opacity:.92}@keyframes cash-result-celebrate{0%{transform:scale(.98)}45%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes cash-paid-banner-in{0%{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cash-success-pop{0%{opacity:.6;transform:scale(.88)}55%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes cash-amount-pop{0%{transform:scale(.85);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes cash-burst{0%{opacity:0;transform:scale(.2)}25%{opacity:1}to{opacity:0;transform:scale(1.35)}}.cash-scan-overlay-inner{position:relative;z-index:2}.cash-scan-overlay .cash-scan-overlay-inner{max-width:min(92vw,420px);gap:.55rem;padding:1.25rem 1.1rem}.cash-scan-amount{display:block;font-size:1.45rem;font-weight:750;color:#f2e9dc}.cash-scan-email{opacity:.85;font-size:.9rem;word-break:break-all}.cash-scan-status{display:inline-block;font-size:.9rem;font-weight:700;opacity:.95;padding:.28rem .75rem;border-radius:999px;background:#ffffff1f}.cash-scan-status.is-pending{background:#f59e0b47;border:1px solid rgba(251,191,36,.7);color:#fff7ed}.cash-scan-status.is-paid{background:#22c55e47;border:1px solid rgba(74,222,128,.75);color:#ecfdf5}.cash-scan-cam-actions{justify-content:center;margin-top:.85rem}.cash-scan-cam-actions .btn{min-width:7.5rem}.checkin-overlay--pending{background:linear-gradient(160deg,#92400ed1,#0000006b);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.checkin-overlay--other{background:linear-gradient(160deg,#1e293bd1,#00000073);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.cash-stage--idle .checkin-stage--flash:after,.cash-stage--pending.checkin-stage--flash:after{background:radial-gradient(circle at center,rgba(245,158,11,.55),transparent 68%)}.cash-stage--paid.checkin-stage--flash:after{background:radial-gradient(circle at center,rgba(34,197,94,.55),transparent 68%)}.services-manage{display:flex;flex-direction:column;gap:1rem;max-width:1200px}.services-manage .page-header-row{margin-bottom:0}.services-manage .invite-detail-tabs{margin:0}.svc-table-card{margin:0;padding:0;overflow:hidden}.svc-table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 55%,transparent)}.svc-table-toolbar label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--text-muted);font-weight:600}.svc-table-toolbar select{min-width:160px}.svc-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.svc-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px}.svc-table thead th{text-align:start;padding:.8rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);background:color-mix(in srgb,var(--bg) 70%,#fff);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1}.svc-table tbody td{padding:.85rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);vertical-align:middle;color:var(--text)}.svc-table tbody tr:last-child td{border-bottom:none}.svc-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 5%,transparent)}.svc-table .svc-col-actions{width:1%;white-space:nowrap}.svc-table .svc-col-num,.svc-table .svc-col-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.svc-table .svc-col-money{color:#0f172a}.svc-table .svc-col-status{white-space:nowrap}.svc-table .svc-col-thumb{width:64px}.svc-name-cell{display:flex;flex-direction:column;gap:.12rem;min-width:9rem;max-width:18rem}.svc-name-cell strong{font-weight:650;line-height:1.35}.svc-name-cell span,.svc-name-cell small{font-size:.78rem;color:var(--text-muted);line-height:1.35;word-break:break-word}.svc-muted-cell{color:var(--text-muted);font-size:.88rem;max-width:14rem}.svc-table-empty{margin:0;padding:1.5rem 1.1rem;color:var(--text-muted);text-align:center}.svc-table .svc-status{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.2}.svc-table select{min-width:118px;padding:.35rem .5rem;font-size:.82rem;border-radius:8px}.svc-table .btn{padding:.35rem .7rem;font-size:.82rem}.svc-table .svc-table-thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:var(--bg);display:block}.svc-table .svc-table-thumb.placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8rem;width:44px;height:44px}.svc-settlement-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.85rem 1.25rem;padding:1rem 1.15rem}.svc-settlement-summary>div{display:flex;flex-direction:column;gap:.2rem}.svc-settlement-summary small{color:var(--text-muted);font-size:.78rem;font-weight:600}.svc-settlement-summary strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.svc-settlement-card{padding:0;overflow:hidden}.svc-settlement-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 50%,transparent)}.svc-settlement-card-head h3{margin:0;font-size:1.02rem}.svc-settlement-card-meta{color:var(--text-muted);font-size:.82rem}.svc-settlement-card-totals{text-align:end;font-size:.9rem}.svc-settlement-card-totals strong{font-variant-numeric:tabular-nums}.svc-settlement-card .svc-table{min-width:420px}@media(max-width:720px){.svc-table{min-width:640px}.svc-settlement-card-totals{text-align:start}}.finance-manage .finance-table-card{padding:0;overflow:hidden}.finance-table-wrap{width:100%;overflow-x:auto}.finance-table{width:100%;border-collapse:collapse;font-size:.925rem}.finance-table thead th{text-align:start;padding:.85rem 1.1rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);background:color-mix(in srgb,var(--bg) 65%,transparent);border-bottom:1px solid var(--border);white-space:nowrap}.finance-table tbody td{padding:.95rem 1.1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent);vertical-align:middle}.finance-table tbody tr:last-child td{border-bottom:none}.finance-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 4%,transparent)}.finance-table .finance-col-actions{width:1%;white-space:nowrap}.finance-table .finance-col-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:560}.finance-table .finance-money-muted{color:var(--text-muted);font-weight:500}.finance-name-cell{display:flex;flex-direction:column;gap:.15rem;min-width:10rem}.finance-name-cell strong{font-weight:600;color:var(--text)}.finance-name-cell span{font-size:.8rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;direction:ltr;text-align:start}.finance-status{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.3}.finance-status:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.finance-status--active{color:#15803d;background:#16a34a1a}.finance-status--inactive{color:#64748b;background:#64748b1f}.finance-icon-actions{display:inline-flex;align-items:center;gap:.35rem}.finance-icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s;padding:0}.finance-icon-btn:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.finance-icon-btn.success{color:#16a34a;border-color:#16a34a59;background:#16a34a14}.finance-icon-btn.danger:hover{color:#dc2626;border-color:#dc262659;background:#dc262614}.finance-empty{text-align:center;color:var(--text-muted);padding:2.25rem 1rem!important}.finance-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--border)}.finance-table-toolbar label{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.85rem;color:var(--text-muted)}.finance-table-toolbar select{min-width:10rem}.finance-type-pill{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.finance-type-pill--income{color:#15803d;background:#16a34a1a}.finance-type-pill--expense{color:#b45309;background:#f59e0b1f}.finance-type-pill--salary{color:#1d4ed8;background:#2563eb1a}.finance-pay-select{min-width:7.5rem;padding:.35rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);font-size:.85rem}.sms-check-row{display:flex;align-items:center;gap:.55rem;margin-top:.5rem;font-weight:600}.sms-log-card{overflow:hidden}.sms-log-toolbar{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--border)}.sms-log-toolbar label{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.85rem;color:var(--text-muted)}.sms-status{display:inline-flex;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:650}.sms-status--pending,.sms-status--accepted,.sms-status--draft{color:#1d4ed8;background:#2563eb1a}.sms-status--sent,.sms-status--approved{color:#0f766e;background:#0d94881f}.sms-status--delivered{color:#15803d;background:#16a34a1a}.sms-status--undelivered,.sms-status--failed,.sms-status--rejected,.sms-status--cancelled{color:#b91c1c;background:#dc26261a}.sms-status--sending{color:#b45309;background:#f59e0b1f}.sms-ads-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0 .35rem}.sms-ads-stat{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.9rem 1rem;border:1px solid var(--border, rgba(15, 23, 42, .08));border-radius:12px;background:var(--card, #fff);text-align:start;cursor:default;color:inherit;font:inherit}.sms-ads-stat--action{cursor:pointer;transition:border-color .15s ease,transform .15s ease}.sms-ads-stat--action:hover{border-color:#0ea5e973;transform:translateY(-1px)}.sms-ads-stat-value{font-size:1.35rem;font-weight:700;line-height:1.1;color:var(--text, #0f172a)}.sms-ads-stat-label{font-size:.8rem;color:var(--text-muted, #64748b);line-height:1.3}.sms-ads-stats-hint{margin:0 0 1rem;font-size:.82rem;color:var(--text-muted, #64748b)}.sms-segment-box{margin-top:.65rem;padding:.85rem .95rem;border-radius:12px;border:1px solid rgba(14,165,233,.28);background:#0ea5e912;font-size:.85rem;color:var(--text, #0f172a);line-height:1.45}.sms-segment-box--warn{border-color:#d9770659;background:#f59e0b1a}.sms-segment-box--danger{border-color:#dc262659;background:#dc262614}.sms-segment-box-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.sms-segment-box-head strong{margin:0}.sms-segment-badge{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.sms-segment-badge--ok{color:#0f766e;background:#0d948824}.sms-segment-badge--warn{color:#b45309;background:#f59e0b2e}.sms-segment-badge--danger{color:#b91c1c;background:#dc262624}.sms-segment-lead{margin:.45rem 0 0;color:var(--text-muted, #64748b)}.sms-segment-limits{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.65rem}.sms-segment-limits>div{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .65rem;border-radius:8px;background:#ffffff8c;border:1px solid rgba(15,23,42,.06)}.sms-segment-limits span{font-size:.75rem;color:var(--text-muted, #64748b)}.sms-segment-limits strong{font-size:.95rem}.sms-segment-box ul{margin:.55rem 0 0;padding-inline-start:1.15rem}.sms-segment-box li{margin-bottom:.25rem}.sms-segment-billing{margin:.55rem 0 0;font-weight:650;color:var(--text, #0f172a)!important}@media(max-width:520px){.sms-segment-limits{grid-template-columns:1fr}}.sms-pricing-grid{display:grid;gap:.85rem;margin-top:.75rem}@media(min-width:520px){.sms-pricing-grid{grid-template-columns:1fr 1fr}}.email-page{display:flex;flex-direction:column;gap:1rem}.email-sub{margin:.35rem 0 0;color:var(--text-muted);font-size:.92rem}.email-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,#fff)}.email-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.88rem;font-weight:650;padding:.5rem .85rem;border-radius:9px;cursor:pointer}.email-tab:hover{color:var(--text);background:color-mix(in srgb,var(--primary) 7%,transparent)}.email-tab.is-active{color:#fff;background:var(--primary)}.email-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:start}@media(max-width:960px){.email-grid{grid-template-columns:1fr}}.email-card{display:flex;flex-direction:column;gap:.75rem}.email-card h2{margin:0;font-size:1.1rem}.email-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:700px){.email-form-grid{grid-template-columns:1fr}}.email-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600}.email-card input,.email-card select,.email-card textarea{font:inherit;font-weight:400;padding:.55rem .7rem;border-radius:9px;border:1px solid var(--border);background:#fff}.email-check{flex-direction:row!important;align-items:center;gap:.5rem!important;font-weight:500!important}.email-actions{display:flex;flex-wrap:wrap;gap:.5rem}.email-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.email-list li{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--border)}.email-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.email-alert{margin:0;padding:.65rem .85rem;border-radius:10px;font-size:.92rem}.email-alert.ok{background:color-mix(in srgb,#16a34a 12%,#fff);color:#14532d;border:1px solid color-mix(in srgb,#16a34a 30%,var(--border))}.email-alert.error{background:color-mix(in srgb,#dc2626 10%,#fff);color:#7f1d1d;border:1px solid color-mix(in srgb,#dc2626 28%,var(--border))}.email-badge{display:inline-block;padding:.15rem .45rem;border-radius:6px;font-size:.78rem;font-weight:700}.email-badge.status-sent{background:#dcfce7;color:#166534}.email-badge.status-failed{background:#fee2e2;color:#991b1b}.email-logo-preview{max-height:64px;max-width:200px;object-fit:contain}.email-preview{border:1px solid var(--border);border-radius:10px;padding:1rem;background:#fff;min-height:200px;overflow:auto}.email-types{border:1px solid var(--border);border-radius:10px;padding:.75rem}.email-types legend{padding:0 .35rem;font-weight:650;font-size:.9rem}.email-type-chips{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.muted{color:var(--text-muted);font-size:.9rem}.ads-hub-hint,.ads-section-hint{color:var(--text-muted, #64748b);margin:0;max-width:52ch;line-height:1.45}.ads-hub-tabs{margin-top:.75rem}.ads-hub-tabs a{text-decoration:none;color:inherit}.ads-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}@media(max-width:720px){.ads-choice-grid{grid-template-columns:1fr}}.ads-choice-card{display:flex;flex-direction:column;gap:.45rem;padding:0;overflow:hidden;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:var(--surface, #fff);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.ads-choice-card:hover{border-color:var(--primary, #2563eb);box-shadow:0 6px 20px #0f172a0f}.ads-choice-card-media{aspect-ratio:16 / 9;overflow:hidden;background:#eef2f7}.ads-choice-card-media img{display:block;width:100%;height:100%;object-fit:cover}.ads-choice-card strong,.ads-choice-card>span{padding-inline:1.25rem}.ads-choice-card strong{font-size:1.1rem;margin-top:.9rem}.ads-choice-card>span{color:var(--text-muted, #64748b);line-height:1.45;font-size:.92rem;padding-bottom:1.15rem}.ads-slot-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.ads-hours-hint{margin:.4rem 0 0;font-size:.85rem;color:var(--text-muted, #64748b)}.ads-availability{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:#0f172a0a;font-size:.92rem}.ads-availability--ok{background:#16a34a1a;color:#15803d}.ads-availability--no{background:#dc262614;color:#b91c1c}.ads-media-preview{display:flex;flex-direction:column;gap:.35rem;max-width:160px}.ads-media-preview img,.ads-media-preview video{width:100%;max-height:90px;object-fit:cover;border-radius:8px;background:#0f172a}.ads-media-preview span{font-size:.75rem;color:var(--text-muted, #64748b);word-break:break-all}.ads-media-pending{font-size:.85rem;color:var(--text-muted, #64748b)}.sms-status--published{color:#15803d;background:#16a34a1a}.ads-manage .page-header-row h1{margin:0}.ads-screen-modal-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.ads-screen-modal-scroll{flex:1;min-height:0}.ads-screen-modal-footer{flex-shrink:0;padding:.85rem 1.25rem 1.1rem;border-top:1px solid var(--border, #e2e8f0);background:var(--card, #fff)}.ads-screen-modal-error{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:8px;background:#dc262614;line-height:1.45}.ads-screen-modal-error a{font-weight:600;text-decoration:underline}.ads-screen-modal-actions{margin-top:0;padding-top:0;border-top:none}.visits-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}.visits-summary-card{display:flex;flex-direction:column;gap:.25rem;padding:.95rem 1rem;border-radius:12px;background:var(--surface, #f6f7f9);border:1px solid var(--border, #e5e7eb)}.visits-summary-card strong{font-size:1.45rem}.visits-summary-card span{color:var(--text-muted, #64748b);font-size:.88rem}.visits-people{display:grid;gap:.65rem}.visits-person{border:1px solid var(--border, #e5e7eb);border-radius:12px;background:var(--surface, #fff);overflow:hidden}.visits-person-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;border:none;background:transparent;color:inherit;cursor:pointer;text-align:start}.visits-person-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.visits-person-main span{color:var(--text-muted, #64748b);font-size:.88rem}.visits-person-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;flex-shrink:0}.visits-badge{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;background:#2563eb1f;color:#1d4ed8;font-size:.78rem;font-weight:600;white-space:nowrap}.visits-chevron{opacity:.55;font-size:.85rem}.visits-person-body{padding:0 1rem 1rem;border-top:1px solid var(--border, #e5e7eb)}.visits-range{margin:.75rem 0;font-size:.85rem;color:var(--text-muted, #64748b)}.visits-hit-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.visits-hit-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem;color:var(--text-muted, #64748b)}@media(max-width:520px){.visits-person-head{flex-direction:column;align-items:stretch}.visits-person-meta{justify-content:flex-start}}.exh-settings{max-width:920px;display:flex;flex-direction:column;gap:1.15rem}.exh-settings-hero{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap;padding:1.25rem 1.35rem;border-radius:18px;border:1px solid var(--border);background:radial-gradient(120% 140% at 100% 0%,rgba(37,99,235,.14),transparent 55%),linear-gradient(145deg,#fff,#f4f7fb);box-shadow:var(--shadow-sm)}[dir=ltr] .exh-settings-hero{background:radial-gradient(120% 140% at 0% 0%,rgba(37,99,235,.14),transparent 55%),linear-gradient(215deg,#fff,#f4f7fb)}.exh-settings-hero-logo{width:88px;height:88px;border-radius:16px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;font-size:1.6rem;font-weight:800;color:var(--sidebar-bg)}.exh-settings-hero-logo img{width:100%;height:100%;object-fit:contain}.exh-settings-hero-text{flex:1;min-width:200px}.exh-settings-hero-text h1{margin:0 0 .35rem;font-size:clamp(1.25rem,2.2vw,1.55rem);letter-spacing:-.02em}.exh-settings-hero-text p{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.5;max-width:36rem}.exh-settings-tabs{display:flex;gap:.35rem;padding:.3rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);overflow-x:auto}.exh-settings-tab{flex:1;min-width:7.5rem;border:none;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:.88rem;font-weight:650;padding:.65rem .75rem;cursor:pointer;white-space:nowrap}.exh-settings-tab:hover{color:var(--text);background:var(--bg)}.exh-settings-tab.is-active{color:#fff;background:var(--sidebar-bg)}.exh-settings-panel{display:flex;flex-direction:column;gap:1rem}.exh-settings-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);padding:1.15rem 1.25rem;display:flex;flex-direction:column;gap:.95rem}.exh-settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.exh-settings-card-head h2{margin:0;font-size:1.02rem}.exh-settings-card-head p{margin:.25rem 0 0;color:var(--text-muted);font-size:.84rem;line-height:1.45}.exh-settings-brand-row{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}@media(max-width:560px){.exh-settings-brand-row{grid-template-columns:1fr}}.exh-settings-logo-box{width:112px;height:112px;border-radius:14px;border:1px dashed #cbd5e1;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:800;color:var(--sidebar-bg)}.exh-settings-logo-box img{width:100%;height:100%;object-fit:contain;background:#fff}.exh-settings-brand-actions{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start}.exh-settings-brand-actions .hint{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.4}.exh-settings-file-btn{cursor:pointer}.exh-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}@media(max-width:640px){.exh-settings-grid{grid-template-columns:1fr}}.exh-settings-grid .span-2{grid-column:1 / -1}.exh-settings-field label{display:block;margin-bottom:.35rem;font-size:.86rem;color:var(--text-muted);font-weight:600}.exh-settings-field input,.exh-settings-field select,.exh-settings-field textarea{width:100%}.exh-settings-field input:disabled{opacity:.7;background:var(--bg)}.exh-settings-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.exh-settings-booth-list{display:flex;flex-direction:column;gap:.85rem}.exh-settings-booth{border:1px solid var(--border);border-radius:12px;background:#fbfdff;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.exh-settings-booth-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.exh-settings-booth-top h3{margin:0;font-size:.98rem}.exh-settings-booth-code{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#1a274414;color:var(--sidebar-bg);font-size:.75rem;font-weight:700}.exh-settings-empty{margin:0;padding:1.25rem;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:12px;background:#f8fafc}.exh-settings-toast{padding:.8rem 1rem;border-radius:10px;font-weight:600;font-size:.9rem}.exh-settings-toast.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.exh-settings-toast.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.exh-team-page{display:flex;flex-direction:column;gap:1rem;max-width:820px}.exh-team-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.exh-team-head .btn{display:inline-flex;align-items:center;gap:.4rem}.exh-team-sub{margin:.25rem 0 0;color:var(--text-muted);font-size:.92rem}.exh-team-ok{margin:0;color:#047857;font-weight:600}.exh-team-card{display:flex;flex-direction:column;gap:.75rem}.exh-team-card h2{margin:0;display:inline-flex;align-items:center;gap:.45rem;font-size:1.05rem}.exh-team-members-head{display:flex;flex-direction:column;gap:.35rem}.exh-team-muted{margin:0;color:var(--text-muted);font-size:.88rem}.exh-team-limit{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.exh-team-invite-box,.exh-team-create{display:flex;flex-direction:column;gap:.65rem}.exh-team-link-row{display:flex;gap:.45rem}.exh-team-link-row input{flex:1;min-width:0;font-size:.85rem}.exh-team-link-row .btn{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.exh-team-actions{display:flex;flex-wrap:wrap;gap:.45rem}.exh-team-create label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600}.exh-team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.exh-team-list li{padding:0;border:none;background:transparent}.exh-team-member-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:inherit;text-align:start;cursor:pointer;font:inherit;transition:border-color .15s ease,background .15s ease}.exh-team-member-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--bg))}.exh-team-member-btn.is-disabled,.exh-team-member-btn:disabled{cursor:default;opacity:.85}.exh-team-member-main{min-width:0}.exh-team-status{font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;white-space:nowrap}.exh-team-status-approved{background:#22c55e1f;color:#15803d}.exh-team-status-pending{background:#f59e0b24;color:#b45309}.exh-team-status-rejected{background:#ef44441f;color:#b91c1c}.exh-team-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#0f172a73}.exh-team-modal{width:min(560px,100%);max-height:min(90vh,720px);overflow:auto;padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.75rem}.exh-team-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.exh-team-modal-head h2{margin:0;display:inline-flex;align-items:center;gap:.45rem;font-size:1.1rem}@media(max-width:640px){.exh-team-link-row{flex-direction:column}.exh-team-member-btn{flex-direction:column;align-items:flex-start}}
