.lp-bg{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(ellipse 80% 60% at 20% 10%,#0d1f3c 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 90%,#0c2240 0%,transparent 55%),#070d1a;overflow:hidden;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.lp-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.18}.lp-orb--tl{width:480px;height:480px;top:-160px;left:-160px;background:radial-gradient(circle,#3b82f6,transparent 70%)}.lp-orb--br{width:400px;height:400px;bottom:-120px;right:-120px;background:radial-gradient(circle,#22c55e,transparent 70%)}.lp-card{position:relative;width:100%;max-width:400px;background:#0d162dd1;backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:40px 36px 44px;box-shadow:0 0 0 1px #ffffff0a inset,0 40px 80px #0000008c,0 4px 16px #0000004d;animation:lp-rise .45s cubic-bezier(.22,1,.36,1) both}@keyframes lp-rise{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.lp-logo-wrap{display:flex;justify-content:center;margin-bottom:22px}.lp-logo{width:88px;height:88px;border-radius:16px;object-fit:cover;box-shadow:0 0 0 1px #22c55e33,0 8px 32px #22c55e2e,0 2px 8px #00000080}.lp-title{text-align:center;font-size:26px;font-weight:700;color:#f0f6ff;letter-spacing:-.4px;margin:0 0 6px}.lp-subtitle{text-align:center;font-size:13px;color:#93a4bf;margin:0 0 30px;letter-spacing:.01em}.lp-error{display:flex;align-items:center;gap:9px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fca5a5;padding:11px 14px;border-radius:10px;margin-bottom:20px;font-size:13px;line-height:1.45}.lp-error svg{flex-shrink:0;opacity:.85}.lp-form{display:flex;flex-direction:column;gap:18px}.lp-field{display:flex;flex-direction:column;gap:7px}.lp-label{font-size:11.5px;font-weight:600;color:#8aa0bf;letter-spacing:.07em;text-transform:uppercase}.lp-input{width:100%;padding:13px 15px;background:#ffffff0b;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#e8f0fe;font-size:14.5px;font-family:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;box-sizing:border-box;outline:none}.lp-input::placeholder{color:#ffffff59}.lp-input:hover:not(:disabled){border-color:#ffffff2e;background:#ffffff0f}.lp-input:focus{border-color:#3b82f6a6;background:#3b82f60f;box-shadow:0 0 0 3px #3b82f624}.lp-input:disabled{opacity:.45;cursor:not-allowed}.lp-input:-webkit-autofill,.lp-input:-webkit-autofill:hover,.lp-input:-webkit-autofill:focus,.lp-input:-webkit-autofill:active,.lp-input:autofill{-webkit-box-shadow:0 0 0 1000px rgba(255,255,255,.045) inset;box-shadow:0 0 0 1000px #ffffff0b inset;-webkit-text-fill-color:#e8f0fe;caret-color:#e8f0fe;border:1px solid rgba(255,255,255,.1);transition:background-color 9999s ease-in-out 0s}.lp-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px rgba(59,130,246,.06) inset;box-shadow:0 0 0 1000px #3b82f60f inset;border-color:#3b82f6a6}.lp-input-wrap{position:relative}.lp-input--pw{padding-right:44px}.lp-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:#ffffff4d;display:flex;align-items:center;transition:color .15s ease;border-radius:4px}.lp-eye:hover{color:#ffffffb3}.lp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 20px;margin-top:4px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:14.5px;font-weight:600;font-family:inherit;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 18px #3b82f652;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.lp-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #3b82f673}.lp-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 12px #3b82f64d}.lp-btn:disabled{opacity:.65;cursor:not-allowed}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:lp-spin .7s linear infinite;flex-shrink:0}@media (max-width: 480px){.lp-card{padding:32px 24px 36px}.lp-title{font-size:22px}.lp-logo{width:74px;height:74px}}.sz-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;height:34px;border-radius:var(--sz-radius-md);font-family:inherit;font-size:var(--sz-fs-13);font-weight:500;letter-spacing:-.005em;line-height:1;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--sz-text);transition:background-color var(--sz-dur) var(--sz-ease),border-color var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease);-webkit-user-select:none;user-select:none;white-space:nowrap}.sz-btn:disabled{opacity:.45;cursor:not-allowed}.sz-btn--full{width:100%}.sz-btn__icon{display:inline-flex;align-items:center;justify-content:center}.sz-btn__label{display:inline-block}.sz-btn--sm{height:28px;padding:0 10px;font-size:var(--sz-fs-12);border-radius:var(--sz-radius-sm)}.sz-btn--lg{height:40px;padding:0 18px;font-size:var(--sz-fs-14)}.sz-btn--icon{padding:0;width:34px}.sz-btn--icon.sz-btn--sm{width:28px}.sz-btn--icon.sz-btn--lg{width:40px}.sz-btn--primary{background:var(--sz-primary);color:var(--sz-primary-text, #fff)}.sz-btn--primary:hover:not(:disabled){background:var(--sz-primary-hover)}.sz-btn--accent{background:var(--sz-brand);color:#fff}.sz-btn--accent:hover:not(:disabled){background:var(--sz-brand-ink)}.sz-btn--secondary{background:var(--sz-bg-card);color:var(--sz-text);border-color:var(--sz-border)}.sz-btn--secondary:hover:not(:disabled){background:var(--sz-bg-subtle);border-color:var(--sz-border-strong)}.sz-btn--ghost{background:transparent;color:var(--sz-text-soft)}.sz-btn--ghost:hover:not(:disabled){background:var(--sz-bg-subtle);color:var(--sz-text)}.sz-btn--danger{background:var(--sz-danger);color:var(--sz-primary-text, #fff)}.sz-btn--danger:hover:not(:disabled){background:var(--sz-danger-hover, #8f2525)}.sz-btn--loading{position:relative;color:transparent!important}.sz-btn--loading:after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sz-spin .7s linear infinite;color:inherit}@keyframes sz-spin{to{transform:rotate(360deg)}}.sz-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--sz-radius-pill);font-size:var(--sz-fs-11);font-weight:500;letter-spacing:.01em;line-height:1;border:1px solid transparent;white-space:nowrap}.sz-pill__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.sz-pill--neutral{background:var(--sz-bg-subtle);color:var(--sz-text-soft);border-color:var(--sz-border)}.sz-pill--success{background:var(--sz-success-soft);color:var(--sz-success)}.sz-pill--warning{background:var(--sz-warning-soft);color:var(--sz-warning)}.sz-pill--danger{background:var(--sz-danger-soft);color:var(--sz-danger)}.sz-pill--info{background:var(--sz-info-soft);color:var(--sz-info)}.sz-pill--brand{background:var(--sz-brand-soft);color:var(--sz-brand-ink)}.sz-card{background:var(--sz-bg-card);border:1px solid var(--sz-border);border-radius:var(--sz-radius-lg);box-shadow:var(--sz-shadow-xs);transition:border-color var(--sz-dur) var(--sz-ease)}.sz-card--inset{background:var(--sz-bg-inset);box-shadow:none}.sz-card--brand{background:linear-gradient(180deg,var(--sz-brand-soft),var(--sz-bg-card));border-color:color-mix(in srgb,var(--sz-brand) 25%,transparent)}.sz-card__header{padding:14px 20px;border-bottom:1px solid var(--sz-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.sz-card__body{padding:20px}.sz-card__footer{padding:14px 20px;border-top:1px solid var(--sz-border);display:flex;align-items:center;justify-content:flex-end;gap:8px}.sz-pagehead{padding:20px 24px 16px;border-bottom:1px solid var(--sz-border);background:var(--sz-bg)}.sz-pagehead__crumb{display:flex;gap:6px;align-items:center;font-family:var(--sz-font-mono);font-size:var(--sz-fs-11);color:var(--sz-text-mute);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.sz-pagehead__crumb::-webkit-scrollbar{display:none}.sz-pagehead__crumb-sep{opacity:.5}.sz-pagehead__crumb-current{color:var(--sz-text-soft)}.sz-pagehead__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.sz-pagehead__text{min-width:0;flex:1}.sz-pagehead__title{font-size:var(--sz-fs-28);font-weight:600;letter-spacing:-.02em;color:var(--sz-text);margin:6px 0 4px;line-height:1.15;overflow-wrap:anywhere;word-break:break-word}.sz-pagehead__sub{color:var(--sz-text-soft);font-size:var(--sz-fs-14);margin:0;max-width:640px;line-height:1.4;overflow-wrap:anywhere}.sz-pagehead__actions{display:flex;gap:8px;flex-shrink:0;align-items:center;flex-wrap:wrap}@media (max-width: 900px){.sz-pagehead{padding:18px 20px 14px}.sz-pagehead__title{font-size:var(--sz-fs-24)}}@media (max-width: 640px){.sz-pagehead{padding:14px 16px 12px}.sz-pagehead__crumb{font-size:10px;margin-bottom:8px}.sz-pagehead__row{flex-direction:column;align-items:stretch;gap:12px}.sz-pagehead__title{font-size:var(--sz-fs-20, 20px);line-height:1.2;margin:4px 0 2px}.sz-pagehead__sub{font-size:13px}.sz-pagehead__actions{width:100%;gap:8px}.sz-pagehead__actions>*{flex:1 1 auto;min-width:0}}@media (max-width: 380px){.sz-pagehead{padding:12px 14px 10px}.sz-pagehead__title{font-size:18px}.sz-pagehead__sub{font-size:12px}}.sz-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--sz-text-soft);padding:48px 24px}.sz-empty--sm{padding:24px 16px}.sz-empty--lg{padding:72px 24px}.sz-empty__icon{width:56px;height:56px;border-radius:50%;background:var(--sz-bg-subtle);display:inline-flex;align-items:center;justify-content:center;color:var(--sz-text-mute);margin-bottom:16px}.sz-empty__title{color:var(--sz-text);font-size:var(--sz-fs-16);font-weight:600;letter-spacing:-.01em;margin-bottom:6px}.sz-empty__body{color:var(--sz-text-soft);font-size:var(--sz-fs-13);max-width:380px;margin:0;line-height:1.55}.sz-empty__action{margin-top:16px}.sz-stat{display:flex;flex-direction:column;gap:10px;position:relative}.sz-stat__top{display:flex;align-items:center;gap:8px}.sz-stat__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--sz-radius-sm);background:var(--sz-bg-subtle);color:var(--sz-text-soft)}.sz-stat__value{font-family:var(--sz-font-mono);font-size:var(--sz-fs-28);font-weight:600;letter-spacing:-.02em;color:var(--sz-text);line-height:1.1}.sz-stat__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sz-stat__sub{font-size:var(--sz-fs-12);color:var(--sz-text-mute)}html,body{overflow-x:hidden;max-width:100vw}.crm-layout{display:flex;min-height:100vh;min-height:100svh;background:var(--sz-bg);font-family:var(--sz-font-sans);color:var(--sz-text)}.mobile-topbar{display:none}.mobile-menu-toggle{display:none;position:fixed;top:calc(16px + env(safe-area-inset-top,0px));left:calc(16px + env(safe-area-inset-left,0px));z-index:1001;background:var(--sz-bg-card);border:1px solid var(--sz-border);border-radius:var(--sz-radius-md);padding:8px;color:var(--sz-text);cursor:pointer;transition:background var(--sz-dur) var(--sz-ease)}.mobile-menu-toggle:hover{background:var(--sz-bg-subtle)}.mobile-menu-toggle:active{transform:scale(.95)}.mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999}.sidebar{width:248px;height:100vh;height:100svh;background:var(--sz-bg-card);border-right:1px solid var(--sz-border);display:flex;flex-direction:column;flex-shrink:0;padding-top:env(safe-area-inset-top,0px);transition:transform var(--sz-dur) var(--sz-ease)}.mobile-close{display:none}.sidebar-header{padding:18px 16px;border-bottom:1px solid var(--sz-border);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.sidebar-header .brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:32px;height:32px;border-radius:var(--sz-radius-md);background:var(--sz-brand);color:#fff;font-family:var(--sz-font-mono);font-weight:600;font-size:13px;letter-spacing:-.02em;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-header h2{font-size:var(--sz-fs-14);font-weight:600;color:var(--sz-text);letter-spacing:-.01em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.theme-toggle{background:transparent;border:none;color:var(--sz-text-soft);cursor:pointer;padding:6px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--sz-radius-md);transition:background var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease)}.theme-toggle:hover{background:var(--sz-bg-subtle);color:var(--sz-text)}.admin-badge{display:inline-block;font-family:var(--sz-font-mono);font-size:10px;font-weight:500;color:var(--sz-text-mute);text-transform:uppercase;letter-spacing:.06em;padding:1px 0;width:fit-content}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.nav-section{display:flex;flex-direction:column;gap:1px}.nav-section-label{font-family:var(--sz-font-mono);font-size:10px;font-weight:500;color:var(--sz-text-mute);text-transform:uppercase;letter-spacing:.08em;padding:4px 10px 6px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;border:none;border-radius:var(--sz-radius-md);color:var(--sz-text-soft);font-size:var(--sz-fs-13);font-weight:500;cursor:pointer;transition:background var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease);text-align:left;position:relative}.nav-item:hover,.nav-item.active{background:var(--sz-bg-subtle);color:var(--sz-text)}.nav-item.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:2px;background:var(--sz-brand);border-radius:var(--sz-radius-pill)}.nav-item.active .nav-icon{color:var(--sz-brand)}.nav-item .nav-icon{color:var(--sz-text-mute);transition:color var(--sz-dur) var(--sz-ease);display:inline-flex;align-items:center}.nav-item:hover .nav-icon{color:var(--sz-text-soft)}.nav-label{letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.nav-divider{height:1px;background:var(--sz-border);margin:8px 4px}.sidebar-footer{flex-shrink:0;padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--sz-border);background:var(--sz-bg-card)}.user-info{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--sz-bg-subtle);color:var(--sz-text);font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--sz-border)}.user-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.user-name{font-size:var(--sz-fs-13);font-weight:500;color:var(--sz-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-family:var(--sz-font-mono);font-size:10px;color:var(--sz-text-mute);text-transform:uppercase;letter-spacing:.05em}.logout-btn{width:100%;padding:7px 10px;background:transparent;border:1px solid var(--sz-border);border-radius:var(--sz-radius-md);color:var(--sz-text-soft);font-size:var(--sz-fs-12);font-weight:500;cursor:pointer;transition:background var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease),border-color var(--sz-dur) var(--sz-ease);display:inline-flex;align-items:center;justify-content:center;gap:6px}.logout-btn:hover{background:var(--sz-bg-subtle);border-color:var(--sz-border-strong);color:var(--sz-text)}.main-content{flex:1;height:100vh;height:100svh;overflow-y:auto;overflow-x:hidden;background:var(--sz-bg);padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.page-shell{width:100%;max-width:var(--sz-page-max);margin-inline:auto;padding-inline:var(--sz-page-pad-x);padding-block:var(--sz-page-pad-y);box-sizing:border-box}.page-shell--wide{max-width:1440px}@media (max-width: 768px){.mobile-topbar{display:flex;align-items:center;position:fixed;top:0;left:0;right:0;height:calc(56px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:8px;padding-right:12px;background:var(--sz-bg-card);border-bottom:1px solid var(--sz-border);z-index:1001;gap:8px}.mobile-topbar-title{flex:1;text-align:center;font-size:var(--sz-fs-14);font-weight:600;color:var(--sz-text);letter-spacing:-.01em}.mobile-topbar-role{font-weight:400;color:var(--sz-text-mute);font-size:var(--sz-fs-12)}.mobile-topbar.hidden{display:none}.mobile-topbar .mobile-menu-toggle{display:inline-flex;position:static;flex-shrink:0}.mobile-topbar .theme-toggle{flex-shrink:0}.mobile-menu-toggle{display:none}.mobile-overlay{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);z-index:1000;box-shadow:var(--sz-shadow-lg)}.sidebar.mobile-open{transform:translate(0)}.mobile-close{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--sz-text-soft);cursor:pointer;padding:6px;border-radius:var(--sz-radius-md);flex-shrink:0}.mobile-close:hover{background:var(--sz-bg-subtle);color:var(--sz-text)}.main-content{margin-left:0;padding-top:calc(60px + env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px);overflow-x:hidden}}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--sz-border-strong);border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--sz-text-mute)}.users-container{max-width:var(--sz-page-max);margin:0 auto;padding-bottom:32px}.users-container>*:not(.sz-pagehead){padding-left:24px;padding-right:24px}.users-segmented{display:inline-flex;margin-top:20px;background:var(--sz-bg-card);border:1px solid var(--sz-border);border-radius:var(--sz-radius-md);padding:3px;gap:2px;width:fit-content}.users-segmented-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:var(--sz-radius-sm);background:transparent;color:var(--sz-text-soft);font-family:inherit;font-size:var(--sz-fs-13);font-weight:500;cursor:pointer;transition:background var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease);white-space:nowrap}.users-segmented-btn:hover{color:var(--sz-text)}.users-segmented-btn.is-active{background:var(--sz-bg-subtle);color:var(--sz-text);box-shadow:inset 0 0 0 1px var(--sz-border)}.users-segmented-count{font-family:var(--sz-font-mono);font-size:11px;font-weight:500;padding:1px 6px;border-radius:var(--sz-radius-pill);background:var(--sz-bg-subtle);color:var(--sz-text-mute)}.users-segmented-btn.is-active .users-segmented-count{background:var(--sz-brand-soft);color:var(--sz-brand-ink)}@media (max-width: 640px){.users-segmented{display:flex;flex-direction:column;width:100%;margin-top:14px;padding:4px;gap:4px}.users-segmented-btn{width:100%;justify-content:space-between;padding:10px 12px;font-size:var(--sz-fs-14, 14px);white-space:normal;text-align:left;line-height:1.25}.users-segmented-count{flex-shrink:0}}.users-controls{display:flex;gap:10px;margin:12px 0 16px;flex-wrap:wrap}.users-search-wrap{position:relative;flex:0 1 480px;max-width:480px;max-height:3em}.search-input{flex:1;width:100%;padding:8px 12px;border:1px solid var(--sz-border);border-radius:var(--sz-radius-md);background:var(--sz-bg-card);color:var(--sz-text);font-size:var(--sz-fs-13);outline:none;transition:border-color var(--sz-dur) var(--sz-ease),box-shadow var(--sz-dur) var(--sz-ease)}.search-input--with-icon{padding-left:30px}.search-input:focus{border-color:var(--sz-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--sz-brand) 20%,transparent)}.filter-select{padding:8px 28px 8px 12px;border:1px solid var(--sz-border);border-radius:var(--sz-radius-md);font-size:var(--sz-fs-13);background:var(--sz-bg-card);color:var(--sz-text);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a85' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color var(--sz-dur) var(--sz-ease)}.filter-select:focus{border-color:var(--sz-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--sz-brand) 20%,transparent)}.users-table-container{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{width:100%;min-width:600px;border-collapse:collapse}.users-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border)}.users-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.users-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.users-table tbody tr:hover{background:var(--bg-secondary)}.users-table td{padding:12px;font-size:13px;color:var(--text-secondary)}.membership-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:500;text-transform:uppercase}.membership-badge.gold{background:var(--warning-bg);color:var(--warning-text)}.membership-badge.silver{background:var(--surface-hover);color:var(--text-secondary)}.membership-badge.bronze{background:#fed7aa;color:#9a3412}.membership-badge.basic{background:#dbeafe;color:#1e40af}.status-badge.active{background:var(--success-bg);color:var(--success-text)}.status-badge.expired{background:var(--error-bg);color:var(--error-text)}.role-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:500;text-transform:uppercase}.role-badge.admin{background:#ddd6fe;color:#5b21b6}.role-badge.user{background:#e0e7ff;color:#3730a3}.users-footer{margin-top:16px;text-align:center;color:var(--text-muted);font-size:12px}@media (max-width: 768px){.users-container{padding:16px}.users-controls{flex-direction:column}.users-table-container{overflow-x:auto}.users-table{min-width:800px}}.payments-container{max-width:1600px;margin:0 auto;padding-bottom:32px}.payments-container>*:not(.sz-pagehead){padding-left:24px;padding-right:24px}.payments-container>.payments-pkg-filters,.payments-container>.payments-section{margin-top:20px}@media (max-width: 768px){.payments-container>*:not(.sz-pagehead){padding-left:16px;padding-right:16px}}.payments-section{margin-bottom:40px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:4px}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:12px}}.section-header h2{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.025em}.section-stats{display:flex;flex-direction:column;align-items:flex-end}@media (max-width: 768px){.section-stats{align-items:flex-start}}.stat-value{font-size:20px;font-weight:600;color:var(--text-primary)}.stat-label{font-size:12px;color:var(--text-muted)}.payments-controls{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}@media (max-width: 768px){.payments-controls{flex-direction:column}}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--surface);color:var(--text-primary);cursor:pointer;outline:none;min-width:180px}.filter-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.payments-table-container{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow-x:auto}.payments-table{width:100%;border-collapse:collapse;min-width:1000px}.payments-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border)}.payments-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.payments-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.payments-table tbody tr:hover{background:var(--bg-secondary)}.payments-table td{padding:12px;font-size:13px;color:var(--text-secondary)}.user-cell{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:500;color:var(--text-primary)}.user-email{font-size:12px;color:var(--text-muted)}.amount{font-weight:600;color:var(--sz-success)}.source-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:500;text-transform:uppercase}.source-badge.online{background:var(--sz-info-soft);color:var(--sz-info)}.source-badge.cash,.source-badge.admin{background:var(--warning-bg);color:var(--warning-text)}.status-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:500;text-transform:uppercase}.status-badge.success{background:var(--success-bg);color:var(--success-text)}.status-badge.pending{background:var(--warning-bg);color:var(--warning-text)}.status-badge.failed{background:var(--error-bg);color:var(--error-text)}.no-data{text-align:center;padding:32px;color:var(--text-muted)}.payments-summary{margin-top:24px;padding:16px 18px;border:1px solid var(--sz-border);border-radius:var(--sz-radius-lg);background:var(--sz-bg-card)}.payments-summary-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px dashed var(--sz-border)}.payments-summary-title{font-size:var(--sz-fs-14);font-weight:600;color:var(--sz-text);letter-spacing:-.01em}.payments-summary-meta{font-size:var(--sz-fs-12);color:var(--sz-text-mute)}.payments-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.payments-summary-cell{display:flex;flex-direction:column;gap:4px}.payments-summary-label{font-family:var(--sz-font-mono);font-size:var(--sz-fs-11);font-weight:500;color:var(--sz-text-mute);text-transform:uppercase;letter-spacing:.06em}.payments-summary-value{font-family:var(--sz-font-mono);font-size:var(--sz-fs-22);font-weight:600;color:var(--sz-text);line-height:1.1;letter-spacing:-.02em}.payments-summary-value--small{font-size:var(--sz-fs-13);line-height:1.4;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.payments-summary-sub{font-size:var(--sz-fs-12);color:var(--sz-text-mute)}.payments-summary-pill{display:inline-block;padding:2px 8px;border-radius:var(--sz-radius-pill);font-size:var(--sz-fs-11);font-weight:600}.payments-summary-pill--pending{background:#a56a1a1f;color:var(--warning-text, #b45309)}.payments-summary-pill--failed{background:#b532321f;color:var(--error-text)}@media (max-width: 768px){.payments-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.payments-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:0 4px}.payments-footer p{margin:0;color:var(--text-muted);font-size:12px}.total-display{font-weight:600;color:var(--text-primary);font-size:13px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-size:14px;color:var(--text-muted)}.retry-btn{margin-top:12px;padding:8px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer}@media (max-width: 768px){.payments-container{padding:16px}.payments-controls{flex-direction:column}.filter-select{width:100%}.payments-table-container{overflow-x:auto}.payments-table{min-width:900px}}.payments-pkg-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.pkg-filter-btn{padding:7px 16px;border-radius:20px;border:1px solid rgba(148,163,184,.2);background:#ffffff0a;color:var(--text-muted);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s ease;white-space:nowrap}.pkg-filter-btn:hover{border-color:var(--sz-primary);background:#2a2a2714;color:var(--sz-primary)}.pkg-filter-btn.active{border-color:var(--sz-primary);background:var(--sz-primary);color:var(--sz-primary-text, #fff)}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{background:var(--sz-bg-subtle)}.sortable-th.sort-active{color:var(--sz-info)}.sort-arrow{font-size:10px;opacity:.6;margin-left:2px}.sort-active .sort-arrow{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#18171473;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:szFadeIn .18s var(--sz-ease)}@keyframes szFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--sz-bg-card);border-radius:var(--sz-radius-lg);border:1px solid var(--sz-border);box-shadow:var(--sz-shadow-lg);max-width:90vw;max-height:90vh;overflow:auto;animation:slideIn .2s var(--sz-ease)}.modal.small{width:400px}.modal.medium{width:600px}.modal.large{width:800px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:16px 20px;border-bottom:1px solid var(--sz-border);display:flex;justify-content:space-between;align-items:center;background:var(--sz-bg-card)}.modal-header h2{margin:0;font-size:var(--sz-fs-16);font-weight:600;color:var(--sz-text);letter-spacing:-.01em}.modal-close{background:transparent;border:none;font-size:18px;color:var(--sz-text-mute);cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--sz-radius-md);transition:background var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease)}.modal-close:hover{background:var(--sz-bg-subtle);color:var(--sz-text)}.modal-body{padding:20px;color:var(--sz-text)}.modal-footer{padding:14px 20px;border-top:1px solid var(--sz-border);display:flex;justify-content:flex-end;gap:8px;background:var(--sz-bg-card)}.confirm-message{margin:0 0 16px;color:var(--text-secondary);line-height:1.6}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group:last-child{margin-bottom:0}.modal-body label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:9px 12px;border:1px solid var(--sz-border);border-radius:var(--sz-radius-md);background:var(--sz-bg-card);color:var(--sz-text);font-family:inherit;font-size:var(--sz-fs-13);transition:border-color var(--sz-dur) var(--sz-ease),box-shadow var(--sz-dur) var(--sz-ease)}.modal-body input::placeholder,.modal-body select::placeholder,.modal-body textarea::placeholder{color:var(--sz-text-mute)}.modal-body input:hover,.modal-body select:hover,.modal-body textarea:hover{border-color:var(--sz-border-strong)}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{outline:none;border-color:var(--sz-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--sz-brand) 20%,transparent)}.modal-body textarea{resize:vertical;min-height:100px}.modal-body .error-message{color:#dc2626;font-size:13px;margin-top:6px}.modal-body .success-message{color:#059669;font-size:13px;margin-top:6px}.btn{padding:0 14px;height:34px;border:1px solid transparent;border-radius:var(--sz-radius-md);font-size:var(--sz-fs-13);font-weight:500;cursor:pointer;transition:background var(--sz-dur) var(--sz-ease),border-color var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease);display:inline-flex;align-items:center;gap:6px;font-family:inherit}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--sz-primary);color:#fff}.btn-secondary{background:var(--sz-bg-card);color:var(--sz-text);border-color:var(--sz-border)}.btn-danger{background:var(--sz-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#8f2525}.btn-success{background:var(--sz-success);color:#fff}@media (max-width: 768px){.modal.small,.modal.medium,.modal.large{width:95vw}.modal-header{padding:20px}.modal-header h2{font-size:16px}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column-reverse}.modal-footer .btn{width:100%;justify-content:center}}@media (max-width: 480px){.modal.small,.modal.medium,.modal.large{width:100vw;max-height:100vh;border-radius:0;margin-top:60px;margin-bottom:0}.modal-overlay{align-items:flex-start;padding-top:60px}.modal-header,.modal-body{padding:16px}}.alerts-view{max-width:1200px;margin:0 auto;padding-bottom:32px;animation:fadeIn .3s ease-in}.alerts-view>*:not(.sz-pagehead){padding-left:24px;padding-right:24px}.alerts-view>.alerts-stats{padding-top:20px}.alerts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.alerts-header-left{display:flex;align-items:center;gap:10px}.alerts-header h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.alerts-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--border);color:var(--text-secondary);font-size:12px;font-weight:600}.alerts-header-actions{display:flex;gap:8px;flex-wrap:wrap}.alerts-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.alerts-stat-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s;color:var(--text-secondary)}.alerts-stat-chip:hover{border-color:var(--border-secondary);background:var(--bg-secondary)}.alerts-stat-chip.active{border-color:currentColor;font-weight:600}.alerts-stat-chip.type-info.active{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.alerts-stat-chip.type-warning.active{background:#fffbeb;color:#b45309;border-color:#fcd34d}.alerts-stat-chip.type-critical.active{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.alerts-stat-chip.type-success.active{background:#f0fdf4;color:#16a34a;border-color:#86efac}.alerts-stat-chip.type-announcement.active{background:#f5f3ff;color:#7c3aed;border-color:#c4b5fd}.stat-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--surface-hover);font-size:11px;font-weight:700}.stat-targeted{margin-left:auto}.alerts-search{position:relative;margin-bottom:16px}.alerts-search input{width:100%;padding:9px 36px 9px 14px;border:1px solid var(--border);border-radius:8px;font-size:13px;outline:none;background:var(--surface);transition:border-color .15s}.alerts-search input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:14px;padding:4px;border-radius:4px}.search-clear:hover{color:var(--text-muted);background:var(--surface-hover)}.alerts-banner{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:16px;border:1px solid}.alerts-banner-success{background:#ecfdf5;color:var(--success-text);border-color:#6ee7b7}.alerts-banner-error{background:#fef2f2;color:var(--error-text);border-color:#fca5a5}.alerts-loading,.alerts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:12px;color:var(--text-muted);font-size:14px}.empty-icon{font-size:40px;margin-bottom:4px}.alerts-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.alerts-table{width:100%;border-collapse:collapse;font-size:13px}.alerts-table thead{background:var(--bg-secondary)}.alerts-table th{text-align:left;padding:10px 16px;font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.alerts-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}.alerts-table tbody tr:last-child td{border-bottom:none}.alerts-row{cursor:pointer;transition:background .1s;border-left:3px solid transparent}.alerts-row:hover{background:var(--bg-secondary)}.alerts-row.type-info{border-left-color:#3b82f6}.alerts-row.type-warning{border-left-color:#f59e0b}.alerts-row.type-critical{border-left-color:var(--error)}.alerts-row.type-success{border-left-color:#22c55e}.alerts-row.type-announcement{border-left-color:#8b5cf6}.alerts-row.expanded{background:var(--bg-secondary)}.alerts-type-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.alerts-type-badge.type-info{background:#eff6ff;color:#1d4ed8}.alerts-type-badge.type-warning{background:#fffbeb;color:#b45309}.alerts-type-badge.type-critical{background:#fef2f2;color:#dc2626}.alerts-type-badge.type-success{background:#f0fdf4;color:#16a34a}.alerts-type-badge.type-announcement{background:#f5f3ff;color:#7c3aed}.alerts-heading-cell strong{color:var(--text-primary);font-size:13px}.alerts-expanded-message{margin:6px 0 0;font-size:12px;color:var(--text-muted);line-height:1.5;white-space:pre-wrap}.audience-packages{display:flex;flex-wrap:wrap;gap:4px}.pkg-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;letter-spacing:.03em}.audience-all{font-size:12px;color:var(--text-muted)}.date-text{font-size:12px;color:var(--text-muted);white-space:nowrap}.col-actions{white-space:nowrap}.btn-icon{background:none;border:1px solid transparent;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:14px;transition:background .12s,border-color .12s}.btn-icon:hover{background:var(--surface-hover);border-color:var(--border)}.btn-icon-danger:hover{background:#fef2f2;border-color:#fca5a5}.col-type{width:120px}.col-heading{min-width:200px}.col-audience,.col-date{width:140px}.col-actions{width:90px;text-align:center}.alert-form-row{margin-bottom:16px}.alert-form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;outline:none;font-family:inherit;background:var(--surface);transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.form-hint{display:block;text-align:right;font-size:11px;color:var(--text-muted);margin-top:4px}.package-selector{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.package-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 16px;border:2px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;transition:all .15s;min-width:90px}.package-chip:hover{border-color:#93c5fd;background:#f0f9ff}.package-chip.active{border-color:var(--accent-primary);background:#eff6ff;box-shadow:0 0 0 1px var(--accent-primary)}.package-chip-code{font-size:15px;font-weight:700;color:var(--text-primary)}.package-chip.active .package-chip-code{color:#1d4ed8}.package-chip-name{font-size:10px;color:var(--text-muted);text-align:center}.package-chip.active .package-chip-name{color:#3b82f6}.alert-form-error{padding:8px 12px;border-radius:6px;background:#fef2f2;color:#dc2626;font-size:12px;font-weight:500;margin-top:8px;border:1px solid #fca5a5}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 768px){.alerts-view{padding:16px}.alerts-header{flex-direction:column;align-items:flex-start}.alerts-header-actions{width:100%}.alerts-header-actions .btn{flex:1;text-align:center}.alerts-stats{gap:6px}.alerts-stat-chip{font-size:11px;padding:4px 10px}.stat-targeted{margin-left:0}.alert-form-row.two-col{grid-template-columns:1fr}.alerts-table thead{display:none}.alerts-table,.alerts-table tbody,.alerts-table tr,.alerts-table td{display:block;width:100%}.alerts-table tr{padding:12px 14px;border-bottom:1px solid var(--border);border-left:3px solid transparent}.alerts-row.type-info{border-left-color:#3b82f6}.alerts-row.type-warning{border-left-color:#f59e0b}.alerts-row.type-critical{border-left-color:var(--error)}.alerts-row.type-success{border-left-color:#22c55e}.alerts-row.type-announcement{border-left-color:#8b5cf6}.alerts-table td{padding:4px 0;border-bottom:none}.col-type{width:auto}.col-heading{min-width:auto}.col-audience,.col-date{width:auto}.col-actions{width:auto;text-align:left;margin-top:8px}}@media (max-width: 480px){.package-chip{min-width:70px;padding:8px 10px}.package-chip-code{font-size:13px}}[data-theme=dark] .alerts-stat-chip.type-info.active{background:#3b82f626;color:#60a5fa;border-color:#3b82f6}[data-theme=dark] .alerts-stat-chip.type-warning.active{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b}[data-theme=dark] .alerts-stat-chip.type-critical.active{background:#ef444426;color:#f87171;border-color:#ef4444}[data-theme=dark] .alerts-stat-chip.type-success.active{background:#10b98126;color:#4ade80;border-color:#10b981}[data-theme=dark] .alerts-stat-chip.type-announcement.active{background:#8b5cf626;color:#a78bfa;border-color:#8b5cf6}[data-theme=dark] .alerts-row.type-info{border-left-color:#3b82f6}[data-theme=dark] .alerts-row.type-warning{border-left-color:#f59e0b}[data-theme=dark] .alerts-row.type-critical{border-left-color:#ef4444}[data-theme=dark] .alerts-row.type-success{border-left-color:#10b981}[data-theme=dark] .alerts-row.type-announcement{border-left-color:#8b5cf6}[data-theme=dark] .alerts-type-badge.type-info{background:#3b82f633;color:#60a5fa}[data-theme=dark] .alerts-type-badge.type-warning{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .alerts-type-badge.type-critical{background:#ef444433;color:#f87171}[data-theme=dark] .alerts-type-badge.type-success{background:#10b98133;color:#4ade80}[data-theme=dark] .alerts-type-badge.type-announcement{background:#8b5cf633;color:#a78bfa}[data-theme=dark] .alerts-table tr{border-bottom-color:var(--border)}.feedback-view{padding-bottom:32px}.feedback-view-body{padding:20px 24px 0}.feedback-loading{color:var(--sz-text-soft);padding:20px 0}.feedback-table{width:100%;border-collapse:collapse;background:var(--surface);box-shadow:0 2px 8px #0000000a}.feedback-table th,.feedback-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);text-align:left}.feedback-table th{background:var(--bg-secondary);font-weight:600}.feedback-table tr:last-child td{border-bottom:none}.feedback-table .error{color:#c00;margin:1rem 0}.feedback-view{color:var(--text-primary)}.feedback-table{background:var(--surface);color:var(--text-primary)}.feedback-table th,.feedback-table td{border-bottom:1px solid var(--border);color:var(--text-secondary)}.feedback-table th{background:var(--bg-secondary);color:var(--text-muted)}.feedback-table thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.025em}@media (max-width: 768px){.feedback-view{padding:1rem;overflow-x:auto}.feedback-table{min-width:600px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface);border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid var(--border)}.modal-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:28px;color:var(--text-muted);cursor:pointer;padding:4px 12px;line-height:1;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.create-user-form{padding:32px}.form-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--border)}.form-section:last-of-type{border-bottom:none}.section-title{font-size:18px;font-weight:600;color:var(--accent-primary);margin:0 0 20px;display:flex;align-items:center;justify-content:space-between}.btn-secondary-small{font-size:13px;padding:6px 14px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--accent-primary);cursor:pointer;transition:all .2s}.btn-secondary-small:hover{background:var(--surface-hover);border-color:var(--accent-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-row:last-child{margin-bottom:0}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column}.form-group label{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:15px;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f626}.form-group input:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-hover)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group textarea{resize:vertical;min-height:80px}.password-input{display:flex;gap:10px}.password-input input{flex:1}.generate-btn{padding:12px 20px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:10px;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.generate-btn:hover{background:#3b82f633;border-color:#3b82f680}.form-checkboxes{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--surface-hover);border:1px solid var(--border);border-radius:10px}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;color:var(--text-secondary);font-size:15px;font-weight:500;transition:color .2s}.checkbox-label:hover{color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}.error-message{font-size:13px;color:#ef4444;margin-top:6px;display:block}.error-banner{padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#ef4444;font-size:14px;margin-bottom:20px;text-align:center}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;border-top:1px solid var(--border);margin-top:24px}.btn-primary,.btn-secondary{padding:14px 32px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:none;min-width:140px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-secondary{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6}.btn-secondary:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-content-enhanced{min-height:400px}.progress-tracker{padding:32px}.progress-steps{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.progress-step{display:flex;gap:20px;position:relative}.step-indicator{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.step-number{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#3b82f61a;border:2px solid rgba(59,130,246,.3);transition:all .3s ease}.step-number-text{font-size:18px;font-weight:700;color:var(--text-muted)}.progress-step-loading .step-number{background:#3b82f633;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.progress-step-success .step-number{background:#10b98133;border-color:#10b981}.progress-step-failed .step-number{background:#ef444433;border-color:#ef4444}.progress-step-skipped .step-number{background:#94a3b81a;border-color:#94a3b84d}.step-connector{width:2px;height:40px;background:var(--border);margin-top:8px;transition:background .3s ease}.step-connector-complete{background:#10b981}.step-content{flex:1;padding-top:8px}.step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.step-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.step-status{font-size:13px;font-weight:500;padding:4px 12px;border-radius:12px}.step-status-loading{background:#3b82f633;color:#60a5fa}.step-status-success{background:#10b98133;color:#34d399}.step-status-error{background:#ef444433;color:#f87171}.step-status-skipped{background:#94a3b81a;color:#94a3b8}.step-icon{width:28px;height:28px}.step-icon-success{color:#10b981}.step-icon-error{color:#ef4444}.step-icon-skipped{color:#94a3b8}.step-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:16px;margin-top:12px}.step-error-message{color:#fca5a5;font-size:14px;margin:0 0 12px}.btn-retry{display:inline-flex;align-items:center;gap:8px;background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-retry:hover:not(:disabled){background:#ef44444d;border-color:#ef444499;transform:translateY(-1px)}.btn-retry:disabled{opacity:.5;cursor:not-allowed}.spinner-small{width:24px;height:24px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.progress-success{text-align:center;padding:32px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:16px;margin-bottom:24px}.success-icon{width:64px;height:64px;margin:0 auto 16px;background:#10b98133;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#10b981}.progress-success h3{font-size:20px;font-weight:700;color:#10b981;margin:0 0 8px}.progress-success p{font-size:14px;color:var(--text-muted);margin:0 0 16px}.staff-credentials{background:#00000040;border:1px solid rgba(16,185,129,.4);border-radius:10px;padding:16px 20px;margin-top:4px;text-align:left}.cred-row{display:flex;align-items:center;gap:10px;padding:6px 0}.cred-row+.cred-row{border-top:1px solid rgba(255,255,255,.06)}.cred-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:70px}.cred-value{font-size:14px;color:#e2e8f0;word-break:break-all}.cred-password{font-family:Courier New,Courier,monospace;font-size:14px;color:#10b981;letter-spacing:.05em;font-weight:600}.staff-password-display{display:flex;align-items:center;gap:10px}.staff-password-display input[readonly]{flex:1;font-family:Courier New,Courier,monospace;font-size:13px;color:#10b981;letter-spacing:.05em;cursor:default;background:#10b98112;border-color:#10b9814d}.staff-password-display button{flex-shrink:0;padding:8px 14px;font-size:12px;white-space:nowrap}.form-section-hikvision{background:var(--surface-hover);border:1px solid var(--border);border-radius:12px;padding:24px}.icon-hikvision{font-size:20px;margin-right:8px}.field-hint{display:block;font-size:12px;color:var(--sz-text-mute, var(--text-muted));margin-top:6px;font-style:italic}.field-hint-inline{font-weight:400;font-size:11px;font-family:var(--sz-font-mono, monospace);color:var(--sz-text-mute, var(--text-muted));text-transform:none;letter-spacing:0;margin-left:6px}.price-override-row{display:flex;gap:8px;align-items:stretch}.price-override-row input{flex:1;min-width:0}.price-override-row .btn-secondary-small{flex-shrink:0;white-space:nowrap}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--bg-primary)}.modal-content::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#3b82f680}@media (max-width: 768px){.modal-overlay{padding:50px 0 0;align-items:flex-start}.modal-content{max-height:calc(100vh - 50px);border-radius:0;margin:0;width:100%}.modal-header,.create-user-form{padding:20px}.section-title{font-size:16px;flex-direction:column;align-items:flex-start;gap:12px}.modal-footer{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.settings-container{transition:var(--theme-transition);padding:24px;max-width:1400px;margin:0 auto}.settings-header h1{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 20px}.message-banner{padding:12px 16px;border-radius:4px;margin-bottom:20px;font-size:13px;font-weight:500;border:1px solid}.message-banner.success{background:var(--success-bg);color:var(--success-text);border-color:#10b981}.message-banner.error{background:var(--error-bg);color:var(--error-text);border-color:var(--error)}.settings-content{background:var(--surface);padding:20px;border:1px solid var(--border);border-radius:4px}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.content-header h2{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.025em}.section-description{color:var(--text-muted);font-size:13px;margin-top:8px;line-height:1.5}.action-btn{padding:8px 16px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;background:var(--surface-hover);color:var(--text-secondary)}.action-btn:hover{background:var(--border)}.action-btn.primary{background:var(--accent-primary);color:#fff}.action-btn.primary:hover{background:#2563eb}.action-btn.danger{background:var(--error);color:#fff}.action-btn.danger:hover{background:#b91c1c}.action-btn.small{padding:6px 12px;font-size:12px}.action-btn:disabled{opacity:.6;cursor:not-allowed}.users-list{display:grid;gap:12px}.user-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border)}.user-info h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.user-info p{font-size:13px;color:var(--text-muted);margin:0 0 8px}.user-badges{display:flex;gap:6px}.badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:500;text-transform:uppercase}.badge.gold{background:var(--warning-bg);color:var(--warning-text)}.badge.silver{background:var(--surface-hover);color:var(--text-secondary)}.badge.bronze{background:#fed7aa;color:#9a3412}.badge.basic{background:#dbeafe;color:#1e40af}.badge.active{background:var(--success-bg);color:var(--success-text)}.badge.expired{background:var(--error-bg);color:var(--error-text)}.user-actions{display:flex;gap:6px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--surface);padding:24px;border-radius:4px;max-width:560px;width:90%;max-height:90vh;overflow-y:auto;border:1px solid var(--border)}.modal-content h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);font-size:13px;outline:none;font-family:inherit;background:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.form-group input:disabled{background:var(--surface-hover);color:var(--text-muted);cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}@media (max-width: 768px){.settings-container{padding:16px}.user-card{flex-direction:column;align-items:flex-start}.user-actions{margin-top:12px}.form-row{grid-template-columns:1fr}.modal-content{padding:20px}}.data-view{animation:fadeIn .3s ease-in;max-width:var(--sz-page-max);margin:0 auto;padding-bottom:32px}.data-view>*:not(.sz-pagehead){padding-left:24px;padding-right:24px}.data-view>.tr-section-header,.data-view>.table-container,.data-view>.error-box,.data-view>.success-box{margin-top:20px}.page-container{max-width:var(--sz-page-max);margin:0 auto;padding-bottom:32px;animation:fadeIn .3s ease-in}.page-container>*:not(.sz-pagehead){padding-left:24px;padding-right:24px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:16px}.page-header h1{margin:0;font-size:24px;font-weight:700;color:var(--text-primary);flex:1;min-width:160px}.page-header .page-subtitle{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.page-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.data-view-container{max-width:var(--sz-page-max);margin:0 auto;padding-bottom:32px;animation:fadeIn .3s ease-in}.data-view-container>.gt-body{padding:20px 24px 0}.data-view-container>.error-banner{margin:16px 24px 0}@media (max-width: 768px){.data-view-container{padding:20px}.data-view,.page-container{overflow-x:hidden}.data-view>*:not(.sz-pagehead),.page-container>*:not(.sz-pagehead){padding-left:20px;padding-right:20px}.page-header{margin-bottom:20px}.page-header h1{font-size:20px}}@media (max-width: 480px){.data-view-container{padding:16px}.data-view>*:not(.sz-pagehead),.page-container>*:not(.sz-pagehead){padding-left:16px;padding-right:16px}}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:20px}.view-header h2{margin:0;font-size:24px;font-weight:700;color:var(--text-primary);flex:1;min-width:200px}.view-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.view-controls label{font-size:14px;font-weight:600;color:var(--text-secondary)}.view-controls select{padding:10px 14px;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.view-controls select:hover{border-color:var(--border-secondary)}.view-controls select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f614}.refresh-button{background:var(--sz-bg-card);color:var(--sz-text);padding:0 14px;height:34px;border-radius:var(--sz-radius-md);font-weight:500;border:1px solid var(--sz-border);cursor:pointer;transition:background var(--sz-dur) var(--sz-ease),border-color var(--sz-dur) var(--sz-ease);font-size:var(--sz-fs-13);display:inline-flex;align-items:center;gap:6px}.refresh-button:hover:not(:disabled){background:var(--sz-bg-subtle);border-color:var(--sz-border-strong)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.btn{padding:10px 18px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--sz-info);color:#fff;box-shadow:0 2px 4px #2f5d8633}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #2f5d864d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border);border-color:var(--border-secondary)}.btn-danger{background:var(--sz-danger);color:#fff;box-shadow:0 2px 4px #b5323233}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #b532324d}.btn-success{background:var(--sz-success);color:#fff;box-shadow:0 2px 4px #3f7a3f33}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3f7a3f4d}.error-box{background:var(--error-bg);border:1px solid var(--error);border-left:4px solid var(--error);padding:16px 20px;margin-bottom:20px;border-radius:8px;color:var(--error-text);font-size:14px;line-height:1.6}.success-box{background:linear-gradient(135deg,#10b98114,#10b9810a);border:1px solid rgba(16,185,129,.2);border-left:4px solid #10b981;padding:16px 20px;margin-bottom:20px;border-radius:8px;color:var(--success-text);font-size:14px;line-height:1.6;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;min-height:300px}.loading-state .spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:var(--text-muted);font-size:14px}.empty-state{background:var(--surface);border:2px dashed var(--border);border-radius:12px;padding:60px 20px;text-align:center;color:var(--text-muted);font-size:16px;min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.empty-state svg{width:48px;height:48px;opacity:.3}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:24px;box-shadow:0 1px 3px #0000000a}.data-table{width:100%;min-width:800px;border-collapse:collapse}.data-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border)}.data-table th{padding:16px 20px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:16px 20px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:14px}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:var(--bg-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.date-cell,.time-cell{white-space:nowrap;font-weight:500}.type-cell{color:var(--sz-info);font-weight:600}.center{text-align:center}.participants details{cursor:pointer;-webkit-user-select:none;user-select:none}.participants summary{color:var(--sz-info);font-weight:600;padding:4px;list-style:none}.participants summary::-webkit-details-marker{display:none}.participants summary:before{content:"▶ ";margin-right:4px;transition:transform .2s}.participants[open] summary:before{transform:rotate(90deg)}.participant-list{list-style:none;margin-top:12px;padding-left:20px}.participant-list li{padding:6px 0;color:var(--text-muted);font-size:13px}.participant-item{display:flex;justify-content:space-between;align-items:center;gap:12px}.participant-item span{flex:1}.actions{display:flex;gap:8px;justify-content:center}.btn-icon{background:none;border:none;font-size:16px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{transform:scale(1.15)}.btn-icon.btn-edit{color:var(--sz-info);background:#2f5d861a}.btn-icon.btn-edit:hover{background-color:#2f5d862e}.btn-icon.btn-delete{color:var(--sz-danger);background:#b532321a}.btn-icon.btn-delete:hover{background-color:#b532322e}.btn-icon.btn-success{color:var(--sz-success);background:#3f7a3f1a}.btn-icon.btn-success:hover{background-color:#3f7a3f2e}.btn-icon.btn-warning{color:var(--sz-warning);background:#a56a1a1a}.btn-icon.btn-warning:hover{background-color:#a56a1a2e}.btn-icon.btn-small{font-size:12px;padding:4px 8px}.badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.badge.booked{background:#a56a1a1f;color:var(--warning-text, #b45309)}.badge.available{background:#3f7a3f1f;color:var(--success-text)}.badge.full{background:#b532321f;color:var(--error-text)}.badge.badge-primary{background:#2f5d861f;color:var(--info-text, #1e40af)}.badge.badge-secondary{background:#64748b1f;color:var(--text-secondary)}.badge.badge-success{background:#3f7a3f1f;color:var(--success-text)}.badge.badge-warning{background:#a56a1a1f;color:var(--warning-text, #b45309)}.badge.badge-danger{background:#ef44441f;color:var(--error-text)}.badge.badge-muted{background:#64748b14;color:var(--text-muted)}.email-cell{font-size:13px;color:var(--text-muted);word-break:break-word}.text-muted{color:var(--text-muted);font-size:13px;font-style:italic}.alerts-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:24px}.alert-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.alert-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #3b82f61f;transform:translateY(-2px)}.alert-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.alert-header h3{margin:0;color:var(--text-primary);font-size:16px;font-weight:600;flex:1;line-height:1.4}.alert-actions{display:flex;gap:8px}.alert-time{color:var(--text-muted);font-size:12px;white-space:nowrap}.alert-message{color:var(--text-muted);font-size:14px;margin-bottom:16px;line-height:1.6}.alert-meta{display:flex;gap:12px;flex-wrap:wrap}.alert-id{background:var(--surface-hover);padding:4px 10px;border-radius:6px;font-size:11px;color:var(--text-muted);font-weight:500}.limitation-notice{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-bottom:24px}.notice-card{background:var(--surface);border-radius:12px;padding:24px;border-left:5px solid;animation:slideUp .3s ease-in;box-shadow:0 1px 3px #0000000a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.notice-card.warning{border-left-color:#f59e0b;background:linear-gradient(135deg,#f59e0b0f,#f59e0b05)}.notice-card.info{border-left-color:#3b82f6;background:linear-gradient(135deg,#3b82f60f,#3b82f605)}.notice-card.success{border-left-color:#10b981;background:linear-gradient(135deg,#10b9810f,#10b98105)}.notice-card h3{margin-top:0;margin-bottom:12px;color:var(--text-primary);font-size:16px;font-weight:600}.notice-card p,.notice-card li{margin:8px 0;color:var(--text-muted);font-size:14px;line-height:1.6}.notice-card ul,.notice-card ol{margin-left:20px}.endpoint-reference{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000a}.endpoint-reference h3{margin-top:0;margin-bottom:20px;color:var(--text-primary);font-size:18px;font-weight:700}.endpoint-list{display:grid;gap:12px}.endpoint{display:flex;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.endpoint-badge{padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;height:fit-content}.endpoint-badge.post{background:#10b9811f;color:var(--success-text)}.endpoint-badge.get{background:#3b82f61f;color:#1e40af}.endpoint-badge.put{background:#f59e0b1f;color:#b45309}.endpoint-badge.delete{background:#ef44441f;color:#7f1d1d}.endpoint-details{flex:1}.endpoint-details code{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:#1e40af;font-family:Courier New,monospace}.endpoint-details p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}@media (max-width: 768px){.view-header{flex-direction:column;align-items:flex-start;margin-bottom:24px}.view-controls{width:100%;gap:8px}.alerts-container,.limitation-notice{grid-template-columns:1fr}.table-container{font-size:13px;border-radius:8px}.data-table th,.data-table td{padding:12px 16px}.endpoint{flex-direction:column;gap:12px}}@media (max-width: 480px){.view-header h2{font-size:20px}.table-container{margin-bottom:16px}.data-table th,.data-table td{padding:10px 12px;font-size:12px}.alerts-container{gap:16px}.alert-card{padding:16px}}.stats-grid{display:grid;gap:16px;margin-bottom:24px}.stat-card{background:var(--sz-bg-card);padding:16px 18px;border:1px solid var(--sz-border);border-radius:var(--sz-radius-lg);text-align:left;transition:border-color var(--sz-dur) var(--sz-ease),box-shadow var(--sz-dur) var(--sz-ease)}.stat-card:hover{border-color:var(--sz-border-strong);box-shadow:var(--sz-shadow-sm)}.stat-label{font-family:var(--sz-font-mono);font-size:var(--sz-fs-11);font-weight:500;color:var(--sz-text-mute);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;display:block}.stat-value{font-family:var(--sz-font-mono);font-size:var(--sz-fs-28);font-weight:600;color:var(--sz-text);line-height:1.1;letter-spacing:-.02em}.time-ago{color:var(--text-muted);font-size:13px;font-style:italic}.hik-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;background:var(--surface);padding:8px;border-radius:10px;border:1px solid var(--border)}.hik-tab-btn{padding:12px 24px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.hik-tab-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.hik-tab-btn.active{background:var(--sz-primary);color:var(--sz-primary-text, #fff);font-weight:600;box-shadow:0 2px 4px #00000026}[data-theme=light] .hik-tab-btn.active{background:var(--sz-primary);color:var(--sz-primary-text, #fff)}.hik-tab-content{animation:hik-fade .15s ease}@keyframes hik-fade{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hik-sub-tabs{display:flex;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.hik-sub-tab-btn{padding:10px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.hik-sub-tab-btn:hover{border-color:var(--sz-primary);color:var(--sz-primary)}.hik-sub-tab-btn.active{background:var(--sz-primary);border-color:var(--sz-primary);color:var(--sz-primary-text, #fff);font-weight:600}.hik-sub-content{padding-top:4px}.hik-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:16px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.hik-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.hik-search{flex:1 1 200px;max-width:480px;min-width:0;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;max-height:2em}.hik-toolbar--filters{flex-wrap:wrap;row-gap:8px}.hik-filter-group{display:inline-flex;gap:4px;flex:0 0 auto}.hik-filter-group .btn--compact{font-size:12px;padding:4px 10px}.hik-filter-select{max-width:340px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface);color:var(--text-primary);outline:none;transition:border-color .15s}.hik-search:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.hik-door-td{vertical-align:middle;text-align:center}.hik-door-cell{display:flex;flex-direction:column;align-items:center;gap:6px}.hik-sync-btn{font-size:12px;padding:4px 12px;border-radius:6px;white-space:nowrap}.hik-door-error{font-size:11px;color:#dc2626;margin-top:2px;cursor:help}.hik-update-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;min-height:440px}.hik-update-list{border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--bg-secondary);display:flex;flex-direction:column}.hik-user-list-scroll{overflow-y:auto;max-height:360px;flex:1}.hik-user-list-item{padding:10px 12px;border-radius:8px;cursor:pointer;margin-bottom:4px;transition:background .1s}.hik-user-list-item:hover{background:#ede9fe}.hik-user-list-item.selected{background:#6366f1;color:#fff}.hik-user-list-item.selected .hik-mono{background:#ffffff26;color:#e9e8ff}.hik-edit-form{border:1px solid var(--border);border-radius:10px;padding:20px 24px;background:var(--surface)}.hik-form-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:18px}.hik-form-grid{display:grid;grid-template-columns:160px 1fr;gap:10px 14px;align-items:center;margin-bottom:18px}.hik-form-label{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.hik-form-input{padding:7px 12px;border:1px solid var(--border);border-radius:7px;font-size:13px;color:var(--text-primary);background:var(--surface);outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}.hik-form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.hik-form-input:disabled{background:var(--surface-hover);color:var(--text-muted)}.hik-check-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.hik-check-danger{color:#dc2626}.hik-form-actions{display:flex;gap:10px}.hik-schedule-table{border-collapse:collapse;width:100%;max-width:520px}.hik-schedule-table th{text-align:left;padding:8px 14px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;border-bottom:2px solid var(--border)}.hik-schedule-table td{padding:9px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.hik-sched-day{font-weight:500;color:var(--text-primary);width:140px}.hik-sched-disabled .hik-sched-day{color:var(--text-muted);text-decoration:line-through}.hik-time-input{padding:5px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary);outline:none;background:var(--surface);transition:border-color .15s}.hik-time-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.hik-time-input:disabled{background:var(--surface-hover);color:#cbd5e1}.hik-user-name{font-weight:600;color:var(--text-primary);font-size:14px}.hik-mono{font-family:Courier New,Courier,monospace;font-size:13px;color:var(--text-secondary);background:#6366f112;padding:2px 6px;border-radius:4px}.hik-empty{text-align:center;color:var(--text-muted);padding:40px 0;font-style:italic}.page-subtitle{font-size:13px;color:var(--text-muted);margin-top:2px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 900px){.hik-update-layout{grid-template-columns:1fr;min-height:auto}.hik-form-grid{grid-template-columns:1fr}.hik-form-label{margin-top:4px}.hik-schedule-table{max-width:100%}}@media (max-width: 600px){.hik-tabs{gap:4px;flex-wrap:wrap}.hik-tab-btn{padding:8px 12px;font-size:12px;flex:1 1 auto;text-align:center;min-width:0}.hik-sub-tabs{flex-wrap:wrap;gap:4px}.hik-sub-tab-btn{padding:6px 10px;font-size:11px;flex:1 1 auto;text-align:center}.hik-panel-header{flex-direction:column;align-items:flex-start;gap:8px}.hik-toolbar{flex-direction:column;gap:8px}.hik-toolbar--filters{flex-direction:column;align-items:stretch}.hik-search{max-width:100%;width:100%}.hik-filter-group{width:100%;flex-wrap:wrap}.hik-filter-group .btn--compact{flex:1 1 0;text-align:center}.data-table,.hik-schedule-table{min-width:520px}.hik-update-list{padding:10px}.hik-edit-form{padding:14px 16px}.hik-form-actions{flex-direction:column}.hik-form-actions .btn{width:100%;text-align:center}.hik-time-input{width:100%}.hik-sched-day{width:auto}}.coupon-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;background:var(--surface);padding:4px;border-radius:8px 8px 0 0}.coupon-tab{padding:12px 20px;background:none;border:none;border-radius:6px;margin-bottom:0;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .15s}.coupon-tab:hover{border-color:var(--sz-primary);color:var(--sz-primary)}.coupon-tab.active{background:var(--sz-primary);color:var(--sz-primary-text, #fff);font-weight:600;box-shadow:0 2px 4px #00000026}.coupon-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.coupon-discount-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:20px;background:var(--accent-primary);color:#fff;font-weight:700;font-size:13px;min-width:48px}[data-theme=dark] .coupon-discount-badge{background:#3b82f64d;color:#60a5fa}.coupon-action-btn{font-size:12px;padding:6px 14px;border-radius:6px;white-space:nowrap;background:var(--surface);border:1px solid var(--border)}.coupon-action-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.coupon-actions{display:flex;gap:6px;flex-wrap:wrap}.coupon-row-used td{opacity:.65;background:var(--bg-secondary)}.coupon-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.coupon-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:440px;display:flex;flex-direction:column;overflow:hidden}.coupon-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.coupon-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.coupon-modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-muted);line-height:1;padding:4px}.coupon-modal-close:hover{color:var(--text-primary)}.coupon-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.coupon-modal-body .form-group{display:flex;flex-direction:column;gap:6px}.coupon-modal-body label{font-size:13px;font-weight:500;color:var(--text-primary)}.coupon-modal-body input,.coupon-modal-body select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface);color:var(--text-primary)}.coupon-modal-body input:focus,.coupon-modal-body select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f626}.coupon-modal-body select{cursor:pointer}.coupon-modal-user{margin:0 0 4px;font-size:14px;color:var(--text-secondary)}.coupon-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-hover)}.coupon-modal-footer .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.coupon-modal-footer .btn-primary{background:var(--sz-primary);color:var(--sz-primary-text, #fff);border:none}.coupon-modal-footer .btn-primary:hover{background:var(--sz-primary-hover)}.coupon-modal-footer .btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.coupon-modal-footer .btn-secondary:hover{background:var(--surface-hover)}.coupon-modal-footer .btn-danger{background:var(--sz-danger);color:var(--sz-primary-text, #fff);border:none}.coupon-modal-footer .btn-danger:hover{background:var(--sz-danger-hover)}.multi-use-usage-row td{padding:0!important;background:var(--bg-secondary);border-top:none}.multi-use-usage-panel{padding:16px 20px 20px;border-top:2px solid var(--border)}.multi-use-usage-panel strong{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:10px}.multi-use-usage-table{margin:0;font-size:13px}.multi-use-usage-table th,.multi-use-usage-table td{padding:7px 12px}.text-danger{color:var(--error)}@media (max-width: 768px){.coupon-tabs{display:flex;flex-direction:column;border-bottom:none;border-radius:8px;padding:4px;gap:4px;background:var(--surface);border:1px solid var(--border)}.coupon-tab{width:100%;text-align:left;padding:10px 14px;white-space:normal;line-height:1.25}.coupon-toolbar{flex-wrap:wrap}.coupon-toolbar .search-input{width:100%;min-width:unset}}@media (max-width: 480px){.coupon-modal{max-width:100%;border-radius:16px 16px 0 0}.coupon-modal-backdrop{align-items:flex-end;padding:0}}.analytics-container{max-width:1600px;margin:0 auto;font-family:var(--sz-font-sans);background:var(--sz-bg);color:var(--sz-text);padding-bottom:32px}.analytics-container>*:not(.sz-pagehead){padding-left:24px;padding-right:24px}.analytics-container>.kpi-grid,.analytics-container>.crm-section{margin-top:20px}.refresh-btn{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:6px 12px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .1s;font-weight:500}.refresh-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--text-muted)}.refresh-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.cta-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:20px}.cta-card{background:var(--surface);padding:12px 14px;border:1px solid var(--border);border-radius:2px;display:flex;flex-direction:column;gap:6px;transition:all .1s ease;cursor:default}.cta-card.clickable{cursor:pointer}.cta-card.clickable:hover{border-color:var(--accent-primary);background:var(--surface-hover)}.cta-icon{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:2px}.cta-content{display:flex;flex-direction:column;gap:0}.cta-value{font-size:24px;font-weight:600;color:var(--text-primary);line-height:1;letter-spacing:-.02em}.cta-label{font-size:11px;font-weight:500;color:var(--text-muted);margin-top:4px;line-height:1.3}.crm-section{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:0;margin-bottom:16px;overflow:hidden;transition:var(--theme-transition)}.crm-section h2{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary);letter-spacing:-.01em}.warning-crm h2{background:var(--warning-bg);border-bottom-color:var(--border);color:var(--warning-text)}.crm-table-container{overflow-x:auto}.crm-table{width:100%;border-collapse:collapse}.crm-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border)}.crm-table th{padding:8px 16px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.crm-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .1s ease}.crm-table tbody tr:hover{background-color:var(--surface-hover)}.crm-table tbody tr.clickable-row{cursor:pointer}.crm-table tbody tr:last-child{border-bottom:none}.crm-table td{padding:10px 16px;font-size:13px;color:var(--text-secondary);vertical-align:middle}.member-cell{display:flex;align-items:center;gap:10px}.member-avatar{width:26px;height:26px;border-radius:50%;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0;overflow:hidden}.member-avatar-img{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);flex-shrink:0;object-fit:cover}.member-name{font-weight:500;color:var(--text-primary)}.status-badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.badge-active{background:var(--success-bg);color:var(--success-text)}.badge-trial{background:#3b82f626;color:#60a5fa}[data-theme=dark] .badge-trial{background:#3b82f633;color:#93c5fd}.badge-expiring{background:var(--warning-bg);color:var(--warning-text)}.badge-inactive{background:var(--inactive-bg);color:var(--inactive-text)}.badge-default{background:var(--border);color:var(--text-muted)}.card-badge{display:inline-block;padding:2px 6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:2px;font-size:11px;font-weight:500;color:var(--text-muted);font-family:SF Mono,Monaco,Courier New,monospace}.capacity-badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:11px;font-weight:500}.time-indicator{color:var(--text-muted);font-size:12px;font-weight:400}.no-data-cell{text-align:center;color:var(--text-muted);font-size:13px;padding:32px!important}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-size:13px;color:var(--text-muted)}.retry-btn{margin-top:12px;padding:8px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:2px;cursor:pointer;font-size:13px;font-weight:500;transition:background .1s}.retry-btn:hover{background:var(--accent-hover)}.retry-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.analytics-section{background:var(--surface);padding:16px;border:1px solid var(--border);border-radius:2px;margin-bottom:16px;transition:var(--theme-transition)}.analytics-section h2{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px;letter-spacing:-.01em}.membership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.membership-card{padding:12px;border-radius:2px;border:1px solid var(--border);transition:border-color .1s,var(--theme-transition);display:flex;flex-direction:column;gap:6px;background:var(--surface)}.membership-card.clickable{cursor:pointer}.membership-card.clickable:hover{border-color:var(--text-muted);background:var(--surface-hover)}.membership-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.membership-count{font-size:28px;font-weight:600;color:var(--text-primary);line-height:1;letter-spacing:-.02em}.crm-grid-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}@media (max-width: 768px){.analytics-container{padding:12px}.cta-grid{grid-template-columns:repeat(2,1fr);gap:6px}.cta-card{padding:10px}.cta-value{font-size:20px}.cta-label{font-size:10px}.crm-grid-layout{grid-template-columns:1fr;gap:12px}.membership-grid{grid-template-columns:repeat(2,1fr)}.crm-table{font-size:12px}.crm-table th,.crm-table td{padding:8px 12px}.member-avatar{width:28px;height:28px;font-size:11px}}@media (min-width: 769px) and (max-width: 1200px){.cta-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1201px){.cta-grid{grid-template-columns:repeat(8,1fr)}}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}@media (max-width: 1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{background:var(--sz-bg-card);border:1px solid var(--sz-border);border-radius:var(--sz-radius-lg);padding:16px 18px;transition:border-color var(--sz-dur) var(--sz-ease),box-shadow var(--sz-dur) var(--sz-ease);display:flex;flex-direction:column;gap:10px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:var(--sz-border-strong);box-shadow:var(--sz-shadow-sm)}.kpi-label{font-family:var(--sz-font-mono);font-size:var(--sz-fs-11);font-weight:500;color:var(--sz-text-mute);text-transform:uppercase;letter-spacing:.08em}.kpi-value{font-family:var(--sz-font-mono);font-size:var(--sz-fs-28);font-weight:600;color:var(--sz-text);line-height:1.1;letter-spacing:-.02em}.kpi-unit{font-size:var(--sz-fs-14);font-weight:500;color:var(--sz-text-soft);margin-left:4px}.door-checkins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.door-panel .door-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.door-panel .door-panel-header h2{margin:0}.door-panel-meta{display:flex;gap:6px;align-items:center;flex-shrink:0}.door-total-badge{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;white-space:nowrap}.door-live-badge{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;white-space:nowrap}@media (max-width: 900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.door-checkins-grid{grid-template-columns:1fr}}[data-theme=dark] .badge-trial{background:#8b5cf633;color:#a78bfa;border-color:#8b5cf666}[data-theme=dark] .badge-active{background:#10b98133;color:#4ade80;border-color:#10b98166}[data-theme=dark] .badge-expired{background:#ef444433;color:#f87171;border-color:#ef444466}[data-theme=dark] .door-total-badge{background:#3b82f633;color:#60a5fa;border-color:#3b82f64d}[data-theme=dark] .door-live-badge{background:#10b98133;color:#4ade80;border-color:#10b9814d}.ld-container{min-height:100%;display:flex;flex-direction:column;background:var(--sz-bg);color:var(--sz-text)}.ld-container>*:not(.sz-pagehead){padding-left:24px;padding-right:24px}.ld-container>.ld-doors-grid{padding-top:20px;padding-bottom:32px}.ld-loading,.ld-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;font-size:13px;color:var(--text-muted)}.ld-doors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;flex:1;min-height:0}.ld-door-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.ld-door-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.ld-door-title-row{display:flex;align-items:center;gap:12px}.ld-door-icon{font-size:24px}.ld-door-info{display:flex;flex-direction:column;gap:2px}.ld-door-name{font-size:16px;font-weight:600;color:var(--text-primary)}.ld-door-sub{font-size:12px;color:var(--text-muted)}.ld-door-total{display:flex;align-items:baseline;gap:4px;text-align:right}.ld-door-total-num{font-size:28px;font-weight:700;color:var(--accent-primary);line-height:1}.ld-door-total-label{font-size:11px;color:var(--text-muted)}.ld-entries-list{flex:1;overflow-y:auto;padding:8px}.ld-entry-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:6px;transition:background .1s}.ld-entry-item:hover{background:var(--surface-hover)}.ld-entry-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ld-entry-avatar img{width:100%;height:100%;object-fit:cover}.ld-entry-avatar span{font-size:12px;font-weight:600;color:#fff}.ld-entry-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ld-entry-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ld-entry-time{font-size:11px;color:var(--text-muted)}.ld-entry-method{flex-shrink:0}.ld-method-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.ld-method-manual{background:var(--color-accent-light, rgba(100, 100, 100, .15));color:var(--text-secondary)}.ld-method-hikvision{background:#22c55e26;color:#22c55e}.ld-entry-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.ld-mobile-tabs,.ld-mobile-content{display:none}@media (max-width: 768px){.ld-container{height:auto;min-height:calc(100vh - 80px);padding:16px}.ld-doors-grid{display:none}.ld-mobile-tabs{display:flex;gap:8px;margin-bottom:16px;margin-top:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;flex-shrink:0}.ld-mobile-tabs::-webkit-scrollbar{display:none}.ld-mobile-tab{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:var(--surface);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;min-width:80px}.ld-mobile-tab:active{transform:scale(.96)}.ld-mobile-tab.active{background:#2a2a27;border-color:#2a2a27}.ld-mobile-tab-icon{font-size:20px}.ld-mobile-tab-label{font-size:11px;font-weight:600;color:var(--text-primary)}.ld-mobile-tab.active .ld-mobile-tab-label{color:#fff}.ld-mobile-tab-count{font-size:14px;font-weight:700;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 8px;border-radius:10px}.ld-mobile-tab.active .ld-mobile-tab-count{background:#fff3;color:#fff}.ld-mobile-content{display:block;flex:1}.ld-mobile-panel{display:none}.ld-mobile-panel.active{display:block}.ld-mobile-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);border-radius:12px;margin-bottom:12px}.ld-mobile-door-icon{font-size:28px}.ld-mobile-door-name{font-size:18px;font-weight:600;color:var(--text-primary);flex:1}.ld-mobile-door-sub{font-size:12px;color:var(--text-muted)}.ld-mobile-total{font-size:18px;font-weight:700;color:var(--accent-primary)}.ld-mobile-entries{display:flex;flex-direction:column;gap:8px}.ld-mobile-entry{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border-radius:10px}.ld-mobile-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ld-mobile-avatar img{width:100%;height:100%;object-fit:cover}.ld-mobile-avatar span{font-size:14px;font-weight:600;color:#fff}.ld-mobile-entry-info{flex:1;min-width:0}.ld-mobile-entry-name{display:block;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ld-mobile-entry-time{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.ld-mobile-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:14px;background:var(--surface);border-radius:12px}}.member360{padding:24px;background-color:var(--color-bg);min-height:100vh}.member360-header{margin-bottom:24px}.back-btn{padding:8px 16px;background-color:var(--surface);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;margin-bottom:16px;font-size:14px;font-weight:600;transition:all var(--transition-fast)}.back-btn:hover{background-color:var(--color-surface);border-color:var(--color-text-secondary)}.member-info-card{background:var(--surface);border-radius:var(--radius-lg);padding:16px 20px;color:var(--color-text);display:flex;align-items:center;gap:16px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.member-avatar{width:52px;height:52px;border-radius:50%;background-color:var(--color-accent-light);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--color-accent);border:2px solid var(--color-accent);overflow:hidden;flex-shrink:0}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-details{flex:1;min-width:0}.member-details h1{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--color-text);letter-spacing:-.01em}.member-email{margin:0 0 8px;color:var(--color-text-secondary);font-size:13px}.member-meta{display:flex;gap:8px;flex-wrap:wrap}.member-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.action-btn{flex:1;min-width:100px;padding:10px 14px;background:var(--surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.action-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.access-control-toggle{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background-color:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.toggle-label{position:relative;display:inline-block;width:52px;height:28px}.toggle-checkbox{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-danger);transition:.2s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.2s;border-radius:50%}.toggle-checkbox:checked+.toggle-slider{background-color:var(--color-success)}.toggle-checkbox:checked+.toggle-slider:before{transform:translate(24px)}.toggle-checkbox:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-text{font-size:12px;font-weight:700;text-align:center;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;text-align:center;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-icon{font-size:28px;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:4px;line-height:1;letter-spacing:-.02em}.stat-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.details-section{background:var(--surface);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.details-section h2{margin:0 0 20px;font-size:16px;font-weight:700;color:var(--color-text);letter-spacing:-.01em}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.detail-item span{font-size:14px;color:var(--color-text);font-weight:600;display:inline-flex;align-items:center;gap:8px}.ml-8{margin-left:0}.timeline-section{background:var(--surface);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.timeline-section h2{margin:0 0 24px;font-size:16px;font-weight:700;color:var(--color-text);letter-spacing:-.01em}.timeline{position:relative;padding-left:40px}.timeline:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:1px;background:var(--color-border)}.timeline-item{position:relative;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border-light)}.timeline-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.timeline-marker{position:absolute;left:-40px;top:2px;width:24px;height:24px;background:var(--surface);border:2px solid var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:1}.timeline-icon{font-size:12px}.timeline-content{background:var(--color-surface);border-radius:var(--radius-md);padding:16px;border:1px solid var(--color-border-light)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.timeline-header h4{margin:0;font-size:14px;font-weight:700;color:var(--color-text)}.timeline-time{font-size:12px;color:var(--color-text-muted);font-weight:500}.timeline-details{display:flex;flex-direction:column;gap:8px}.timeline-details p{margin:0;font-size:13px;color:var(--color-text-secondary)}.timeline-details strong{color:var(--color-text);margin-right:6px;font-weight:600}.status-success{color:var(--color-success);font-weight:700}.status-denied,.status-failed{color:var(--color-danger);font-weight:700}.status-completed{color:var(--color-success);font-weight:700}.status-upcoming{color:var(--color-accent);font-weight:700}.status-pending{color:var(--color-warning);font-weight:700}.empty-timeline{text-align:center;padding:48px;color:var(--color-text-muted)}.member360-loading,.member360-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.member360-error h3{color:var(--color-danger);margin-bottom:16px}@media (max-width: 768px){.member360{padding:12px}.member-info-card{padding:12px 16px;gap:12px}.member-avatar{width:44px;height:44px;font-size:16px}.member-details h1{font-size:15px}.member-email{font-size:11px;margin:0 0 6px}.member-meta{gap:4px}.member-meta>*{font-size:10px;padding:3px 6px}.member-actions{gap:6px;margin-top:10px}.action-btn{flex:1 1 calc(50% - 3px);min-width:0;padding:8px 10px;font-size:11px}.stats-grid,.details-grid{grid-template-columns:1fr}.timeline{padding-left:32px}.timeline-marker{left:-32px;width:20px;height:20px}.timeline:before{left:10px}}.member-info-card .status-badge,.member-info-card .membership-type,.member-info-card .badge{background-color:#ffffff4d;color:#fff;border:1px solid rgba(255,255,255,.5)}.member360-tabs{display:flex;gap:8px;padding:16px 0;border-bottom:1px solid var(--color-border);margin-bottom:20px;overflow-x:auto;flex-wrap:wrap}.member360-tabs .tab-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.member360-tabs .tab-btn:hover{background:var(--color-surface);border-color:var(--color-text-secondary);color:var(--color-text)}.member360-tabs .tab-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.member360-tabs .tab-icon{font-size:14px}.member360-tabs .tab-label{font-weight:600}.member360-content{min-height:400px}.tab-panel{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.uv-banner{background:linear-gradient(135deg,#3b82f614,#3b82f60a);border:1px solid rgba(59,130,246,.2);color:var(--color-text-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:20px;font-size:13px;text-align:center}.uv-membership-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.uv-package-name{font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:8px}.uv-membership-status{display:inline-block;margin-bottom:12px}.uv-validity{font-size:13px;color:var(--color-text-secondary)}.uv-count{font-size:12px;color:var(--color-text-muted);font-weight:400}.uv-list{display:flex;flex-direction:column;gap:8px}.uv-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.uv-list-item:hover{border-color:var(--color-text-secondary)}.uv-list-compact{padding:10px 12px}.uv-list-icon{font-size:18px;flex-shrink:0}.uv-list-content{flex:1;min-width:0}.uv-list-title{font-size:14px;font-weight:600;color:var(--color-text)}.uv-list-subtitle{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.uv-list-amount{flex-shrink:0}.uv-payment-amount{font-size:14px;font-weight:700}.uv-status{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.uv-status-active,.uv-status-completed{background:var(--success-bg);color:var(--success-text)}.uv-status-pending{background:var(--warning-bg);color:var(--warning-text)}.uv-status-cancelled{background:var(--error-bg);color:var(--error-text)}.uv-status-upcoming{background:#3b82f61a;color:#1d4ed8}.uv-status-inactive{background:var(--inactive-bg);color:var(--inactive-text)}.uv-empty{text-align:center;padding:32px;color:var(--color-text-muted);font-size:13px}.settings-form{display:flex;flex-direction:column;gap:16px}.settings-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.settings-form .form-group{display:flex;flex-direction:column;gap:6px}.settings-form .form-group label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.settings-form .form-group input,.settings-form .form-group select{padding:10px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.settings-form .form-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.danger-zone{border-color:var(--color-danger);background:linear-gradient(135deg,rgba(239,68,68,.04) 0%,transparent 100%)}.danger-zone h2{color:var(--color-danger)}.danger-description{color:var(--color-text-secondary);font-size:13px;margin-bottom:16px}.message-banner{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:13px;font-weight:500}.message-banner.success{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:1px solid rgba(16,185,129,.3);color:var(--color-success)}.message-banner.error{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.3);color:var(--color-danger)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--surface);border-radius:var(--radius-lg);padding:24px;max-width:480px;width:100%;box-shadow:0 20px 40px #0003}.modal-content h2{margin:0 0 12px;font-size:18px;font-weight:700;color:var(--color-text)}.modal-content p{margin:0 0 20px;color:var(--color-text-secondary);font-size:14px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width: 768px){.member360-tabs{gap:6px;padding:12px 0}.member360-tabs .tab-btn{padding:8px 12px;font-size:12px}.tab-label{display:none}.member-info-card{flex-direction:column;text-align:center;gap:16px}.access-control-toggle{width:100%}.settings-form .form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.qa-page{max-width:var(--sz-page-max);margin:0 auto;padding-bottom:48px;overflow-x:hidden}.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 24px}@media (max-width: 600px){.qa-grid{grid-template-columns:1fr;padding:16px 20px}}.qa-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--sz-bg-card);border:1px solid var(--sz-border);border-radius:var(--sz-radius-lg);cursor:pointer;transition:border-color var(--sz-dur) var(--sz-ease),box-shadow var(--sz-dur) var(--sz-ease);text-align:left;width:100%;color:var(--sz-text);position:relative;overflow:hidden}.qa-card:hover{border-color:var(--sz-border-strong);box-shadow:var(--sz-shadow-sm)}.qa-card:hover .qa-card-chev{color:var(--sz-brand);transform:translate(2px)}.qa-card-icon-wrap{width:36px;height:36px;border-radius:var(--sz-radius-md);background:var(--sz-bg-subtle);color:var(--sz-text-soft);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.qa-card--blue .qa-card-icon-wrap{background:var(--sz-info-soft);color:var(--sz-info)}.qa-card--green .qa-card-icon-wrap{background:var(--sz-success-soft);color:var(--sz-success)}.qa-card--purple .qa-card-icon-wrap{background:var(--sz-brand-soft);color:var(--sz-brand-ink)}.qa-card--orange .qa-card-icon-wrap{background:var(--sz-warning-soft);color:var(--sz-warning)}.qa-card--teal .qa-card-icon-wrap{background:var(--sz-info-soft);color:var(--sz-info)}.qa-card-content--noicon{flex:1;min-width:0}.qa-card-title{font-size:var(--sz-fs-14);font-weight:600;color:var(--sz-text);letter-spacing:-.005em;margin:0 0 2px}.qa-card-desc{font-size:var(--sz-fs-13);color:var(--sz-text-soft);line-height:1.5;margin:0}.qa-card-chev{color:var(--sz-text-mute);display:inline-flex;align-items:center;padding-top:10px;transition:color var(--sz-dur) var(--sz-ease),transform var(--sz-dur) var(--sz-ease);flex-shrink:0}.qa-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;animation:qaFadeIn .15s ease}.qa-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #00000040;animation:qaSlideUp .18s ease}.qa-modal.qa-modal--wide{max-width:800px}@keyframes qaSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.qa-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.qa-modal-title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.qa-modal-close{background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;color:var(--text-muted);padding:2px 6px;border-radius:6px;transition:background .15s,color .15s}.qa-modal-close:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.qa-modal-close:disabled{opacity:.4;cursor:not-allowed}.qa-modal-body{padding:20px 24px 24px}.qa-form{display:flex;flex-direction:column;gap:16px}.qa-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 420px){.qa-row-2{grid-template-columns:1fr}}.qa-field{display:flex;flex-direction:column;gap:6px;position:relative}.qa-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.qa-input{width:100%;padding:9px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.92rem;transition:border-color .15s,box-shadow .15s;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.qa-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f626}.qa-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}.qa-user-search-wrap{position:relative}.qa-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-muted);padding:2px 4px;line-height:1;border-radius:4px}.qa-clear-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.qa-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000026;z-index:10;max-height:220px;overflow-y:auto;list-style:none;padding:4px 0}.qa-dropdown-item{display:flex;flex-direction:column;padding:8px 12px;cursor:pointer;transition:background .12s}.qa-dropdown-item:hover{background:var(--surface-hover)}.qa-dn{font-size:.88rem;font-weight:500;color:var(--text-primary)}.qa-de{font-size:.78rem;color:var(--text-muted)}.qa-dropdown-info{padding:10px 12px;font-size:.85rem;color:var(--text-muted)}.qa-tabs{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.qa-tab{flex:1;padding:9px 0;background:var(--bg-secondary);border:none;cursor:pointer;font-size:.88rem;font-weight:500;color:var(--text-muted);transition:background .15s,color .15s}.qa-tab:not(:last-child){border-right:1px solid var(--border)}.qa-tab--active{background:var(--accent-primary);color:#fff}.qa-tab:not(.qa-tab--active):hover{background:var(--surface-hover);color:var(--text-primary)}.qa-hint-box{padding:10px 14px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:8px;font-size:.85rem;color:var(--text-secondary)}.qa-addon-list{display:flex;flex-direction:column;gap:6px}.qa-addon-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-primary);cursor:pointer}.qa-addon-item input[type=checkbox]{accent-color:var(--primary, #3b82f6);width:15px;height:15px;cursor:pointer}.qa-summary{display:flex;flex-direction:column;gap:4px}.qa-summary-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-secondary)}.qa-summary-total{font-weight:600;font-size:.95rem;color:var(--text-primary);border-top:1px solid rgba(59,130,246,.2);padding-top:6px;margin-top:2px}.qa-summary-validity{font-size:.8rem;color:var(--text-muted, var(--text-secondary))}.qa-pending-note{font-size:.8rem;color:var(--text-secondary);background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:6px;padding:8px 12px;margin:0}.qa-toast{position:fixed;top:20px;right:20px;z-index:1000;padding:12px 18px;border-radius:10px;font-size:.9rem;font-weight:500;box-shadow:0 6px 20px #0000001f;animation:qa-toast-slide .18s ease-out;max-width:380px}.qa-toast--ok{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success)}.qa-toast--err{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error)}@keyframes qa-toast-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.qa-checkbox-row{display:flex;align-items:center;gap:8px;font-size:.92rem;cursor:pointer;-webkit-user-select:none;user-select:none}.qa-checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.qa-weekday-row{display:flex;flex-wrap:wrap;gap:6px}.qa-weekday-btn{flex:1 1 auto;min-width:48px;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border, var(--color-border));border-radius:8px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.qa-weekday-btn:hover:not(:disabled){border-color:var(--accent-primary)}.qa-weekday-btn--active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.qa-weekday-btn:disabled{opacity:.5;cursor:not-allowed}.qa-feedback{padding:10px 14px;border-radius:8px;font-size:.88rem;font-weight:500}.qa-feedback--ok{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success)}.qa-feedback--err{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error)}.qa-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.qa-btn{padding:9px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,opacity .15s}.qa-btn:disabled{opacity:.55;cursor:not-allowed}.qa-btn--primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.qa-btn--primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.qa-btn--secondary{background:transparent;color:var(--text-secondary);border-color:var(--border)}.qa-btn--secondary:not(:disabled):hover{background:var(--surface-hover);border-color:var(--border-secondary)}.qa-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.qa-textarea{resize:vertical;min-height:60px}.qa-form-subtitle{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.qa-checkbox-group{display:flex;flex-direction:column;gap:6px}.qa-checkbox-group--inline{flex-direction:row;flex-wrap:wrap;gap:8px 16px}.qa-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.qa-checkbox-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-primary);cursor:pointer}.qa-item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.qa-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:var(--surface-hover, rgba(255,255,255,.04));border:1px solid var(--border)}.qa-item--inactive{opacity:.5}.qa-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.qa-item-code{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--accent-primary);letter-spacing:.04em}.qa-item-name{font-size:.88rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-item-meta{font-size:.78rem;color:var(--text-muted)}.qa-item-actions{display:flex;gap:4px;flex-shrink:0}.qa-btn-icon{background:transparent;border:1px solid transparent;cursor:pointer;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500;line-height:1.4;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.qa-btn-icon:hover{background:var(--surface-hover)}.qa-btn-icon--edit{color:var(--accent-primary)}.qa-btn-icon--edit:hover{border-color:var(--accent-primary);background:#3b82f614}.qa-btn-icon--activate{color:var(--success)}.qa-btn-icon--activate:hover{border-color:var(--success);background:var(--success-bg)}.qa-btn-icon--deactivate{color:var(--error)}.qa-btn-icon--deactivate:hover{border-color:var(--error);background:var(--error-bg)}.qa-btn-icon--delete{color:var(--error)}.qa-btn-icon--delete:hover{border-color:var(--error);background:var(--error-bg)}.qa-access-loading{text-align:center;color:var(--text-muted);padding:24px 0;font-size:14px}.qa-access-panel{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;padding:8px 20px 24px;box-sizing:border-box}.qa-access-title{font-size:18px;font-weight:700;color:var(--text-primary, #f1f5f9);margin:0;align-self:flex-start}.access-icons-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:400px;padding:4px 0}.access-icon-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 10px;border-radius:16px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .2s ease;text-align:center;font-family:inherit;outline:none;-webkit-tap-highlight-color:transparent}.access-icon-btn:hover:not(.icon-disabled):not([disabled]){transform:translateY(-2px);border-color:var(--accent-primary);background:var(--surface)}.access-icon-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.access-icon-btn.icon-ready{border-color:var(--accent-primary)}.access-icon-btn.icon-complete{border-color:#10b981}.access-icon-btn.icon-disabled,.access-icon-btn[disabled]{opacity:.4;cursor:default;pointer-events:none}.icon-circle{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff}.icon-circle.icon-qr{background:linear-gradient(140deg,#10b981,#059669);color:#ecfdf5}.icon-circle.icon-pin{background:linear-gradient(140deg,#3b82f6,#2563eb);color:#eff6ff}.icon-circle.icon-face{background:linear-gradient(140deg,#6366f1,#4f46e5);color:#eef2ff}.icon-circle.icon-fp{background:linear-gradient(140deg,#a855f7,#7c3aed);color:#f3e8ff}.icon-label{font-size:13px;font-weight:700;color:var(--text-primary, #f1f5f9)}.icon-sub{font-size:11px;color:var(--text-muted, #94a3b8);font-weight:500}.icon-pin-value{font-family:Courier New,monospace;font-size:15px;font-weight:700;color:#10b981;letter-spacing:2px}.icon-check{font-size:14px;font-weight:700;color:#10b981;background:#10b98126;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.qa-face-door-pills{width:100%;max-width:400px;display:flex;flex-direction:column;gap:8px;margin:8px 0 4px}.qa-face-door-pill{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--sz-border, rgba(0,0,0,.12));border-radius:12px;background:var(--sz-surface, #fff);color:inherit;font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.qa-face-door-pill:hover:not(:disabled){background:var(--sz-surface-hover, #f7f7f7)}.qa-face-door-pill:disabled{cursor:default}.qa-face-door-pill.is-synced{border-color:#2ecc71;background:#2ecc7114}.qa-face-door-pill-label{font-weight:600;font-size:14px}.qa-face-door-pill-status{font-size:13px;opacity:.85}.qa-face-door-pill.is-synced .qa-face-door-pill-status{color:#2ecc71;opacity:1}.qa-setup-msg{width:100%;max-width:400px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:10px}.qa-setup-msg--ok{background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#10b981}.qa-setup-msg--loading{background:#3b82f61a;border:1px solid rgba(59,130,246,.25);color:#60a5fa}.qa-setup-msg--warn{background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);color:#f59e0b;flex-wrap:wrap}.qa-retry-btn{margin-left:auto;font-size:12px}.qa-qr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qa-qr-inner{background:var(--surface);border-radius:20px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:default;box-shadow:0 24px 80px #00000080;animation:qaScaleIn .2s ease}.qa-qr-hint{font-size:12px;color:var(--text-muted);margin:0}.qa-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:9998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qa-modal-box{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000080}.qa-modal-header{display:flex;align-items:center;justify-content:space-between}.qa-modal-title{font-size:16px;font-weight:700;color:var(--text-primary, #f1f5f9)}.qa-modal-close{background:none;border:none;color:var(--text-muted, #94a3b8);font-size:22px;cursor:pointer;line-height:1;padding:0}.qa-modal-msg{font-size:14px;color:var(--text-secondary, #cbd5e1);margin:0;line-height:1.5}.qa-modal-door-btns{display:flex;flex-direction:column;gap:10px}@keyframes qaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes qaScaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}:root{--accent-primary: var(--sz-brand, #b8892b);--accent-primary-soft: var(--sz-brand-soft, #f5eacf)}.tr-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.tr-layout-side{grid-column:2;display:flex;flex-direction:column;gap:8px;position:sticky;top:16px}.tr-layout>.tr-section-card{grid-column:1;grid-row:1}@media (max-width: 980px){.tr-layout{grid-template-columns:1fr;min-width:0}.tr-layout-side,.tr-layout>.tr-section-card{grid-column:auto;grid-row:auto;min-width:0}.tr-layout-side{position:static;order:-1}.tr-calendar-bar{padding:10px 12px}}@media (max-width: 480px){.tr-calendar-bar{padding:10px}.tr-cal-grid-head{gap:4px}}.tr-calendar-bar{background:var(--sz-bg-card, #fff);border:1px solid var(--sz-border, var(--color-border));border-radius:var(--sz-radius-lg, 10px);padding:12px 16px;box-shadow:var(--sz-shadow-xs, 0 1px 0 rgba(0,0,0,.04));overflow:hidden}.tr-cal-grid{display:flex;flex-direction:column;gap:2px;overflow:hidden;border-radius:4px}.tr-cal-grid-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.tr-cal-month-nav{width:22px;height:22px;border-radius:5px;border:1px solid var(--sz-border, var(--color-border));background:var(--sz-bg-card, #fff);color:var(--sz-text, var(--color-text));font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--sz-dur-fast, .12s) var(--sz-ease, ease)}.tr-cal-month-nav:hover{border-color:var(--sz-border-strong, var(--color-border));background:var(--sz-bg-subtle, var(--color-surface))}.tr-cal-month-label{font-size:12px;font-weight:700;color:var(--sz-text, var(--color-text));letter-spacing:-.2px}.tr-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.tr-cal-weekdays span{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;text-align:center;color:var(--sz-text-mute, var(--color-text-secondary));padding:2px 0}.tr-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.tr-cal-day{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--sz-text, var(--color-text));font-size:11px;font-weight:500;cursor:pointer;transition:all var(--sz-dur-fast, .12s) var(--sz-ease, ease)}.tr-cal-day:hover{background:var(--sz-bg-subtle, var(--color-surface))}.tr-cal-day--outside{color:var(--sz-text-mute, #a1a1aa)}.tr-cal-day--today{border-color:var(--sz-brand, var(--accent-primary));font-weight:700}.tr-cal-day--has:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--sz-brand, var(--accent-primary))}.tr-cal-day--selected{background:var(--sz-brand, var(--accent-primary));color:#fff;border-color:var(--sz-brand, var(--accent-primary));font-weight:700}.tr-cal-day--selected.tr-cal-day--has:after{background:#fff}.tr-cal-day--selected:hover{background:var(--sz-brand, var(--accent-primary))}.tr-cal-day-pip{position:absolute;top:2px;right:2px;min-width:12px;height:12px;padding:0 3px;border-radius:6px;background:var(--sz-brand, var(--accent-primary));color:#fff;font-size:8px;font-weight:700;line-height:12px;text-align:center;display:block;box-sizing:border-box}.tr-cal-day--selected .tr-cal-day-pip{background:#fff;color:var(--sz-brand, var(--accent-primary))}.tr-cal-day--outside .tr-cal-day-pip{opacity:.4}.tr-cal-day--today .tr-cal-day-pip{background:var(--sz-brand, var(--accent-primary))}.tr-upcoming-bar{display:flex;align-items:center;gap:10px;background:var(--sz-bg-card, #fff);border:1px solid var(--sz-border, var(--color-border));border-radius:var(--sz-radius-lg, 10px);padding:8px 16px;box-shadow:var(--sz-shadow-xs, 0 1px 0 rgba(0,0,0,.04));flex-wrap:wrap}.tr-upcoming-label{font-size:12px;font-weight:600;color:var(--sz-text-mute, var(--color-text-secondary));white-space:nowrap}.tr-upcoming-dates{display:flex;gap:6px;flex-wrap:wrap;flex:1}.tr-upcoming-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;border:1px solid var(--sz-border, var(--color-border));background:var(--sz-bg-card, #fff);color:var(--sz-text, var(--color-text));font-size:12px;font-weight:600;cursor:pointer;transition:all var(--sz-dur-fast, .12s) var(--sz-ease, ease)}.tr-upcoming-chip:hover{border-color:var(--sz-brand, var(--accent-primary));background:var(--accent-primary-soft, rgba(184, 137, 43, .06))}.tr-upcoming-chip--active{background:var(--sz-brand, var(--accent-primary));color:#fff;border-color:var(--sz-brand, var(--accent-primary))}.tr-upcoming-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#00000014;font-size:10px;font-weight:700}.tr-upcoming-chip--active .tr-upcoming-chip-count{background:#ffffff40}.tr-type-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tr-type-tab{padding:5px 12px;border-radius:6px;border:1px solid var(--sz-border, var(--color-border));background:var(--sz-bg-card, #fff);color:var(--sz-text, var(--color-text));font-size:12px;font-weight:600;cursor:pointer;transition:all var(--sz-dur-fast, .12s) var(--sz-ease, ease)}.tr-type-tab:hover{border-color:var(--sz-brand, var(--accent-primary));background:var(--accent-primary-soft, rgba(184, 137, 43, .06))}.tr-type-tab--active{background:var(--sz-brand, var(--accent-primary));color:#fff;border-color:var(--sz-brand, var(--accent-primary))}.tr-type-tab--ft.tr-type-tab--active{background:#1d4ed8;border-color:#1d4ed8}.tr-type-tab--gt.tr-type-tab--active{background:#c2410c;border-color:#c2410c}.tr-type-tab--tt.tr-type-tab--active{background:#9d174d;border-color:#9d174d}.tr-trainer{font-weight:500;color:var(--sz-text, var(--text-primary))}.tr-section-meta{font-size:12px;font-weight:500;color:var(--sz-text-soft, var(--color-text-secondary));margin-left:6px}.tr-eligibility-hint{margin:6px 0 0;font-size:12px;color:var(--sz-warning, var(--color-warning))}.tr-section-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--sz-border, var(--border))}.tr-section-title{margin:0;font-size:15px;font-weight:700;color:var(--sz-text, var(--text-primary));letter-spacing:-.2px;flex:1}.tr-section-count{font-size:12px;font-weight:600;color:var(--sz-text-mute, var(--text-muted));background:var(--sz-bg-subtle, var(--surface-hover));border:1px solid var(--sz-border, var(--border));padding:4px 12px;border-radius:20px;white-space:nowrap}.tr-section-card{background:var(--sz-bg-card, #fff);border:1px solid var(--sz-border, var(--color-border));border-radius:var(--sz-radius-lg, 10px);padding:20px;margin-bottom:24px;box-shadow:var(--sz-shadow-xs, 0 1px 0 rgba(0,0,0,.04))}.tr-section-card .table-container{margin:0 -4px}.tr-section-card .data-table{margin-bottom:0}.tr-delete-message{font-size:14px;line-height:1.6;color:var(--sz-text, var(--color-text));margin:8px 0 4px}.tr-delete-message strong{font-weight:600;color:var(--sz-danger, #b53232)}.modal-footer .btn-danger{background:var(--sz-danger, #b53232);color:#fff;border:1px solid transparent;transition:background var(--sz-dur, .2s) var(--sz-ease, ease)}.modal-footer .btn-danger:hover:not(:disabled){background:var(--sz-danger-hover, #991b1b)}.modal-footer .btn-danger:disabled{opacity:.5;cursor:not-allowed}.tr-past-search{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.tr-past-search label{font-size:13px;font-weight:600;color:var(--sz-text-soft, var(--text-secondary));white-space:nowrap}.tr-past-search input[type=date]{padding:8px 12px;border:1px solid var(--sz-border, var(--border));border-radius:var(--sz-radius-md, 6px);font-size:13px;color:var(--sz-text, var(--text-secondary));background:var(--sz-bg-card, var(--surface));cursor:pointer;font-family:inherit;transition:border-color var(--sz-dur-fast, .12s) var(--sz-ease, ease)}.tr-past-search input[type=date]:focus{outline:none;border-color:var(--sz-brand, var(--accent-primary));box-shadow:0 0 0 3px #b8892b1a}.tr-empty{background:var(--sz-bg-subtle, var(--surface));border:1px dashed var(--sz-border, var(--border));border-radius:var(--sz-radius-md, 6px);padding:40px 24px;color:var(--sz-text-mute, var(--text-muted));font-size:14px;text-align:center;margin-bottom:24px;line-height:1.6}.tr-skeleton{display:flex;flex-direction:column;gap:12px}.tr-skeleton-bar{background:var(--sz-bg-subtle, #f5f5f4);border-radius:var(--sz-radius-md, 6px);padding:16px 20px}.tr-skeleton-row{display:flex;align-items:center;gap:12px;height:14px}.tr-skeleton-block{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--sz-bg-subtle, #f5f5f4) 25%,var(--sz-bg-card, #fff) 50%,var(--sz-bg-subtle, #f5f5f4) 75%);background-size:200% 100%;animation:tr-skeleton-pulse 1.5s ease-in-out infinite}.tr-skeleton-block--short{width:60px}.tr-skeleton-block--med{width:120px}.tr-skeleton-block--long{flex:1}.tr-skeleton-block--pct{width:40px}@keyframes tr-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.tr-th-expand,.tr-td-expand{width:36px!important;padding:0 4px 0 12px!important;vertical-align:middle}.tr-date{white-space:nowrap;font-weight:600;color:var(--sz-text, var(--text-primary));min-width:100px}.tr-time{white-space:nowrap;font-weight:500;color:var(--sz-text-soft, var(--text-secondary));min-width:60px}.tr-duration{color:var(--sz-text-mute, var(--text-muted));font-size:13px;white-space:nowrap}.tr-row--expanded>td:first-child{border-left:3px solid var(--sz-brand, var(--accent-primary))}.tr-expand-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--sz-bg-subtle, none);border:1px solid var(--sz-border, #cbd5e1);border-radius:var(--sz-radius-sm, 4px);cursor:pointer;transition:all var(--sz-dur, .15s) var(--sz-ease, ease);color:var(--sz-text-mute, var(--text-muted));flex-shrink:0}.tr-expand-btn:hover{border-color:var(--sz-brand, var(--accent-primary));background:var(--accent-primary-soft, rgba(184, 137, 43, .08));color:var(--sz-brand, var(--accent-primary))}.tr-expand-btn--open{border-color:var(--sz-brand, var(--accent-primary));background:var(--accent-primary-soft, rgba(184, 137, 43, .1));color:var(--sz-brand, var(--accent-primary))}.tr-expand-icon{font-size:14px;line-height:1;display:block;transition:transform var(--sz-dur, .2s) var(--sz-ease, ease);transform:rotate(0)}.tr-expand-btn--open .tr-expand-icon{transform:rotate(90deg)}.tr-type-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:var(--sz-radius-sm, 4px);white-space:nowrap;border:1px solid transparent;line-height:1.4}.tr-type--ft{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.tr-type--gt{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.tr-type--tt{background:#fdf4ff;color:#9d174d;border-color:#f5d0fe}[data-theme=dark] .tr-type--ft{background:#3b82f61f;color:#93c5fd;border-color:#3b82f633}[data-theme=dark] .tr-type--gt{background:#f973161f;color:#fdba74;border-color:#f9731633}[data-theme=dark] .tr-type--tt{background:#ec48991f;color:#f9a8d4;border-color:#ec489933}.tr-capacity{min-width:100px}.tr-cap-label{font-size:13px;font-weight:600;display:flex;align-items:baseline;gap:6px;margin-bottom:5px}.tr-cap-pct{font-size:10px;font-weight:500;opacity:.7}.tr-cap--normal{color:var(--sz-success, #166534)}.tr-cap--high{color:var(--sz-warning, #a56a1a)}.tr-cap--full{color:var(--sz-danger, #b53232)}.tr-cap-bar{height:4px;background:var(--sz-bg-subtle, var(--surface-hover));border-radius:2px;overflow:hidden}.tr-cap-fill{height:100%;border-radius:2px;transition:width .4s ease}.tr-cap-fill--normal{background:var(--sz-success, #22c55e)}.tr-cap-fill--high{background:var(--sz-warning, #f59e0b)}.tr-cap-fill--full{background:var(--sz-danger, #ef4444)}.tr-status{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:var(--sz-radius-sm, 4px);border:1px solid transparent;line-height:1.4}.tr-status--scheduled{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.tr-status--ongoing{background:#fffbeb;color:#92400e;border-color:#fde68a}.tr-status--completed{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.tr-status--cancelled{background:#fef2f2;color:#991b1b;border-color:#fecaca}[data-theme=dark] .tr-status--scheduled{background:#3b82f61f;color:#93c5fd;border-color:#3b82f633}[data-theme=dark] .tr-status--ongoing{background:#f59e0b1f;color:#fcd34d;border-color:#f59e0b33}[data-theme=dark] .tr-status--completed{background:#22c55e1f;color:#86efac;border-color:#22c55e33}[data-theme=dark] .tr-status--cancelled{background:#ef44441f;color:#fca5a5;border-color:#ef444433}.tr-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.tr-btn{padding:5px 12px;font-size:12px;font-weight:600;border-radius:var(--sz-radius-md, 5px);border:1px solid transparent;cursor:pointer;transition:all var(--sz-dur, .15s) var(--sz-ease, ease);background:none;letter-spacing:-.01em;white-space:nowrap;font-family:inherit;line-height:1.5}.tr-btn:disabled{opacity:.5;cursor:not-allowed}.tr-btn--add{color:#0369a1;border-color:#bae6fd;background:#f0f9ff}.tr-btn--add:hover:not(:disabled){background:#e0f2fe;border-color:#7dd3fc}.tr-btn--edit{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.tr-btn--edit:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd}.tr-btn--delete{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.tr-btn--delete:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.tr-btn--remove{color:#b91c1c;border-color:#fecaca;background:#fef2f2;font-size:11px;padding:4px 10px}.tr-btn--remove:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}[data-theme=dark] .tr-btn--add{background:#3b82f61a;border-color:#3b82f633;color:#93c5fd}[data-theme=dark] .tr-btn--add:hover:not(:disabled){background:#3b82f62e}[data-theme=dark] .tr-btn--edit{background:#6366f11a;border-color:#6366f133;color:#a5b4fc}[data-theme=dark] .tr-btn--edit:hover:not(:disabled){background:#6366f12e}[data-theme=dark] .tr-btn--delete{background:#ef44441a;border-color:#ef444433;color:#fca5a5}[data-theme=dark] .tr-btn--delete:hover:not(:disabled){background:#ef44442e}[data-theme=dark] .tr-btn--remove{background:#ef44441a;border-color:#ef444433;color:#fca5a5}[data-theme=dark] .tr-btn--remove:hover:not(:disabled){background:#ef44442e}.tr-participants-row>td{padding:0!important;background:var(--sz-bg-card, var(--bg-secondary))}.tr-participants-panel{padding:16px 24px 20px 48px;border-top:1px solid var(--sz-border, var(--border));border-bottom:1px solid var(--sz-border, var(--border));overflow:hidden;animation:tr-panel-expand .2s var(--sz-ease, ease) forwards}@keyframes tr-panel-expand{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:600px;padding-top:16px;padding-bottom:20px}}.tr-participants-panel--collapsing{animation:tr-panel-collapse .15s var(--sz-ease, ease) forwards}@keyframes tr-panel-collapse{0%{opacity:1;max-height:600px;padding-top:16px;padding-bottom:20px}to{opacity:0;max-height:0;padding-top:0;padding-bottom:0}}.tr-participants-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.tr-participants-title{font-size:12px;font-weight:700;color:var(--sz-text-soft, var(--text-secondary));text-transform:uppercase;letter-spacing:.5px}.tr-no-participants{font-size:13px;color:var(--sz-text-mute, var(--text-muted));margin:0;font-style:italic;padding:12px 0}.tr-participants-table{width:100%;max-width:700px;border-collapse:collapse;font-size:13px}.tr-participants-table thead th{text-align:left;padding:6px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--sz-text-mute, var(--text-muted));border-bottom:1px solid var(--sz-border, var(--border));background:transparent}.tr-participants-table tbody tr:hover{background:var(--sz-bg-subtle, rgba(241, 245, 249, .8))}.tr-participants-table tbody td{padding:8px 12px;border-bottom:1px solid var(--sz-border, var(--border));color:var(--sz-text-soft, var(--text-secondary))}.tr-participants-table tbody tr:last-child td{border-bottom:none}.tr-part-actions{text-align:right;width:90px}.tr-part-status{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:3px 8px;border-radius:var(--sz-radius-sm, 3px);border:1px solid transparent}.tr-part-status--booked{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.tr-part-status--attended{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.tr-part-status--cancelled{background:#fef2f2;color:#991b1b;border-color:#fecaca}.tr-part-status--waiting{background:#fffbeb;color:#92400e;border-color:#fde68a}[data-theme=dark] .tr-part-status--booked{background:#3b82f61f;color:#93c5fd;border-color:#3b82f633}[data-theme=dark] .tr-part-status--attended{background:#22c55e1f;color:#86efac;border-color:#22c55e33}[data-theme=dark] .tr-part-status--cancelled{background:#ef44441f;color:#fca5a5;border-color:#ef444433}[data-theme=dark] .tr-part-status--waiting{background:#f59e0b1f;color:#fcd34d;border-color:#f59e0b33}.tr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tr-card-list{display:none}.tr-desktop-table{display:block}@media (max-width: 768px){.tr-card-list{display:flex;flex-direction:column;gap:12px}.tr-desktop-table{display:none}.tr-card{background:var(--sz-bg-card, #fff);border:1px solid var(--sz-border, var(--color-border));border-radius:var(--sz-radius-lg, 10px);padding:16px;box-shadow:var(--sz-shadow-xs, 0 1px 0 rgba(0,0,0,.04));transition:box-shadow var(--sz-dur, .2s) var(--sz-ease, ease)}.tr-card:active{box-shadow:var(--sz-shadow-md, 0 4px 12px rgba(0,0,0,.08))}.tr-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.tr-card-type{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:var(--sz-radius-sm, 4px);border:1px solid transparent;line-height:1.4}.tr-card-time-block{text-align:right;flex-shrink:0}.tr-card-time{font-size:18px;font-weight:700;color:var(--sz-text, var(--text-primary));line-height:1.2}.tr-card-duration{font-size:12px;color:var(--sz-text-mute, var(--text-muted))}.tr-card-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.tr-card-detail{display:flex;flex-direction:column;gap:2px}.tr-card-detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--sz-text-mute, var(--text-muted));font-weight:600}.tr-card-detail-value{font-size:14px;font-weight:500;color:var(--sz-text, var(--text-primary))}.tr-card-capacity-bar{margin-top:4px}.tr-card-capacity-bar .tr-cap-bar{height:6px;border-radius:3px}.tr-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--sz-border, var(--color-border))}.tr-card-status{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:var(--sz-radius-sm, 4px);border:1px solid transparent;line-height:1.4}.tr-card-actions{display:flex;gap:8px}.tr-card-actions .tr-btn{padding:8px 14px;font-size:12px;min-height:36px}.tr-card-participants{margin-top:12px;padding-top:12px;border-top:1px solid var(--sz-border, var(--color-border));animation:tr-panel-expand .2s var(--sz-ease, ease) forwards}.tr-card-participants-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--sz-text-mute, var(--text-muted));margin-bottom:8px}.tr-card-participant-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--sz-bg-subtle, var(--color-border))}.tr-card-participant-row:last-child{border-bottom:none}.tr-card-participant-info{flex:1;min-width:0}.tr-card-participant-name{font-size:13px;font-weight:500;color:var(--sz-text, var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr-card-participant-email{font-size:11px;color:var(--sz-text-mute, var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr-card-participant-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tr-participants-panel{padding:12px 16px 16px}.tr-form-row{grid-template-columns:1fr}.tr-past-search{flex-direction:column;align-items:stretch;gap:8px}.tr-past-search label{font-size:13px}.tr-past-search input[type=date],.tr-past-search button{width:100%;min-height:44px}.tr-calendar-bar{padding:12px}.tr-cal-day{min-height:36px;font-size:13px}.tr-cal-month-nav{width:32px;height:32px;min-height:32px}.tr-upcoming-bar{padding:8px 12px;gap:8px}.tr-upcoming-chip{padding:6px 10px;min-height:36px}.tr-type-tabs{gap:4px}.tr-type-tab{padding:6px 10px;min-height:36px}.tr-section-header{flex-wrap:wrap;gap:8px;padding-bottom:10px}.tr-section-count{padding:4px 10px;min-height:28px;display:flex;align-items:center}.view-header{flex-direction:column;align-items:flex-start;gap:12px}.view-controls{width:100%;flex-wrap:wrap;justify-content:flex-start}.view-controls .btn,.view-controls button{min-height:40px}.tr-participants-table{min-width:420px}.tr-participants-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.tr-type-badge{font-size:10px;padding:3px 8px}.tr-expand-btn{width:32px;height:32px;min-height:32px}.tr-section-card{padding:16px;margin-bottom:20px}.tr-empty{padding:32px 16px}.modal-footer{flex-direction:column;gap:8px}.modal-footer .btn{width:100%;min-height:44px}}@media (max-width: 1024px) and (min-width: 769px){.data-table{font-size:13px}.tr-actions .btn{padding:5px 10px;font-size:12px}.tr-btn{padding:5px 10px}}@media (min-width: 1280px){.tr-calendar-bar{padding:10px 20px}.tr-cal-day{min-height:30px;font-size:13px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:20px}.error-boundary-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:48px;max-width:600px;box-shadow:0 20px 60px #0000001f;animation:slideUpIn .4s ease-out}@keyframes slideUpIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-boundary-content h2{margin:0 0 16px;color:#dc2626;font-size:24px;font-weight:700}.error-boundary-content p{margin:0 0 24px;color:var(--text-secondary);font-size:15px;line-height:1.6}.error-message{background:linear-gradient(135deg,#ef444414,#ef44440a);border-left:4px solid #dc2626;padding:16px;border-radius:8px;font-size:13px;color:#7f1d1d;margin-bottom:20px}.error-details{margin:20px 0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0;overflow:hidden}.error-details summary{padding:14px 16px;cursor:pointer;color:var(--text-secondary);font-weight:600;-webkit-user-select:none;user-select:none;transition:all .2s ease;list-style:none;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.error-details summary::-webkit-details-marker{display:none}.error-details summary:before{content:"▶ ";margin-right:8px;transition:transform .2s}.error-details[open] summary:before{transform:rotate(90deg)}.error-details summary:hover{background:var(--surface-hover)}.error-details pre{margin:0;padding:16px;background:#0f172a;color:#6ee7b7;font-size:12px;overflow-x:auto;line-height:1.4;font-family:Courier New,monospace}.error-boundary-content .btn{width:100%;justify-content:center;margin-top:20px}@media (max-width: 768px){.error-boundary-content{padding:32px 24px}.error-boundary-content h2{font-size:20px}.error-boundary-content p{font-size:14px}}@media (max-width: 480px){.error-boundary-content{padding:24px 20px;border-radius:8px}.error-boundary-content h2{font-size:18px}}.remote-open-card{position:relative;display:flex;align-items:center;gap:14px;width:100%;max-width:400px;padding:16px 18px;margin:0 0 14px;background:var(--surface);border:1px solid var(--border, rgba(148, 163, 184, .2));border-radius:18px;color:var(--text-primary, #f1f5f9);text-align:left;font:inherit;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .25s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent;box-shadow:0 8px 22px #0000001f}.remote-open-card:hover:not([disabled]){transform:translateY(-2px);border-color:var(--accent-primary)}.remote-open-card:active:not([disabled]){transform:scale(.985)}.remote-open-card:disabled{cursor:default}.remote-open-card.is-ready{border-color:var(--accent-primary)}.remote-open-card.is-out-of-hours,.remote-open-card.is-blocked{opacity:.62;border-color:var(--border, rgba(148, 163, 184, .2))}.remote-open-card.is-confirming{border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.1),transparent 60%),var(--surface)}.remote-open-card.is-opening{border-color:var(--accent-primary);background:linear-gradient(135deg,rgba(99,102,241,.12),transparent 60%),var(--surface)}.remote-open-card.is-success{border-color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.14),transparent 60%),var(--surface)}.remote-open-card.is-error{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.12),transparent 60%),var(--surface)}.remote-open-icon{position:relative;flex:0 0 auto;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#eef2ff;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 1px #ffffff1a inset,0 6px 14px #4f46e547;transition:background .25s ease}.remote-open-card.is-out-of-hours .remote-open-icon,.remote-open-card.is-blocked .remote-open-icon{background:linear-gradient(135deg,#475569,#334155);box-shadow:none}.remote-open-card.is-confirming .remote-open-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.remote-open-card.is-success .remote-open-icon{background:linear-gradient(135deg,#10b981,#059669)}.remote-open-card.is-error .remote-open-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.remote-open-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:20px;border:2px solid rgba(99,102,241,.55);animation:remote-open-pulse-ring 2.4s ease-out infinite;pointer-events:none}@keyframes remote-open-pulse-ring{0%{transform:scale(.96);opacity:.7}70%{transform:scale(1.18);opacity:0}to{transform:scale(1.18);opacity:0}}@media (prefers-reduced-motion: reduce){.remote-open-pulse,.remote-open-confirm-ring,.remote-open-icon .is-spin{animation:none}}.remote-open-icon .is-spin{animation:remote-open-spin .9s linear infinite}@keyframes remote-open-spin{to{transform:rotate(360deg)}}.remote-open-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}.remote-open-title{font-size:16px;font-weight:700;color:var(--text-primary, #f1f5f9)}.remote-open-caption{font-size:12px;color:var(--text-muted, #94a3b8);font-variant-numeric:tabular-nums;line-height:1.35}.remote-open-card.is-confirming .remote-open-caption{color:#f59e0b;font-weight:600}.remote-open-card.is-success .remote-open-caption{color:#10b981;font-weight:600}.remote-open-card.is-error .remote-open-caption{color:#ef4444;font-weight:600}.remote-open-confirm-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;pointer-events:none;border:2px solid rgba(245,158,11,.6);animation:remote-open-confirm 4s linear forwards}@keyframes remote-open-confirm{0%{clip-path:inset(0 0 0 0);opacity:.9}to{clip-path:inset(0 100% 0 0);opacity:.3}}.qa-access-section-label{width:100%;max-width:400px;display:flex;align-items:center;gap:10px;margin:6px 0 4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted, #94a3b8)}.qa-access-section-label:after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,rgba(148,163,184,.2) 0%,transparent 100%)}.fcm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9998}.fcm-box{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 70px #0000008c}.fcm-header{display:flex;align-items:center;justify-content:space-between}.fcm-title{font-size:16px;font-weight:700;color:var(--text-primary, #f1f5f9)}.fcm-close{background:none;border:none;color:var(--text-muted, #94a3b8);font-size:22px;cursor:pointer;line-height:1;padding:0}.fcm-close:disabled{opacity:.4;cursor:not-allowed}.fcm-error{background:#dc26261f;border:1px solid rgba(220,38,38,.35);color:#fca5a5;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4}.fcm-viewport{position:relative;width:100%;aspect-ratio:4 / 5;border-radius:14px;overflow:hidden;background:#0a0a0a;display:flex;align-items:center;justify-content:center}.fcm-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.fcm-preview{width:100%;height:100%;object-fit:cover}.fcm-guide{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 38% 30% at 50% 45%,transparent 0%,transparent 96%,rgba(99,102,241,.55) 97%,rgba(99,102,241,.55) 100%)}.fcm-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #94a3b8);font-size:13px;background:#0000004d}.fcm-hint{font-size:13px;color:var(--text-secondary, #cbd5e1);margin:0;line-height:1.5;text-align:center}.fcm-actions{display:flex;gap:10px}.fcm-btn{flex:1 1 0;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background-color .15s,border-color .15s,opacity .15s}.fcm-btn:disabled{opacity:.55;cursor:not-allowed}.fcm-btn--primary{background:var(--sz-primary, #6366f1);color:var(--sz-primary-text, #ffffff)}.fcm-btn--primary:not(:disabled):hover{background:var(--sz-primary-hover, #5b5fe3)}.fcm-btn--secondary{background:transparent;color:var(--text-primary, #f1f5f9);border-color:var(--border, rgba(148, 163, 184, .3))}.fcm-btn--secondary:not(:disabled):hover{background:#94a3b814}@media (max-width: 480px){.fcm-box{padding:16px}.fcm-viewport{aspect-ratio:4 / 5}}.logs-view{max-width:1400px;margin:0 auto;padding:24px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.logs-header-left{display:flex;align-items:center;gap:10px}.logs-header h2{font-size:20px;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.logs-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--bg-tertiary, #e2e8f0);color:var(--text-secondary, #475569);font-size:12px;font-weight:600}.logs-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary, #fff);color:var(--text-secondary, #475569);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.logs-refresh-btn:hover{background:var(--bg-secondary, #f8fafc);border-color:var(--border-secondary)}.logs-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.logs-filters{margin-bottom:16px}.logs-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.logs-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.logs-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted, #94a3b8);pointer-events:none}.logs-search-input{width:100%;padding:8px 10px 8px 34px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-primary, #fff);color:var(--text-primary, #1e293b);transition:border-color .15s;box-sizing:border-box}.logs-search-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.logs-filter-select,.logs-filter-date{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-primary, #fff);color:var(--text-primary, #1e293b);cursor:pointer;transition:border-color .15s}.logs-filter-select:focus,.logs-filter-date:focus{outline:none;border-color:#6366f1}.logs-filter-date{width:140px}.logs-clear-btn{padding:8px 12px;border:none;border-radius:8px;background:#fef2f2;color:#ef4444;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.logs-clear-btn:hover{background:#fee2e2}.logs-loading,.logs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.logs-error{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;color:#dc2626;font-size:13px}.logs-error button{padding:4px 12px;background:var(--surface);border:1px solid var(--error-bg);border-radius:6px;color:var(--error);cursor:pointer;font-size:12px}.logs-table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto;background:var(--bg-primary, #fff)}.logs-table{width:100%;border-collapse:collapse;font-size:13px}.logs-table thead th{padding:10px 14px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border);white-space:nowrap}.logs-table tbody tr.logs-row{cursor:pointer;transition:background .1s}.logs-table tbody tr.logs-row:hover{background:var(--surface-hover)}.logs-table tbody tr.logs-row.expanded{background:var(--bg-secondary, #f8fafc)}.logs-table tbody td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.logs-cell-time{white-space:nowrap;font-size:12px;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.logs-category-badge,.logs-level-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.logs-cell-action{font-weight:500;color:var(--text-primary, #1e293b);max-width:420px}.logs-action-icon{margin-right:6px;font-size:14px}.logs-action-route{display:flex;flex-direction:column;gap:4px}.logs-action-route-top{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}.logs-route-path{font-size:12px;color:var(--text-primary, #1e293b);font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.logs-action-route-bottom{display:flex;align-items:center;gap:6px;padding-left:2px}.logs-method-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;font-family:SF Mono,Fira Code,monospace;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.logs-method-get{background:#dcfce7;color:#15803d}.logs-method-post{background:#dbeafe;color:#1d4ed8}.logs-method-put{background:#fef3c7;color:#b45309}.logs-method-patch{background:#ffedd5;color:#c2410c}.logs-method-delete{background:#fee2e2;color:#b91c1c}[data-theme=dark] .logs-method-get{background:#15803d40;color:#4ade80}[data-theme=dark] .logs-method-post{background:#1d4ed840;color:#60a5fa}[data-theme=dark] .logs-method-put{background:#b4530940;color:#fbbf24}[data-theme=dark] .logs-method-patch{background:#c2410c40;color:#fb923c}[data-theme=dark] .logs-method-delete{background:#b91c1c40;color:#f87171}.logs-http-status{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;font-family:SF Mono,Fira Code,monospace;white-space:nowrap}.logs-status-2xx{background:#dcfce7;color:#15803d}.logs-status-3xx{background:#dbeafe;color:#1d4ed8}.logs-status-4xx{background:#fef3c7;color:#b45309}.logs-status-5xx{background:#fee2e2;color:#b91c1c}[data-theme=dark] .logs-status-2xx{background:#15803d40;color:#4ade80}[data-theme=dark] .logs-status-3xx{background:#1d4ed840;color:#60a5fa}[data-theme=dark] .logs-status-4xx{background:#b4530940;color:#fbbf24}[data-theme=dark] .logs-status-5xx{background:#b91c1c40;color:#f87171}.logs-duration-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace;background:var(--bg-secondary);color:var(--text-muted, #64748b);white-space:nowrap}.logs-cell-actor{display:flex;flex-direction:column;gap:2px}.logs-actor-email{font-size:12px;color:var(--text-primary, #1e293b)}.logs-actor-role{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #94a3b8)}.logs-cell-detail{font-size:12px;color:var(--text-secondary, #64748b);max-width:220px;min-width:120px}.logs-detail-target{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-primary, #1e293b);font-weight:500}.logs-target-arrow{color:var(--text-muted, #94a3b8);font-size:13px;flex-shrink:0}.logs-target-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-detail-hik{display:flex;flex-direction:column;gap:2px}.logs-hik-ip{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--text-primary, #1e293b);font-weight:500}.logs-hik-event{font-size:10px;color:var(--text-muted, #94a3b8)}.logs-cell-ip{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--text-secondary, #64748b)}.logs-cell-empty{color:var(--text-muted, #94a3b8)}.logs-detail-security{display:flex;flex-direction:column;gap:2px}.logs-security-label{font-size:11px;font-weight:600;color:#ef4444}.logs-security-ip{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#b91c1c;font-weight:600}.logs-payment-amount{font-size:12px;font-weight:600;color:#14b8a6}.logs-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981}.logs-status-dot.failure{background:#ef4444}.logs-cell-expand{width:30px;text-align:center}.logs-chevron{transition:transform .15s;color:var(--text-muted, #94a3b8)}.logs-chevron.open{transform:rotate(180deg)}.logs-detail-row td{padding:0 14px 14px!important;background:var(--bg-secondary, #f8fafc);border-bottom:2px solid var(--border)!important}.logs-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:12px;background:var(--bg-primary, #fff);border-radius:8px;border:1px solid var(--border)}.logs-detail-item{display:flex;flex-direction:column;gap:2px}.logs-detail-full{grid-column:1 / -1}.logs-detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #94a3b8);font-weight:600}.logs-detail-value{font-size:12px;color:var(--text-primary, #1e293b);word-break:break-all}.logs-detail-json{background:var(--bg-secondary);border-radius:6px;padding:10px;font-size:11px;font-family:SF Mono,Fira Code,monospace;overflow-x:auto;color:var(--text-primary, #1e293b);margin:0;white-space:pre-wrap;word-break:break-word}.logs-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:16px 0}.logs-page-btn{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary, #fff);color:var(--text-secondary, #475569);font-size:13px;cursor:pointer;transition:all .15s}.logs-page-btn:hover:not(:disabled){background:var(--bg-secondary, #f8fafc);border-color:var(--border-secondary)}.logs-page-btn:disabled{opacity:.4;cursor:not-allowed}.logs-page-btn--icon{padding:0;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.logs-page-numbers{display:inline-flex;align-items:center;gap:4px}.logs-page-num{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary, #fff);color:var(--text-secondary, #475569);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.logs-page-num:hover{background:var(--bg-secondary, #f8fafc);border-color:var(--border-secondary)}.logs-page-num--active,.logs-page-num--active:hover{background:#6366f1;border-color:#6366f1;color:#fff;cursor:default}.logs-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:34px;color:var(--text-secondary, #94a3b8);font-size:13px;-webkit-user-select:none;user-select:none}.logs-page-info{font-size:13px;color:var(--text-secondary, #64748b);margin-left:12px}.logs-loading .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:#6366f1;border-radius:50%;animation:spin .6s linear infinite}@media (max-width: 768px){.logs-view{padding:16px}.logs-filter-row{flex-direction:column}.logs-search-wrap{max-width:100%}.logs-filter-date{width:100%}.logs-table-wrap{border-radius:8px}.logs-table thead th,.logs-table tbody td{padding:8px 10px;font-size:11px}.logs-cell-detail{max-width:120px}.logs-detail-grid{grid-template-columns:1fr}}[data-theme=dark] .logs-clear-btn{background:#ef444426}[data-theme=dark] .logs-error{background:#ef44441a;border-color:#ef44444d}[data-theme=dark] .logs-error button{background:transparent;border-color:#ef44444d}[data-theme=dark] .logs-security-ip{color:#f87171}.pending-registrations-view .search-input{padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;min-width:260px;max-width:480px;width:100%;flex:0 1 480px;transition:border-color .2s ease}.pending-registrations-view .search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f614}.pending-registrations-view .cell-name{font-weight:600;color:var(--text-primary)}.pending-registrations-view .cell-email{font-size:13px;color:var(--text-secondary)}.pending-registrations-view .cell-price{font-weight:600;color:#059669}.pending-registrations-view .cell-date{font-size:13px;color:var(--text-muted);white-space:nowrap}.pending-registrations-view .cell-actions{display:flex;gap:6px;flex-wrap:nowrap}.pending-registrations-view .row-muted td{opacity:.55}.package-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:var(--sz-info-soft);color:var(--sz-info);white-space:nowrap}.badge-warning{background:var(--warning-bg);color:var(--warning-text, #b45309)}.badge-info{background:var(--sz-info-soft);color:var(--sz-info)}.already-done-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}.already-done-section h3{font-size:18px;font-weight:600;color:var(--text-muted);margin-bottom:16px}.btn-sm{padding:6px 14px;font-size:13px;border-radius:6px;font-weight:600;cursor:pointer;border:none;transition:all .15s ease}.btn-primary:hover{box-shadow:0 2px 8px #2a2a274d}.btn-danger{background:var(--sz-danger-soft);color:var(--sz-danger);border:1px solid var(--sz-danger-soft)}.btn-danger:hover{background:var(--sz-danger);color:var(--sz-primary-text, #fff)}.btn-secondary{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:16px}.pending-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.pending-modal{background:var(--surface);border-radius:16px;width:95%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.pending-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.pending-modal-header h3{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.pending-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);padding:0;line-height:1}.pending-modal-body{padding:24px}.pending-modal-info{padding:12px 16px;background:var(--sz-info-soft);border:1px solid var(--sz-info-soft);border-radius:8px;color:var(--sz-info);font-size:14px;margin-bottom:20px}.pending-modal-details{background:var(--bg-secondary);border-radius:8px;padding:16px;margin-bottom:20px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.detail-row+.detail-row{border-top:1px solid var(--border)}.detail-label{font-size:13px;color:var(--text-muted);font-weight:500}.detail-value{font-size:14px;font-weight:600;color:var(--text-primary)}.detail-value.mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}.pending-modal-body .form-group{margin-bottom:16px}.pending-modal-body .form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.pending-modal-body .form-group input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;box-sizing:border-box}.pending-modal-body .form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f614}.pending-modal-body .form-group input:disabled{background:var(--surface-hover);color:var(--text-muted)}.pending-modal-body .form-group select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;box-sizing:border-box;background:var(--surface);cursor:pointer}.pending-modal-body .form-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f614}.email-changed-note{display:block;margin-top:4px;font-size:12px;color:var(--warning-text, #f59e0b);font-weight:500}.pending-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border)}.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.alert-success{background:var(--sz-success-soft);color:var(--success-text);border:1px solid var(--sz-success-soft)}.alert-error{background:var(--sz-danger-soft);color:var(--error-text);border:1px solid var(--sz-danger-soft)}@media (max-width: 768px){.pending-registrations-view .search-input{min-width:unset;width:100%}.pending-registrations-view .cell-actions{flex-direction:column;gap:4px}.pending-modal{width:100%;max-width:100%;max-height:90vh;border-radius:16px 16px 0 0}.pending-modal-backdrop{align-items:flex-end}.pending-modal-body,.pending-modal-header{padding:16px}}@media (max-width: 480px){.pending-modal-footer{flex-direction:column;padding:12px 16px}.pending-modal-footer .btn{width:100%;text-align:center}}.admin-messaging{padding:0;height:100vh;height:100svh;display:flex;flex-direction:column;overflow:hidden}.admin-messaging-header{padding:20px 24px 16px;border-bottom:1px solid var(--border)}.admin-messaging-header h2{margin:0;font-size:22px;font-weight:700;color:var(--text-primary)}.admin-msg-error{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin:8px 16px;background:var(--sz-danger-soft);color:var(--sz-danger);border-radius:8px;font-size:14px}.admin-msg-error button{background:none;border:none;color:var(--sz-danger);font-size:18px;cursor:pointer;padding:0 4px}.admin-messaging-content{display:flex;flex:1;min-height:0;overflow:hidden}.admin-msg-sidebar{width:340px;min-width:280px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--surface)}.admin-msg-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.admin-msg-sidebar-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.admin-msg-new-btn{background:none;border:none;padding:6px;border-radius:8px;cursor:pointer;color:var(--accent-primary)}.admin-msg-new-btn:hover{background:#6c63ff14}.admin-msg-new-chat{padding:12px;border-bottom:1px solid var(--border)}.admin-msg-search{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.admin-msg-search:focus{border-color:var(--accent-primary)}.admin-msg-contacts{max-height:240px;overflow-y:auto;margin-top:8px}.admin-msg-empty-contacts{text-align:center;padding:16px;color:var(--text-muted);font-size:13px}.admin-msg-contact-item{display:flex;align-items:center;gap:10px;padding:10px 8px;width:100%;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s}.admin-msg-contact-item:hover{background:var(--bg-secondary)}.admin-msg-contact-info{display:flex;flex-direction:column;flex:1;min-width:0}.admin-msg-contact-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-msg-contact-email{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-msg-cancel-new{width:100%;margin-top:8px;padding:6px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:13px}.admin-msg-cancel-new:hover{background:var(--bg-secondary)}.admin-msg-list{flex:1;overflow-y:auto}.admin-msg-loading{display:flex;justify-content:center;padding:40px 0}.admin-msg-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent-primary);border-radius:50%;animation:admin-msg-spin .8s linear infinite}@keyframes admin-msg-spin{to{transform:rotate(360deg)}}.admin-msg-empty{display:flex;flex-direction:column;align-items:center;padding:40px 16px;gap:12px}.admin-msg-empty p{color:var(--text-muted);font-size:14px;margin:0}.admin-msg-start-btn{padding:8px 20px;background:var(--accent-primary);color:var(--sz-primary-text, #fff);border:none;border-radius:6px;font-size:13px;cursor:pointer}.admin-msg-start-btn:hover{opacity:.9}.admin-msg-item{display:flex;align-items:center;gap:10px;padding:12px 16px;width:100%;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left}.admin-msg-item:hover{background:var(--bg-secondary)}.admin-msg-item.active{background:#6c63ff0f;border-left:3px solid var(--accent-primary)}.admin-msg-item.unread{background:#6c63ff0a}.admin-msg-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.admin-msg-item-content{flex:1;min-width:0}.admin-msg-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:3px}.admin-msg-item-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-msg-item-time{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.admin-msg-item.unread .admin-msg-item-time{color:var(--accent-primary);font-weight:600}.admin-msg-item-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.admin-msg-item-preview{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.admin-msg-item.unread .admin-msg-item-preview{color:var(--text-primary);font-weight:500}.admin-msg-badge{background:var(--accent-primary);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;flex-shrink:0}.admin-msg-chat{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.admin-msg-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px;color:var(--text-muted)}.admin-msg-chat-empty svg{opacity:.3}.admin-msg-chat-empty p{font-size:15px;margin:0}.admin-msg-chat-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.admin-msg-chat-back{display:none;background:none;border:none;padding:6px;cursor:pointer;color:var(--text-primary)}.admin-msg-chat-name{font-size:15px;font-weight:600;color:var(--text-primary)}.admin-msg-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:4px}.admin-msg-messages-empty{display:flex;align-items:center;justify-content:center;flex:1}.admin-msg-messages-empty p{color:var(--text-muted);font-size:14px}.admin-msg-date-sep{display:flex;align-items:center;justify-content:center;margin:12px 0}.admin-msg-date-sep span{background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;padding:3px 10px;border-radius:10px}.admin-msg-bubble{max-width:65%;padding:10px 14px;border-radius:16px;margin-bottom:2px}.admin-msg-bubble.mine{align-self:flex-end;background:var(--sz-primary);color:var(--sz-primary-text, #fff);border-bottom-right-radius:4px}.admin-msg-bubble.theirs{align-self:flex-start;background:var(--surface);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border)}.admin-msg-sender{display:block;font-size:11px;font-weight:600;color:var(--accent-primary);margin-bottom:2px}.admin-msg-text{margin:0;font-size:14px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.admin-msg-time{display:block;font-size:10px;margin-top:3px;opacity:.7;text-align:right}.admin-msg-bubble.theirs .admin-msg-time{color:var(--text-muted);opacity:1}.admin-msg-composer{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.admin-msg-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;background:var(--bg-primary);color:var(--text-primary)}.admin-msg-input:focus{border-color:var(--accent-primary)}.admin-msg-send-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.admin-msg-send-btn:disabled{opacity:.4;cursor:not-allowed}.admin-msg-send-btn:not(:disabled):hover{opacity:.9}@media (max-width: 768px){.admin-msg-sidebar{width:100%;min-width:unset;display:flex}.admin-msg-chat{display:none}.admin-messaging-content:has(.admin-msg-chat.active) .admin-msg-sidebar{display:none}.admin-messaging-content:has(.admin-msg-chat.active) .admin-msg-chat{display:flex}.admin-msg-chat.active,.admin-msg-chat-back{display:flex}.admin-msg-bubble{max-width:80%}}.pwa-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:10000;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--sz-bg-card);border:1px solid var(--sz-border);border-radius:var(--sz-radius-lg);box-shadow:var(--sz-shadow-lg);padding-bottom:calc(12px + env(safe-area-inset-bottom));animation:pwa-slide-up .3s var(--sz-ease)}@keyframes pwa-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.pwa-banner__icon img{border-radius:var(--sz-radius-md);display:block;flex-shrink:0}.pwa-banner__body{flex:1;min-width:0}.pwa-banner__title{font-size:var(--sz-fs-13);font-weight:600;color:var(--sz-text);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-banner__msg{font-size:var(--sz-fs-12);color:var(--sz-text-soft);margin:0;line-height:1.45}.pwa-share-icon{display:inline-block;font-size:14px;vertical-align:middle;margin:0 1px;color:var(--sz-brand)}.pwa-banner__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pwa-banner__btn{border:1px solid transparent;border-radius:var(--sz-radius-md);font-family:inherit;font-weight:500;cursor:pointer;transition:background var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease);line-height:1}.pwa-banner__btn--install{padding:8px 14px;font-size:var(--sz-fs-13);background:var(--sz-primary);color:#fff}.pwa-banner__btn--install:hover:not(:disabled){background:var(--sz-primary-hover)}.pwa-banner__btn--install:disabled{opacity:.5;cursor:default}.pwa-banner__btn--dismiss{padding:6px 9px;font-size:14px;background:transparent;color:var(--sz-text-mute);border-color:var(--sz-border)}.pwa-banner__btn--dismiss:hover{background:var(--sz-bg-subtle);color:var(--sz-text)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:20px;background-color:var(--color-bg)}.loading-container .spinner{width:40px;height:40px;border-width:3px;border-color:var(--color-border);border-top-color:var(--color-accent)}.loading-container p{color:var(--color-text-secondary);font-size:14px;font-weight:500}.btn{padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;letter-spacing:-.01em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-base)}.btn-secondary{background-color:var(--surface, var(--color-surface));color:var(--text-secondary, var(--color-text-secondary));border-color:var(--border, var(--color-border))}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface);border-color:var(--color-text-secondary);color:var(--color-text)}.btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success);box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover);border-color:var(--color-success-hover)}.btn-danger{background-color:var(--color-danger);color:#fff;border-color:var(--color-danger);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface);color:var(--color-text)}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:10px 20px;font-size:15px}@media (max-width: 768px){.hide-on-mobile{display:none!important}}:root{--sz-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--sz-font-mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--sz-fs-11: 11px;--sz-fs-12: 12px;--sz-fs-13: 13px;--sz-fs-14: 14px;--sz-fs-16: 16px;--sz-fs-18: 18px;--sz-fs-22: 22px;--sz-fs-28: 28px;--sz-fs-36: 36px;--sz-bg: #fafaf9;--sz-bg-subtle: #f5f5f4;--sz-bg-card: #ffffff;--sz-bg-inset: #f3f3f2;--sz-text: #1c1c1a;--sz-text-soft: #52524e;--sz-text-mute: #8a8a85;--sz-border: #e7e5e2;--sz-border-strong:#d4d2ce;--sz-brand: #b8892b;--sz-brand-soft: #f5eacf;--sz-brand-ink: #5f4411;--sz-primary: #2a2a27;--sz-primary-hover:#0f0f0e;--sz-success: #3f7a3f;--sz-success-soft: #e6f0e3;--sz-warning: #a56a1a;--sz-warning-soft: #f6ecd6;--sz-danger: #b53232;--sz-danger-soft: #f5dcdc;--sz-info: #2f5d86;--sz-info-soft: #dceaf5;--sz-space-1: 4px;--sz-space-2: 8px;--sz-space-3: 12px;--sz-space-4: 16px;--sz-space-5: 20px;--sz-space-6: 24px;--sz-space-8: 32px;--sz-space-10: 40px;--sz-space-12: 48px;--sz-radius-sm: 4px;--sz-radius-md: 6px;--sz-radius-lg: 10px;--sz-radius-pill: 999px;--sz-shadow-xs: 0 1px 0 rgba(24, 23, 20, .04);--sz-shadow-sm: 0 1px 2px rgba(24, 23, 20, .06), 0 0 0 1px rgba(24, 23, 20, .04);--sz-shadow-md: 0 4px 12px rgba(24, 23, 20, .08), 0 0 0 1px rgba(24, 23, 20, .04);--sz-shadow-lg: 0 12px 32px rgba(24, 23, 20, .12);--sz-ease: cubic-bezier(.2, .7, .2, 1);--sz-dur-fast: .12s;--sz-dur: .2s;--sz-page-max: 1280px;--sz-page-pad-x: clamp(16px, 4vw, 32px);--sz-page-pad-y: clamp(16px, 3vw, 28px);--color-primary: var(--sz-bg-card);--color-secondary: var(--sz-bg);--color-surface: var(--sz-bg-subtle);--color-surface-light: var(--sz-border);--color-accent: var(--sz-brand);--color-accent-hover: var(--sz-brand-ink);--color-accent-light: var(--sz-brand-soft);--color-success: var(--sz-success);--color-success-hover: var(--sz-success);--color-success-light: var(--sz-success-soft);--color-warning: var(--sz-warning);--color-warning-hover: var(--sz-warning);--color-warning-light: var(--sz-warning-soft);--color-danger: var(--sz-danger);--color-danger-hover: var(--sz-danger);--color-danger-light: var(--sz-danger-soft);--color-text: var(--sz-text);--color-text-secondary: var(--sz-text-soft);--color-text-tertiary: var(--sz-text-mute);--color-text-muted: var(--sz-text-mute);--color-border: var(--sz-border);--color-border-light: var(--sz-bg-subtle);--color-bg: var(--sz-bg);--spacing-xs: var(--sz-space-1);--spacing-sm: var(--sz-space-2);--spacing-md: var(--sz-space-3);--spacing-lg: var(--sz-space-4);--spacing-xl: var(--sz-space-6);--spacing-2xl: var(--sz-space-8);--font-family: var(--sz-font-sans);--font-size-xs: var(--sz-fs-11);--font-size-sm: var(--sz-fs-12);--font-size-base: var(--sz-fs-14);--font-size-lg: var(--sz-fs-16);--font-size-xl: var(--sz-fs-18);--font-size-2xl: var(--sz-fs-22);--font-size-3xl: var(--sz-fs-28);--bg-primary: var(--sz-bg);--bg-secondary: var(--sz-bg-card);--surface: var(--sz-bg-card);--text-primary: var(--sz-text);--text-secondary: var(--sz-text-soft);--border-color: var(--sz-border)}[data-theme=dark]{--sz-bg: #17171a;--sz-bg-subtle: #1f1f23;--sz-bg-card: #1b1b1f;--sz-bg-inset: #15151a;--sz-text: #f1efeb;--sz-text-soft: #b7b4ae;--sz-text-mute: #7f7d78;--sz-border: #2b2b30;--sz-border-strong:#3a3a40;--sz-brand: #d7a74a;--sz-brand-soft: #3a2d14;--sz-brand-ink: #f6e3bd;--sz-primary: #e8dcc6;--sz-primary-hover:#f1efeb;--sz-primary-text: #1c1c1a;--sz-success: #4ade80;--sz-success-soft: #1a2a1a;--sz-warning: #fbbf24;--sz-warning-soft: #2e2414;--sz-danger: #f87171;--sz-danger-hover: #ef4444;--sz-danger-soft: #321a1a;--sz-info: #60a5fa;--sz-info-soft: #16283a;--sz-shadow-xs: 0 1px 0 rgba(0, 0, 0, .3);--sz-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .04);--sz-shadow-md: 0 4px 12px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .04);--sz-shadow-lg: 0 12px 32px rgba(0, 0, 0, .6)}.sz-label{font-family:var(--sz-font-mono);font-size:var(--sz-fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--sz-text-mute);font-weight:500}html,body{background:var(--sz-bg);color:var(--sz-text);font-family:var(--sz-font-sans);font-size:var(--sz-fs-14);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*:focus-visible{outline:2px solid var(--sz-brand);outline-offset:2px;border-radius:var(--sz-radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sz-border-strong);border-radius:var(--sz-radius-pill);border:2px solid var(--sz-bg)}::-webkit-scrollbar-thumb:hover{background:var(--sz-text-mute)}code,kbd,samp,pre{font-family:var(--sz-font-mono);font-size:.9em}button{font-family:inherit}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #ffffff;--color-secondary: #fafafa;--color-surface: #f4f4f5;--color-surface-light: #e4e4e7;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-light: #eef2ff;--color-success: #16a34a;--color-success-hover: #15803d;--color-success-light: #dcfce7;--color-warning: #ea580c;--color-warning-hover: #c2410c;--color-warning-light: #ffedd5;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-light: #fee2e2;--color-text: #18181b;--color-text-secondary: #52525b;--color-text-tertiary: #71717a;--color-text-muted: #a1a1aa;--color-border: #d4d4d8;--color-border-light: #f4f4f5;--border: #d4d4d8;--color-bg: #f8fafc;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .04), 0 1px 2px -1px rgba(0, 0, 0, .02);--shadow-md: 0 2px 4px -1px rgba(0, 0, 0, .05), 0 1px 3px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 4px 6px -2px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .2s ease;--accent-primary: var(--color-accent);--accent-hover: var(--color-accent-hover);--primary: var(--color-accent);--bg-primary: var(--color-primary);--bg-secondary: #ffffff;--bg-tertiary: var(--color-surface);--surface: var(--color-surface);--surface-hover: var(--color-surface-light);--text-primary: var(--color-text);--text-secondary: var(--color-text-secondary);--border-secondary: var(--color-border-light);--success: var(--color-success);--success-bg: var(--color-success-light);--success-text: #14532d;--error: var(--color-danger);--error-bg: var(--color-danger-light);--error-text: #7f1d1d;--inactive-bg: var(--color-surface);--inactive-text: var(--color-text-tertiary)}html,body{margin:0;padding:0;height:100%;background-color:var(--bg-primary, var(--color-bg))}[data-theme=dark]{--color-primary: var(--sz-bg);--color-secondary: var(--sz-bg-subtle);--color-surface: var(--sz-bg-card);--color-surface-light: var(--sz-bg-subtle);--color-accent: var(--sz-brand);--color-accent-hover: var(--sz-brand-soft);--color-accent-light: rgba(215, 167, 74, .12);--color-text: var(--sz-text);--color-text-secondary: var(--sz-text-soft);--color-text-tertiary: var(--sz-text-mute);--color-text-muted: var(--sz-text-mute);--color-border: var(--sz-border);--color-border-light: var(--sz-bg-subtle);--border: var(--sz-border);--color-bg: var(--sz-bg);--bg-secondary: var(--sz-bg-card);--bg-primary: var(--sz-bg);--bg-tertiary: var(--sz-bg-card);--surface: var(--sz-bg-card);--surface-hover: var(--sz-bg-subtle);--text-primary: var(--sz-text);--text-secondary: var(--sz-text-soft);--accent-primary: var(--sz-brand);--accent-hover: var(--sz-brand-soft);--border-secondary: var(--sz-bg-subtle);--success-text: var(--sz-success);--error-text: var(--sz-danger);--warning-text: var(--sz-warning);--info-text: var(--sz-info);--warning-bg: var(--sz-warning-soft);--error-bg: var(--sz-danger-soft);--success-bg: var(--sz-success-soft)}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--bg-primary, var(--color-bg));line-height:1.5}#root{width:100%;min-height:100vh;background-color:var(--bg-primary, var(--color-bg))}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;align-items:center;justify-content:center;height:100vh;flex-direction:column;gap:var(--spacing-md)}.loading-container p{color:var(--color-text-secondary)}button{font-family:var(--font-family);cursor:pointer;border:none;border-radius:var(--radius-md);padding:10px 16px;font-size:var(--font-size-base);font-weight:500;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}button:active:not(:disabled){transform:none}button:disabled{opacity:.6;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--sz-primary);color:var(--sz-primary-text, #fff)}.btn-primary:hover:not(:disabled){background:var(--sz-primary-hover)}.btn-secondary{background:var(--sz-bg-card);color:var(--sz-text);border:1px solid var(--sz-border)}.btn-secondary:hover:not(:disabled){background:var(--sz-bg-subtle);border-color:var(--sz-border-strong)}.btn-danger{background:var(--sz-danger);color:var(--sz-primary-text, #fff)}.btn-danger:hover:not(:disabled){background:var(--sz-danger-hover)}.btn-success{background:var(--sz-success);color:var(--sz-primary-text, #fff)}.btn-success:hover:not(:disabled){background:#2f5e2f}.btn-icon{background:transparent;border:none;padding:6px;font-size:16px;cursor:pointer;border-radius:var(--sz-radius-md);transition:background var(--sz-dur) var(--sz-ease),color var(--sz-dur) var(--sz-ease);display:inline-flex;align-items:center;justify-content:center;color:var(--sz-text-soft)}.btn-icon:hover:not(:disabled){background:var(--sz-bg-subtle);color:var(--sz-text)}.btn-icon.btn-edit{color:var(--color-accent)}.btn-icon.btn-delete{color:#ef4444}.btn-icon.btn-delete:hover{background-color:#ef44441a}.btn-icon.btn-success{color:var(--color-success)}.btn-icon.btn-success:hover{background-color:#10b9811a}.btn-icon.btn-warning{color:var(--color-warning)}.btn-icon.btn-warning:hover{background-color:#f59e0b1a}.btn-icon.btn-small{font-size:12px;padding:4px}input:not([type=checkbox]):not([type=radio]):not(.lp-input),select,textarea{font-family:var(--font-family);font-size:var(--font-size-base);border:1px solid var(--border, var(--color-border));border-radius:var(--radius-md);background-color:var(--bg-secondary, white);color:var(--text-primary, var(--color-text));padding:8px 12px;transition:all var(--transition-base)}input:not(.lp-input)::placeholder,select::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}input:not([type=checkbox]):not([type=radio]):not(.lp-input):hover,select:hover,textarea:hover{border-color:var(--color-text-tertiary)}input:not([type=checkbox]):not([type=radio]):not(.lp-input):focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}input:not([type=checkbox]):not([type=radio]):not(.lp-input):disabled,select:disabled,textarea:disabled{background-color:var(--color-surface);color:var(--color-text-tertiary);cursor:not-allowed}.error-message{background:var(--sz-danger-soft);border:1px solid color-mix(in srgb,var(--sz-danger) 25%,transparent);color:var(--sz-danger);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.error-box{background:var(--sz-danger-soft);border:1px solid color-mix(in srgb,var(--sz-danger) 25%,transparent);padding:10px 14px;margin-bottom:var(--sz-space-3);border-radius:var(--sz-radius-md);color:var(--sz-danger);font-size:var(--sz-fs-13)}.success-box{background:var(--sz-success-soft);border:1px solid color-mix(in srgb,var(--sz-success) 25%,transparent);padding:10px 14px;margin-bottom:var(--sz-space-3);border-radius:var(--sz-radius-md);color:var(--sz-success);font-size:var(--sz-fs-13)}.info-box{background:var(--sz-info-soft);border:1px solid color-mix(in srgb,var(--sz-info) 20%,transparent);padding:10px 14px;margin-top:var(--sz-space-4);border-radius:var(--sz-radius-md);color:var(--sz-info);font-size:var(--sz-fs-13)}.info-box p{margin:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.info-box strong{color:var(--color-text)}table{width:100%;border-collapse:collapse}th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--sz-border);font-size:var(--sz-fs-13)}th{background:var(--sz-bg-subtle);font-family:var(--sz-font-mono);font-weight:500;font-size:var(--sz-fs-11);color:var(--sz-text-mute);border-bottom:1px solid var(--sz-border);position:sticky;top:0;text-transform:uppercase;letter-spacing:.06em}tr{transition:background-color var(--sz-dur) var(--sz-ease)}tbody tr:hover{background-color:var(--sz-bg-subtle)}.badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.badge.booked{background:var(--sz-warning-soft);color:var(--sz-warning)}.badge.available{background:var(--sz-success-soft);color:var(--sz-success)}.badge.full{background:var(--sz-danger-soft);color:var(--sz-danger)}.badge-primary{background:var(--sz-info-soft);color:var(--sz-info)}.badge-secondary{background:var(--sz-bg-subtle);color:var(--sz-text-soft)}.badge-success{background:var(--sz-success-soft);color:var(--sz-success)}.badge-warning{background:var(--sz-warning-soft);color:var(--sz-warning)}.badge-danger{background:var(--sz-danger-soft);color:var(--sz-danger)}code{background-color:var(--sz-bg-subtle);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;color:var(--sz-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}@media (max-width: 768px){:root{--spacing-lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px}body{font-size:13px}input:not([type=checkbox]):not([type=radio]):not(.lp-input),select,textarea{font-size:16px}}button,a,[role=button],input,select,textarea,label{touch-action:manipulation}
