:root{--bg: #070c18;--surface: #0e1521;--surface-2: #131d2e;--surface-3: #1a2540;--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .14);--primary: #f97316;--primary-end: #ea580c;--primary-dim: rgba(249, 115, 22, .14);--primary-glow: rgba(249, 115, 22, .28);--text: #f1f5f9;--text-2: #94a3b8;--text-3: #475569;--success: #22c55e;--success-dim: rgba(34, 197, 94, .12);--warning: #f59e0b;--warning-dim: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-dim: rgba(239, 68, 68, .12);--sidebar-w: 248px;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0, 0, 0, .45);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{display:flex;min-height:100vh;background:var(--bg);position:relative}.app-shell:not(.dark):after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 4% 8%,rgba(249,115,22,.055) 0%,transparent 42%),radial-gradient(ellipse at 92% 85%,rgba(99,102,241,.045) 0%,transparent 42%);pointer-events:none;z-index:0}.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,#091424,#050e1c);color:#fff;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05);flex-shrink:0;position:relative;z-index:10}.sidebar:after{content:"";position:absolute;top:0;right:-1px;width:1px;height:100%;background:linear-gradient(180deg,rgba(249,115,22,.45) 0%,transparent 55%);pointer-events:none}.sidebar-header{padding:1.4rem 1.25rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:11px}.sidebar-header .logo-badge{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#f97316,#ea580c);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 18px #f9731673;font-size:18px;line-height:1}.sidebar-header .brand-text{display:flex;flex-direction:column}.sidebar-header .brand-name{font-size:.925rem;font-weight:700;color:#f1f5f9;letter-spacing:-.01em;line-height:1.25}.sidebar-header .brand-sub{font-size:.6rem;font-weight:700;color:var(--primary);letter-spacing:.1em;text-transform:uppercase}.sidebar nav{padding:.9rem .75rem;flex:1;display:flex;flex-direction:column;gap:2px}.nav-section-label{font-size:.6rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;padding:.6rem .5rem .3rem}.nav-link{display:flex;align-items:center;gap:9px;padding:.52rem .75rem;border-radius:var(--radius-sm);color:#7c8da6;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .14s ease;border:1px solid transparent;position:relative}.nav-link:hover{background:#ffffff0d;color:#c9d8e8}.nav-link.active{background:linear-gradient(135deg,#f973162e,#f9731612);color:var(--primary);border-color:#f9731638}.nav-link.active:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:3px;height:55%;background:var(--primary);border-radius:0 3px 3px 0;box-shadow:0 0 10px #f97316b3}.nav-link svg{flex-shrink:0;opacity:.65}.nav-link.active svg,.nav-link:hover svg{opacity:1}.nav-link.logout{background:none;border:none;text-align:left;width:100%;cursor:pointer;color:var(--text-3);font-family:inherit;font-size:.875rem;margin-top:4px}.nav-link.logout:hover{background:#ef444414;color:#f87171;border-color:transparent}.nav-link.logout:before{display:none}.sidebar-footer{padding:.85rem 1.25rem;border-top:1px solid rgba(255,255,255,.05);font-size:.68rem;color:var(--text-3);letter-spacing:.02em}.main-content{flex:1;padding:1.75rem 2rem;background:transparent;position:relative;z-index:1;min-width:0}h1{margin-top:0;margin-bottom:.25rem;font-size:1.45rem;font-weight:700;color:var(--text);letter-spacing:-.02em}h2{font-size:1.05rem;font-weight:600;color:var(--text);letter-spacing:-.01em;margin-top:0}h3{font-size:.95rem;font-weight:600;color:var(--text);margin-top:0}.page-subtitle{margin-top:0;margin-bottom:1.5rem;color:var(--text-2);font-size:.875rem}.analytics-period-label{margin:-.5rem 0 1rem;font-size:.75rem;color:var(--text-3);font-weight:500;letter-spacing:.02em}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.table th,.table td{padding:.72rem 1rem;font-size:.875rem;border-bottom:1px solid var(--border)}.table th{background:var(--surface-2);text-align:left;color:var(--text-3);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.table td{color:var(--text-2)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s;cursor:default}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:hover td{color:var(--text)}.card{margin-top:1rem;background:var(--surface);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.kpi-card{background:var(--surface);border-radius:var(--radius);padding:1.2rem 1.25rem;border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.kpi-card:hover{border-color:#f9731640;transform:translateY(-2px);box-shadow:0 8px 28px #0006}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),transparent 70%);opacity:.75}.kpi-label{font-size:.72rem;color:var(--text-3);margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.kpi-value{font-size:1.65rem;font-weight:700;color:var(--text);letter-spacing:-.035em;line-height:1}.kpi-trend-up{font-size:.7rem;color:#4ade80;margin-top:.35rem}.kpi-trend-down{font-size:.7rem;color:#f87171;margin-top:.35rem}.kpi-trend-neutral{font-size:.7rem;color:var(--text-3);margin-top:.35rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-top:1rem}.trend-chart{display:flex;align-items:end;gap:.45rem;min-height:150px;margin-top:.75rem;overflow-x:auto;padding-bottom:.25rem}.trend-col{display:flex;flex-direction:column;align-items:center;min-width:28px}.trend-bar{width:18px;border-radius:5px 5px 2px 2px;transition:opacity .15s,transform .15s}.trend-bar:hover{opacity:.8;transform:scaleY(1.03);transform-origin:bottom}.trend-bar.revenue{background:linear-gradient(180deg,#fb923c,#ea580c);box-shadow:0 0 8px #f9731659}.trend-bar.attendance{background:linear-gradient(180deg,#818cf8,#4f46e5);box-shadow:0 0 8px #6366f159}.trend-date{margin-top:.3rem;font-size:.65rem;color:var(--text-3)}.home-greeting{margin-bottom:.2rem}.home-date{font-size:.83rem;color:var(--text-2);margin-bottom:1.5rem}.home-alert-banner{background:#ef444412;border:1px solid rgba(239,68,68,.18);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1rem}.home-alert-title{font-size:.68rem;font-weight:700;color:#f87171;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.75rem}.home-alert-cards{display:flex;gap:.75rem;flex-wrap:wrap}.home-alert-card{flex:1;min-width:180px;background:#0000002e;border-radius:8px;padding:.75rem}.home-alert-card.red{border:1px solid rgba(239,68,68,.2)}.home-alert-card.amber{border:1px solid rgba(245,158,11,.2)}.home-alert-name{font-size:.83rem;font-weight:600;color:var(--text);margin-bottom:.2rem}.home-alert-desc.red{font-size:.73rem;color:#f87171}.home-alert-desc.amber{font-size:.73rem;color:#fbbf24}.home-alert-badge{display:inline-block;margin-top:.45rem;border-radius:4px;padding:2px 7px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.home-alert-badge.red{background:#ef444424;color:#f87171}.home-alert-badge.amber{background:#f59e0b1f;color:#fbbf24}.home-checkin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.home-checkin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.home-checkin-title{font-size:.68rem;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.07em}.home-checkin-viewall{font-size:.75rem;color:var(--primary);cursor:pointer;text-decoration:none}.home-checkin-viewall:hover{text-decoration:underline}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.6rem;max-height:264px;overflow:hidden}.avatar-cell{text-align:center;padding:.4rem .2rem}.avatar-circle{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#fff;margin:0 auto .35rem;overflow:hidden;flex-shrink:0}.avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-member-name{font-size:.68rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-time{font-size:.6rem;color:var(--text-3);margin-top:2px}.avatar-more{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);font-size:.72rem;font-weight:600;color:var(--text-2)}.segment-row{display:grid;grid-template-columns:180px 1fr 120px;align-items:center;gap:.75rem;margin-bottom:.55rem}.segment-label{font-size:.875rem;color:var(--text-2)}.segment-track{background:var(--surface-2);height:8px;border-radius:9999px;overflow:hidden}.segment-fill{height:100%;background:linear-gradient(90deg,#818cf8,#4f46e5);border-radius:9999px}.segment-value{text-align:right;font-size:.85rem;color:var(--text-2)}.muted{margin-top:1.5rem;color:var(--text-3);font-size:.85rem}.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-weight:600;font-size:.875rem;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:.75rem;transition:all .15s ease;box-shadow:0 2px 14px #f9731652;letter-spacing:-.01em;font-family:inherit}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 5px 22px #f973167a;background:linear-gradient(135deg,#fb923c,#f97316)}.primary-btn:active{transform:translateY(0);box-shadow:0 1px 6px #f973164d}.primary-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.glass-btn:disabled,.glass-btn-danger:disabled,.glass-btn-success:disabled{opacity:.4;cursor:not-allowed}.link-btn{display:block;width:100%;background:none;border:none;color:var(--text-3);font-size:.875rem;text-align:center;cursor:pointer;padding:.25rem 0;margin-top:.25rem;transition:color .15s;font-family:inherit}.link-btn:hover{color:var(--text-2);text-decoration:underline}.offer-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-2)}input,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.9rem;color:var(--text);font-family:inherit;transition:border-color .15s,box-shadow .15s;outline:none}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--surface-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem 2.1rem .55rem .75rem;font-size:.875rem;font-weight:500;color:var(--text);font-family:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s;outline:none}select:hover{border-color:var(--border-hover);background-color:var(--surface-3)}input::placeholder,textarea::placeholder{color:var(--text-3)}input:focus,select:focus,textarea:focus{border-color:#f9731680;box-shadow:0 0 0 3px #f973161a}select option{background:var(--surface-2);color:var(--text);font-size:.875rem}.badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:9999px;font-size:.7rem;font-weight:600;letter-spacing:.03em}.badge-active,.badge-active-subscription{background:var(--success-dim);color:#4ade80;border:1px solid rgba(34,197,94,.22)}.badge-paused{background:var(--warning-dim);color:#fbbf24;border:1px solid rgba(245,158,11,.22)}.badge-cancelled,.badge-inactive{background:var(--danger-dim);color:#f87171;border:1px solid rgba(239,68,68,.22)}.badge-expired,.badge-pending{background:#64748b1f;color:#94a3b8;border:1px solid rgba(100,116,139,.2)}.error{color:#f87171;font-size:.875rem}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse at 15% 20%,rgba(249,115,22,.09) 0%,transparent 50%),radial-gradient(ellipse at 85% 75%,rgba(99,102,241,.07) 0%,transparent 50%),var(--bg)}.login-card{width:min(440px,100%);background:var(--surface);border-radius:16px;padding:2.25rem;border:1px solid var(--border);box-shadow:0 20px 60px #0000008c,inset 0 1px #ffffff0d}.login-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:1.75rem;gap:10px}.login-logo-badge{width:52px;height:52px;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 28px #f9731673;font-size:1.6rem;line-height:1}.login-logo-name{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.login-logo-sub{font-size:.62rem;font-weight:700;color:var(--primary);letter-spacing:.1em;text-transform:uppercase;margin-top:-6px}.sa-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:58px;background:#080c18b8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;position:relative;z-index:10}.sa-topbar-nav{display:flex;align-items:center;gap:4px}.sa-topbar-navlink{padding:6px 14px;border-radius:8px;color:#64748b;text-decoration:none;font-size:.85rem;font-weight:500;transition:all .15s;border:1px solid transparent}.sa-topbar-navlink:hover{color:#94a3b8;background:#ffffff0a}.sa-topbar-navlink.active{color:var(--primary);border-color:#f9731633;background:#f9731612}.sa-topbar-brand{font-size:1rem;font-weight:700;color:#f1f5f9;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.sa-topbar-brand:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#f97316;box-shadow:0 0 8px #f97316}.sa-topbar-logout{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:.85rem;padding:6px 16px;border-radius:8px;cursor:pointer;transition:all .18s ease;font-family:inherit}.sa-topbar-logout:hover{border-color:#f9731680;color:#f97316;background:#f9731614}.app-shell.dark{background:linear-gradient(135deg,#060a14,#0b1424 45%,#080e1d);min-height:100vh;position:relative}.app-shell.dark:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 12% 18%,rgba(99,102,241,.18) 0%,transparent 48%),radial-gradient(ellipse at 82% 55%,rgba(249,115,22,.14) 0%,transparent 46%),radial-gradient(ellipse at 48% 92%,rgba(16,185,129,.1) 0%,transparent 40%);pointer-events:none;z-index:0}.app-shell.dark .main-content{background:transparent;color:#e2e8f0;position:relative;z-index:1}.app-shell.dark h1,.app-shell.dark h2,.app-shell.dark h3{color:#f1f5f9}.app-shell.dark .page-subtitle{color:#94a3b8}.app-shell.dark .card{background:#ffffff0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 4px 24px #00000059,inset 0 1px #ffffff0d;color:#e2e8f0}.glass-card{background:#ffffff0a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 4px 28px #00000059,inset 0 1px #ffffff0f;color:#e2e8f0}.glass-card-raised{background:#141c32d1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.11);border-radius:18px;box-shadow:0 8px 48px #0000008c,inset 0 1px #ffffff14;color:#e2e8f0}.glass-stat{background:#ffffff0d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:12px 8px;text-align:center;transition:background .15s}.glass-stat:hover{background:#ffffff14}.glass-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#e2e8f0;font-size:12px;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .18s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:500;font-family:inherit}.glass-btn:hover{background:#ffffff1c;border-color:#fff3}.glass-btn-danger{background:#ef444414;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:12px;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .18s ease;font-weight:500;font-family:inherit}.glass-btn-danger:hover{background:#ef444426;border-color:#ef444480}.glass-btn-success{background:#22c55e14;border:1px solid rgba(34,197,94,.3);color:#4ade80;font-size:12px;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .18s ease;font-weight:500;font-family:inherit}.glass-btn-success:hover{background:#22c55e26;border-color:#22c55e80}.app-shell.dark table th{background:transparent;color:#64748b;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px;letter-spacing:.05em}.app-shell.dark table td{border-bottom:1px solid rgba(255,255,255,.05);color:#cbd5e1}.app-shell.dark table tbody tr:hover td{background:#ffffff08}.app-shell.dark input,.app-shell.dark textarea{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e2e8f0;border-radius:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s,box-shadow .15s}.app-shell.dark select{background-color:#ffffff0d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;border:1px solid rgba(255,255,255,.1);color:#e2e8f0;border-radius:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s,box-shadow .15s,background-color .15s}.app-shell.dark select:hover{background-color:#ffffff14;border-color:#ffffff2e}.app-shell.dark select option{background:#0e1521;color:#e2e8f0}.app-shell.dark input::placeholder,.app-shell.dark textarea::placeholder{color:#475569}.app-shell.dark input:focus,.app-shell.dark select:focus,.app-shell.dark textarea:focus{border-color:#f9731699;outline:none;box-shadow:0 0 0 3px #f973161f}.app-shell.dark .error{color:#f87171}.btn-action{display:inline-flex;align-items:center;gap:4px;padding:.28rem .62rem;font-size:.72rem;font-weight:600;border-radius:6px;cursor:pointer;font-family:inherit;border:1px solid;transition:all .14s ease;white-space:nowrap;line-height:1.4}.btn-action-edit{background:#6366f114;border-color:#6366f140;color:#818cf8}.btn-action-edit:hover{background:#6366f129;border-color:#6366f17a}.btn-action-view{background:#f9731614;border-color:#f9731638;color:#f97316}.btn-action-view:hover{background:#f9731629;border-color:#f973166b}.btn-action-danger{background:#ef444412;border-color:#ef444433;color:#f87171}.btn-action-danger:hover{background:#ef444426;border-color:#ef44447a}.btn-action-save{background:#22c55e14;border-color:#22c55e38;color:#4ade80}.btn-action-save:hover{background:#22c55e29;border-color:#22c55e7a}.btn-action-ghost{background:#ffffff0a;border-color:#ffffff1a;color:var(--text-2)}.btn-action-ghost:hover{background:#ffffff17;border-color:#ffffff38;color:var(--text)}.action-cell{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.btn-outline{display:inline-flex;align-items:center;gap:5px;padding:.48rem .9rem;font-size:.8rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text-2);transition:all .15s ease;white-space:nowrap;margin-bottom:.75rem}.btn-outline:hover{background:#ffffff17;border-color:#ffffff47;color:var(--text)}.btn-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:var(--text-2);cursor:pointer;font-size:1rem;line-height:1;transition:all .15s;font-family:inherit;padding:0;flex-shrink:0}.btn-close:hover{background:#ef44441f;border-color:#ef444461;color:#f87171}.offer-form .primary-btn{width:100%;margin-bottom:0}.offer-form .btn-outline{width:100%;margin-bottom:0;align-self:center;justify-content:center}.glass-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:16px;gap:2px}.glass-tab{padding:9px 20px;background:none;border:none;border-bottom:2px solid transparent;color:#64748b;font-weight:500;cursor:pointer;font-size:14px;margin-bottom:-1px;border-radius:8px 8px 0 0;transition:color .15s,background .15s}.glass-tab:hover{color:#94a3b8;background:#ffffff08}.glass-tab.active{color:#f97316;border-bottom-color:#f97316;background:#f973160d;font-weight:700}.schedule-kpi-row{display:flex;gap:.65rem;margin-bottom:1.1rem;flex-wrap:wrap}.schedule-kpi{flex:1;min-width:105px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .9rem;position:relative;overflow:hidden;transition:border-color .15s}.schedule-kpi:hover{border-color:var(--border-hover)}.schedule-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),transparent 70%);opacity:.7}.schedule-kpi-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:.3rem}.schedule-kpi-value{font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:-.03em;line-height:1}.schedule-filter-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:1.1rem;flex-wrap:wrap}.schedule-quick-dates{display:flex;gap:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;flex-shrink:0}.schedule-quick-btn{padding:.3rem .7rem;font-size:.76rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;background:transparent;color:var(--text-2);font-family:inherit;transition:all .13s ease;white-space:nowrap}.schedule-quick-btn:hover{background:#ffffff0f;color:var(--text)}.schedule-quick-btn.active{background:linear-gradient(135deg,#f9731638,#f973161a);color:var(--primary);box-shadow:0 0 0 1px #f973164d}.schedule-day-group{margin-bottom:1.25rem}.schedule-day-group.is-past{opacity:.7}.schedule-day-header{display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem;padding-bottom:.45rem;border-bottom:1px solid var(--border)}.schedule-day-label{font-size:.875rem;font-weight:700;color:var(--text)}.schedule-day-sub{font-size:.75rem;color:var(--text-3);font-weight:400}.schedule-day-tag{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:4px}.schedule-day-tag.today{background:#f9731624;color:var(--primary);border:1px solid rgba(249,115,22,.28)}.schedule-day-tag.past{background:#64748b1a;color:var(--text-3);border:1px solid rgba(100,116,139,.18)}.schedule-day-count{margin-left:auto;font-size:.7rem;color:var(--text-3);font-weight:500}.session-slot{background:var(--surface);border:1px solid var(--border);border-left:3px solid transparent;border-radius:var(--radius-sm);margin-bottom:.45rem;transition:border-color .14s,box-shadow .14s;overflow:hidden}.session-slot:hover{border-color:var(--border-hover);box-shadow:0 2px 12px #00000040}.session-slot.accent-green{border-left-color:var(--success)}.session-slot.accent-orange{border-left-color:var(--primary)}.session-slot.accent-blue{border-left-color:#60a5fa}.session-slot.accent-gray{border-left-color:var(--text-3)}.session-header{display:flex;align-items:center;gap:.7rem;padding:.6rem .85rem;flex-wrap:wrap}.session-time{font-size:.82rem;font-weight:700;color:var(--text);white-space:nowrap;min-width:115px;font-variant-numeric:tabular-nums}.session-trainer{font-size:.85rem;font-weight:600;color:var(--text-2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta{display:flex;align-items:center;gap:.45rem;flex-shrink:0;margin-left:auto}.session-capacity{font-size:.75rem;font-weight:600;color:var(--text-3);white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 8px;font-variant-numeric:tabular-nums}.session-capacity.full{background:#f973161a;border-color:#f9731640;color:var(--primary)}.session-members{border-top:1px solid var(--border);padding:.38rem .85rem .45rem;display:flex;flex-direction:column;gap:.28rem}.member-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.member-name{font-size:.8rem;color:var(--text);font-weight:500;flex:1;min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-checkin{font-size:.7rem;color:var(--success);font-weight:500;white-space:nowrap}.session-empty-msg{padding:.35rem .85rem .42rem;font-size:.76rem;color:var(--text-3);font-style:italic;border-top:1px solid var(--border)}.sched-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:4px;font-size:.66rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.sched-badge-attended{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.24)}.sched-badge-confirmed{background:#60a5fa1a;color:#60a5fa;border:1px solid rgba(96,165,250,.22)}.sched-badge-cancelled{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.22)}.sched-badge-open{background:#64748b1a;color:#94a3b8;border:1px solid rgba(100,116,139,.18)}.sched-badge-pending{background:#f59e0b1a;color:#fbbf24;border:1px solid rgba(245,158,11,.2)}.schedule-empty{text-align:center;padding:2.5rem 1rem;background:var(--surface);border:1px dashed rgba(255,255,255,.1);border-radius:var(--radius);color:var(--text-3)}.schedule-empty-icon{font-size:2rem;margin-bottom:.5rem}.schedule-empty-title{font-size:.88rem;font-weight:600;color:var(--text-2);margin-bottom:.25rem}.schedule-empty-sub{font-size:.78rem;color:var(--text-3)}.schedule-divider{display:flex;align-items:center;gap:.75rem;margin:.75rem 0 1rem}.schedule-divider-line{flex:1;height:1px;background:var(--border)}.schedule-divider-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);white-space:nowrap}@media(max-width:640px){.schedule-kpi-row{gap:.4rem}.schedule-kpi{min-width:80px;padding:.55rem .7rem}.schedule-kpi-value{font-size:1.1rem}.session-header{gap:.45rem}.session-time{min-width:auto}.session-trainer{flex:none;width:100%;order:-1}.session-meta{width:100%}.schedule-filter-bar{gap:.4rem}.schedule-quick-btn{padding:.28rem .55rem;font-size:.72rem}}
