:root{--bg-app: #080b11;--bg-surface: #0f1523;--bg-surface-elevated: #162035;--bg-surface-glass: rgba(15, 21, 35, .75);--bg-card: #111827;--bg-input: #1a2234;--bg-input-focus: #212c42;--primary: #10b981;--primary-hover: #059669;--primary-glow: rgba(16, 185, 129, .25);--primary-light: #d1fae5;--primary-dark: #064e3b;--accent-cyan: #06b6d4;--accent-cyan-glow: rgba(6, 182, 212, .25);--accent-amber: #f59e0b;--accent-amber-glow: rgba(245, 158, 11, .25);--accent-purple: #8b5cf6;--accent-rose: #f43f5e;--border-subtle: rgba(255, 255, 255, .07);--border-medium: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--border-accent: rgba(16, 185, 129, .4);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--text-inverse: #020617;--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px var(--primary-glow);--shadow-glow-cyan: 0 0 20px var(--accent-cyan-glow);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-body);font-size:var(--app-font-size, 15px);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);font-weight:700;letter-spacing:-.02em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--bg-surface-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.glass-panel{background:var(--bg-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.glass-card{background:linear-gradient(135deg,#16203599,#0f1523cc);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.glass-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-heading);font-weight:600;font-size:.85rem;padding:7px 14px;height:38px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-sm{padding:4px 10px;font-size:.78rem;height:30px;border-radius:var(--radius-sm);gap:4px}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#ffffff26;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{background:linear-gradient(135deg,#22c55e,#10b981);box-shadow:0 6px 20px #22c55e66;transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-main);border-color:var(--border-medium)}.btn-secondary:hover{background:#202c48;border-color:var(--border-strong)}.btn-danger{background:#f43f5e26;color:#fb7185;border-color:#f43f5e4d}.btn-danger:hover{background:#f43f5e40;border-color:#f43f5e}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:#ffffff0d;color:var(--text-main)}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.form-control{width:100%;padding:8px 12px;height:38px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-main);outline:none;font-size:.85rem;transition:all var(--transition-fast)}.form-control:focus{background:var(--bg-input-focus);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-control::placeholder{color:var(--text-dim)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge-active{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-inactive{background:#94a3b826;color:#cbd5e1;border:1px solid rgba(148,163,184,.3)}.badge-warning{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-danger{background:#f43f5e26;color:#f87171;border:1px solid rgba(244,63,94,.3)}.badge-cyan{background:#06b6d426;color:#38bdf8;border:1px solid rgba(6,182,212,.3)}.badge-neutral{background:#ffffff14;color:var(--text-muted);border:1px solid var(--border-medium)}.data-table-container{width:100%;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:9px 14px;background:#ffffff05;border-bottom:1px solid var(--border-medium);font-family:var(--font-heading);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.data-table td{padding:9px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem}.data-table tr:hover td{background:#ffffff05;color:var(--text-main)}.stat-card{padding:14px 16px;border-radius:var(--radius-md);background:linear-gradient(135deg,#162035b3,#0f1523e6);border:1px solid var(--border-medium);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;width:90px;height:90px;background:radial-gradient(circle,var(--stat-glow, var(--primary-glow)) 0%,transparent 70%);pointer-events:none}.stat-header{display:flex;align-items:center;justify-content:space-between}.stat-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.stat-icon{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:#ffffff0d;color:var(--stat-color, var(--primary))}.stat-value{font-family:var(--font-heading);font-size:1.45rem;font-weight:800;color:var(--text-main);line-height:1.1}.stat-subtitle{font-size:.75rem;color:var(--text-muted)}.owner-portal-shell{--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #f8fafc;--bg-surface-glass: rgba(255, 255, 255, .98);--bg-card: #ffffff;--bg-input: #ffffff;--bg-input-focus: #ffffff;--primary: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .18);--primary-light: #eef2ff;--primary-dark: #3730a3;--border-subtle: #f1f5f9;--border-medium: #e2e8f0;--border-strong: #cbd5e1;--border-accent: rgba(99, 102, 241, .35);--text-main: #0f172a;--text-body: #334155;--text-muted: #64748b;--text-dim: #94a3b8;--text-inverse: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .07), 0 4px 6px -4px rgba(0, 0, 0, .03);background-color:var(--bg-app);color:var(--text-body)}.trainer-portal-shell{--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #f8fafc;--bg-surface-glass: rgba(255, 255, 255, .98);--bg-card: #ffffff;--bg-input: #ffffff;--bg-input-focus: #ffffff;--primary: #10b981;--primary-hover: #059669;--primary-glow: rgba(16, 185, 129, .18);--primary-light: #ecfdf5;--primary-dark: #047857;--border-subtle: #f1f5f9;--border-medium: #e2e8f0;--border-strong: #cbd5e1;--border-accent: rgba(16, 185, 129, .35);--text-main: #0f172a;--text-body: #334155;--text-muted: #64748b;--text-dim: #94a3b8;--text-inverse: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .07), 0 4px 6px -4px rgba(0, 0, 0, .03);background-color:var(--bg-app);color:var(--text-body)}.member-portal-shell{--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #f8fafc;--bg-surface-glass: rgba(255, 255, 255, .98);--bg-card: #ffffff;--bg-input: #ffffff;--bg-input-focus: #ffffff;--primary: #f97316;--primary-hover: #ea580c;--primary-glow: rgba(249, 115, 22, .2);--primary-light: #fff7ed;--primary-dark: #c2410c;--border-subtle: #f1f5f9;--border-medium: #e2e8f0;--border-strong: #cbd5e1;--border-accent: rgba(249, 115, 22, .35);--text-main: #0f172a;--text-body: #334155;--text-muted: #64748b;--text-dim: #94a3b8;--text-inverse: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .07), 0 4px 6px -4px rgba(0, 0, 0, .03);background-color:var(--bg-app);color:var(--text-body)}.owner-portal-shell .saas-card,.owner-portal-shell .glass-card,.trainer-portal-shell .saas-card,.trainer-portal-shell .glass-card,.member-portal-shell .saas-card,.member-portal-shell .glass-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 1px 3px #0000000d,0 1px 2px -1px #00000008!important;color:#0f172a!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease!important}.owner-portal-shell .saas-card:hover,.owner-portal-shell .glass-card:hover,.trainer-portal-shell .saas-card:hover,.trainer-portal-shell .glass-card:hover,.member-portal-shell .saas-card:hover,.member-portal-shell .glass-card:hover{border-color:#cbd5e1!important;box-shadow:0 4px 12px -2px #0000000f!important;transform:translateY(-1px)!important}.owner-portal-shell .btn-primary,.owner-portal-shell .portal-btn-primary{background:#6366f1!important;color:#fff!important;border:1px solid #4f46e5!important;box-shadow:0 1px 2px #0000000d,0 2px 6px #6366f140!important;font-weight:600!important;font-size:.825rem!important;height:38px!important;padding:7px 14px!important;border-radius:8px!important;transition:all .15s ease!important}.owner-portal-shell .btn-primary:hover,.owner-portal-shell .portal-btn-primary:hover{background:#4f46e5!important;transform:translateY(-1px)!important;box-shadow:0 3px 10px #6366f159!important}.trainer-portal-shell .btn-primary,.trainer-portal-shell .portal-btn-primary{background:#10b981!important;color:#fff!important;border:1px solid #059669!important;box-shadow:0 1px 2px #0000000d,0 2px 6px #10b98140!important;font-weight:600!important;font-size:.825rem!important;height:38px!important;padding:7px 14px!important;border-radius:8px!important;transition:all .15s ease!important}.trainer-portal-shell .btn-primary:hover,.trainer-portal-shell .portal-btn-primary:hover{background:#059669!important;border-color:#047857!important;transform:translateY(-1px)!important;box-shadow:0 3px 10px #10b98159!important}.member-portal-shell .btn-primary,.member-portal-shell .portal-btn-primary{background:#f97316!important;color:#fff!important;border:1px solid #ea580c!important;box-shadow:0 1px 2px #0000000d,0 2px 6px #f9731640!important;font-weight:600!important;font-size:.825rem!important;height:38px!important;padding:7px 14px!important;border-radius:8px!important;transition:all .15s ease!important}.member-portal-shell .btn-primary:hover,.member-portal-shell .portal-btn-primary:hover{background:#ea580c!important;border-color:#c2410c!important;transform:translateY(-1px)!important;box-shadow:0 3px 10px #f9731659!important}.owner-portal-shell .btn-secondary,.owner-portal-shell .portal-btn-secondary,.trainer-portal-shell .btn-secondary,.trainer-portal-shell .portal-btn-secondary,.member-portal-shell .btn-secondary,.member-portal-shell .portal-btn-secondary{background:#fff!important;color:#334155!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 2px #0000000a!important;font-weight:600!important;font-size:.825rem!important;height:38px!important;padding:7px 14px!important;border-radius:8px!important;transition:all .15s ease!important}.owner-portal-shell .btn-secondary:hover,.owner-portal-shell .portal-btn-secondary:hover,.trainer-portal-shell .btn-secondary:hover,.trainer-portal-shell .portal-btn-secondary:hover,.member-portal-shell .btn-secondary:hover,.member-portal-shell .portal-btn-secondary:hover{background:#f8fafc!important;border-color:#cbd5e1!important;color:#0f172a!important}.owner-portal-shell .btn-ghost,.trainer-portal-shell .btn-ghost,.member-portal-shell .btn-ghost{background:transparent!important;color:#64748b!important;border:1px solid transparent!important;border-radius:8px!important;font-size:.825rem!important;height:36px!important;padding:6px 12px!important}.owner-portal-shell .btn-ghost:hover,.trainer-portal-shell .btn-ghost:hover,.member-portal-shell .btn-ghost:hover{background:#f1f5f9!important;color:#0f172a!important}.portal-status-badge,.owner-portal-shell .badge,.trainer-portal-shell .badge,.member-portal-shell .badge,.badge,.portal-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:4px 10px!important;border-radius:9999px!important;font-size:.75rem!important;font-weight:600!important;line-height:1!important;letter-spacing:.01em!important;white-space:nowrap!important;text-transform:capitalize!important;box-sizing:border-box!important;vertical-align:middle!important;transition:all .15s ease!important}.portal-status-badge.status-active,.owner-portal-shell .badge-active,.trainer-portal-shell .badge-active,.member-portal-shell .badge-active,.badge-active{background:#ecfdf5!important;color:#059669!important;border:1px solid #a7f3d0!important}.portal-status-badge.status-inactive,.owner-portal-shell .badge-inactive,.trainer-portal-shell .badge-inactive,.member-portal-shell .badge-inactive,.badge-inactive{background:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important}.portal-status-badge.status-warning,.owner-portal-shell .badge-warning,.trainer-portal-shell .badge-warning,.member-portal-shell .badge-warning,.badge-warning{background:#fffbeb!important;color:#d97706!important;border:1px solid #fde68a!important}.portal-status-badge.status-danger,.owner-portal-shell .badge-danger,.trainer-portal-shell .badge-danger,.member-portal-shell .badge-danger,.badge-danger{background:#fef2f2!important;color:#dc2626!important;border:1px solid #fecaca!important}.portal-status-badge.status-cyan,.owner-portal-shell .badge-cyan,.trainer-portal-shell .badge-cyan,.member-portal-shell .badge-cyan,.badge-cyan{background:#eff6ff!important;color:#2563eb!important;border:1px solid #bfdbfe!important}.portal-status-badge.status-indigo,.owner-portal-shell .badge-indigo,.trainer-portal-shell .badge-indigo,.member-portal-shell .badge-indigo,.badge-indigo{background:#eef2ff!important;color:#4f46e5!important;border:1px solid #c7d2fe!important}.portal-status-badge.status-neutral,.owner-portal-shell .badge-neutral,.trainer-portal-shell .badge-neutral,.member-portal-shell .badge-neutral,.badge-neutral{background:#f8fafc!important;color:#475569!important;border:1px solid #e2e8f0!important}.owner-portal-shell .data-table-container,.trainer-portal-shell .data-table-container,.member-portal-shell .data-table-container{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 1px 2px #0000000a!important}.owner-portal-shell .data-table th,.trainer-portal-shell .data-table th,.member-portal-shell .data-table th{background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;color:#475569!important;font-weight:600!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;padding:9px 12px!important}.owner-portal-shell .data-table td,.trainer-portal-shell .data-table td,.member-portal-shell .data-table td{border-bottom:1px solid #f1f5f9!important;color:#334155!important;padding:9px 12px!important;font-size:.825rem!important}.owner-portal-shell .data-table tr:hover td,.trainer-portal-shell .data-table tr:hover td,.member-portal-shell .data-table tr:hover td{background:#f8fafc!important}.owner-portal-shell .form-control,.owner-portal-shell .form-input,.owner-portal-shell select,.owner-portal-shell input[type=text],.owner-portal-shell input[type=email],.owner-portal-shell input[type=number],.owner-portal-shell input[type=password],.owner-portal-shell input[type=date],.owner-portal-shell textarea,.trainer-portal-shell .form-control,.trainer-portal-shell .form-input,.trainer-portal-shell select,.trainer-portal-shell input[type=text],.trainer-portal-shell input[type=email],.trainer-portal-shell input[type=number],.trainer-portal-shell input[type=password],.trainer-portal-shell input[type=date],.trainer-portal-shell textarea,.member-portal-shell .form-control,.member-portal-shell .form-input,.member-portal-shell select,.member-portal-shell input[type=text],.member-portal-shell input[type=email],.member-portal-shell input[type=number],.member-portal-shell input[type=password],.member-portal-shell input[type=date],.member-portal-shell textarea{background:#fff!important;border:1px solid #cbd5e1!important;color:#0f172a!important;border-radius:8px!important;box-shadow:0 1px 2px #00000008!important;height:38px!important;padding:7px 12px!important;font-size:.825rem!important}.owner-portal-shell textarea,.trainer-portal-shell textarea,.member-portal-shell textarea{height:auto!important;min-height:72px!important}.owner-portal-shell .form-control:focus,.owner-portal-shell .form-input:focus,.owner-portal-shell select:focus,.owner-portal-shell input:focus,.owner-portal-shell textarea:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f126!important;outline:none!important}.owner-portal-shell .saas-search-bar input,.owner-portal-shell .saas-search-bar input:focus{width:auto!important;height:100%!important;padding:0 8px!important;border:0!important;border-radius:0!important;box-shadow:none!important}.trainer-portal-shell .form-control:focus,.trainer-portal-shell .form-input:focus,.trainer-portal-shell select:focus,.trainer-portal-shell input:focus,.trainer-portal-shell textarea:focus{border-color:#10b981!important;box-shadow:0 0 0 3px #10b98126!important;outline:none!important}.member-portal-shell .form-control:focus,.member-portal-shell .form-input:focus,.member-portal-shell select:focus,.member-portal-shell input:focus,.member-portal-shell textarea:focus{border-color:#f97316!important;box-shadow:0 0 0 3px #f9731626!important;outline:none!important}.owner-portal-shell .form-group,.trainer-portal-shell .form-group,.member-portal-shell .form-group{margin-bottom:16px!important;display:flex!important;flex-direction:column!important;gap:6px!important}.owner-portal-shell .form-label,.trainer-portal-shell .form-label,.member-portal-shell .form-label{color:#334155!important;font-size:.78rem!important;font-weight:600!important;margin-bottom:6px!important;display:block!important;letter-spacing:.01em!important}.owner-portal-shell .required-indicator,.trainer-portal-shell .required-indicator,.member-portal-shell .required-indicator{color:#dc2626!important;margin-left:2px!important}label:has(+input[required]):not(:has(.required-indicator,[class*=required-mark])):after,label:has(+select[required]):not(:has(.required-indicator,[class*=required-mark])):after,label:has(+textarea[required]):not(:has(.required-indicator,[class*=required-mark])):after{content:" *";color:#dc2626;font-weight:800}.owner-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.owner-list-toolbar__filters,.owner-list-toolbar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.owner-list-toolbar__filters{flex:1 1 auto;min-width:0}.owner-list-toolbar__search{flex:0 1 360px;min-width:220px}.owner-list-toolbar__actions{margin-left:auto}.owner-assign-button{background:#4f46e5!important;border:1px solid #4338ca!important;color:#fff!important}.owner-assign-button:hover{background:#4338ca!important}@media(max-width:720px){.owner-list-toolbar__filters,.owner-list-toolbar__actions{width:100%}.owner-list-toolbar__search{flex:1 1 100%;min-width:0}}.owner-portal-shell .modal-card,.owner-portal-shell .modal-content,.trainer-portal-shell .modal-card,.trainer-portal-shell .modal-content,.member-portal-shell .modal-card,.member-portal-shell .modal-content{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;box-shadow:0 20px 40px -10px #0000002e,0 0 0 1px #0000000a!important;color:#0f172a!important}.owner-portal-shell .modal-card,.owner-portal-shell .modal-content{padding:0!important}.owner-portal-shell .modal-card.modal-card-padded{padding:20px 24px!important}.owner-portal-shell .modal-card>.modal-header,.owner-portal-shell .modal-content>.modal-header{padding:16px 20px!important}.owner-portal-shell .modal-card>.modal-body,.owner-portal-shell .modal-content>.modal-body{padding:20px!important}.owner-portal-shell .modal-card>.modal-footer,.owner-portal-shell .modal-content>.modal-footer{padding:14px 20px!important}.form-modal-header{border-bottom:1px solid #e2e8f0!important;padding-bottom:14px!important;margin-bottom:16px!important}.form-modal-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;border-radius:0!important;color:#94a3b8!important;cursor:pointer!important;padding:4px!important}.form-modal-close:hover{color:#475569!important}.owner-portal-shell .modal-backdrop,.trainer-portal-shell .modal-backdrop,.member-portal-shell .modal-backdrop{background:#0f172a99!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.owner-portal-shell .glass-panel,.owner-portal-shell .glass-card,.owner-portal-shell .portal-card,.trainer-portal-shell .glass-panel,.trainer-portal-shell .glass-card,.trainer-portal-shell .portal-card,.member-portal-shell .glass-panel,.member-portal-shell .glass-card,.member-portal-shell .portal-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 1px 3px #0000000d!important;color:#0f172a!important}.owner-portal-shell .input-field,.trainer-portal-shell .input-field,.member-portal-shell .input-field{background:#fff!important;border:1px solid #cbd5e1!important;color:#0f172a!important;border-radius:8px!important;box-shadow:0 1px 2px #00000008!important;height:38px!important;padding:7px 12px!important;font-size:.825rem!important}.owner-portal-shell .input-field:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f126!important;outline:none!important}.trainer-portal-shell .input-field:focus{border-color:#10b981!important;box-shadow:0 0 0 3px #10b98126!important;outline:none!important}.member-portal-shell .input-field:focus{border-color:#f97316!important;box-shadow:0 0 0 3px #f9731626!important;outline:none!important}@media(max-width:1024px){.portal-sidebar{transform:translate(-100%)!important}.portal-sidebar.open{transform:translate(0)!important}.portal-main-wrapper{margin-left:0!important}.portal-top-header{padding:0 16px!important;height:56px!important}.portal-content-container{padding:16px!important}.md-menu-btn{display:flex!important}}@media(min-width:1025px){.portal-sidebar{transform:translate(0)!important}.md-menu-btn{display:none!important}}@media(max-width:640px){.portal-content-container{padding:12px!important}.portal-top-header{padding:0 12px!important;height:52px!important}}@keyframes portalDropdownFadeIn{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.dark .portal-dropdown-menu,[data-theme=dark] .portal-dropdown-menu,.dark-theme .portal-dropdown-menu{background:#0f172a!important;border-color:#ffffff1f!important;box-shadow:0 16px 36px #000000a6,0 0 0 1px #ffffff14!important}.dark .portal-dropdown-item,[data-theme=dark] .portal-dropdown-item,.dark-theme .portal-dropdown-item{color:#f1f5f9!important}.dark .portal-dropdown-item:hover,[data-theme=dark] .portal-dropdown-item:hover,.dark-theme .portal-dropdown-item:hover{background:#ffffff14!important;color:#fff!important}.dark .portal-dropdown-item.danger:hover,[data-theme=dark] .portal-dropdown-item.danger:hover{background:#ef444426!important;color:#fca5a5!important}.dark .portal-dropdown-divider,[data-theme=dark] .portal-dropdown-divider,.dark-theme .portal-dropdown-divider{background:#ffffff1a!important}.dark .portal-action-menu-btn,[data-theme=dark] .portal-action-menu-btn,.dark-theme .portal-action-menu-btn{background:#1e293b!important;border-color:#ffffff1f!important;color:#94a3b8!important}.dark .portal-action-menu-btn:hover,.dark .portal-action-menu-btn.active,[data-theme=dark] .portal-action-menu-btn:hover,[data-theme=dark] .portal-action-menu-btn.active{background:#6366f140!important;border-color:#818cf8!important;color:#c7d2fe!important}.owner-refresh-button{box-sizing:border-box;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;flex:0 0 36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.owner-refresh-button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#4f46e5}.owner-refresh-button:disabled{cursor:wait;opacity:.65}.owner-refresh-button svg{width:15px;height:15px;flex-shrink:0}.portal-search-toggle{box-sizing:border-box;width:36px;min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;padding:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.portal-search-toggle:hover{background:#f8fafc;border-color:#cbd5e1;color:#4f46e5}.portal-search-toggle__expanded{display:flex;align-items:center;gap:6px;flex:0 1 320px;min-width:200px}.owner-toolbar-primary,.owner-portal-shell .owner-toolbar-primary{background:#4f46e5!important;border-color:#4338ca!important;color:#fff!important}.owner-toolbar-primary:hover:not(:disabled),.owner-portal-shell .owner-toolbar-primary:hover:not(:disabled){background:#4338ca!important;border-color:#3730a3!important}.owner-modal-scroll{scrollbar-width:none;-ms-overflow-style:none}.owner-modal-scroll::-webkit-scrollbar{display:none}.trainer-search-filter-bar{min-width:0;width:100%;flex:1 1 auto;height:50px;display:flex;align-items:center;gap:10px;padding:0 7px 0 15px;border:1px solid #e6eaf0;border-radius:15px;background:#f1f3f7;color:#7b8799}.trainer-search-filter-bar input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#172033;font-size:.86rem}.trainer-search-filter-bar input::placeholder{color:#94a0b1}.trainer-search-filter-clear{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:0;border-radius:9px;background:#e2e8f0;color:#475569;cursor:pointer}.trainer-search-filter-clear:hover{background:#cbd5e1}.trainer-search-filter-divider{width:1px;height:28px;background:#d8dee8}.trainer-search-filter-button{position:relative;width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:0;border-radius:11px;background:transparent;color:#64748b;cursor:pointer}.trainer-search-filter-button:hover{background:#fff;color:#047857}.trainer-search-filter-button.is-open{background:#e5f6ef;color:#059669}.trainer-search-filter-button.has-active-filter:after{position:absolute;top:5px;right:5px;width:8px;height:8px;border:2px solid #f1f3f7;border-radius:50%;background:#f43f5e;content:""}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 20px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media(max-width:768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:flex-col{flex-direction:column}}.w-full{width:100%}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.text-primary{color:var(--primary)}.text-cyan{color:var(--accent-cyan)}.text-amber{color:var(--accent-amber)}.text-rose{color:var(--accent-rose)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes pulseGlow{0%,to{opacity:.6}50%{opacity:1}}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.modal-backdrop{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1000!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#000000bf!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;padding:16px!important;overflow-y:auto!important}.modal-card{width:100%!important;max-width:580px!important;max-height:90vh!important;overflow-y:auto!important;background:#0f172a!important;border:1px solid #334155!important;border-radius:14px!important;box-shadow:0 25px 50px -12px #000000bf!important;padding:20px 24px!important;color:var(--text-main)!important;position:relative!important}.form-input{width:100%;padding:8px 12px;height:38px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-main);outline:none;font-size:.85rem;transition:all var(--transition-fast)}.form-input:focus{background:var(--bg-input-focus);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-input::placeholder{color:var(--text-dim)}@media print{body *{visibility:hidden!important}html,body{background:#fff!important;color:#0f172a!important;margin:0!important;padding:0!important;height:auto!important;overflow:visible!important}aside,header,nav,.no-print,.btn,.modal-backdrop{display:none!important;visibility:hidden!important}#printable-invoice,#printable-invoice *{visibility:visible!important}#printable-invoice{display:block!important;position:fixed!important;left:0!important;top:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:20mm!important;background:#fff!important;color:#0f172a!important;box-shadow:none!important;border:none!important}}.saas-header-banner{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 18px;box-shadow:0 1px 3px #0000000a;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.saas-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:6px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.saas-stat-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px -2px #0000000f;border-color:#cbd5e1}.saas-icon-badge{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.saas-icon-indigo{background:#eef2ff;color:#4f46e5}.saas-icon-emerald{background:#ecfdf5;color:#059669}.saas-icon-cyan{background:#eff6ff;color:#0284c7}.saas-icon-amber{background:#fffbeb;color:#d97706}.saas-icon-rose{background:#fef2f2;color:#dc2626}.saas-icon-purple{background:#f5f3ff;color:#7c3aed}.saas-filter-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;box-shadow:0 1px 2px #00000008;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.saas-pill-btn{padding:5px 12px;border-radius:9999px;font-size:.78rem;font-weight:600;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .15s ease}.saas-pill-btn:hover{background:#f8fafc;color:#0f172a}.saas-pill-btn.active{background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 2px 6px #4f46e540}.saas-search-input,.saas-search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 12px;height:38px;flex:1;min-width:220px;transition:border-color .15s ease,box-shadow .15s ease}.saas-search-input:focus-within,.saas-search-bar:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.saas-search-input input,.saas-search-bar input{border:none;outline:none;background:transparent;width:100%;font-size:.825rem;color:#0f172a}.saas-search-input input::placeholder,.saas-search-bar input::placeholder{color:#94a3b8}.saas-empty-state{padding:32px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.portal-action-menu-btn,button.portal-action-menu-btn{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;min-height:32px!important;max-height:32px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:8px!important;background:#fff!important;border:1px solid #e2e8f0!important;color:#64748b!important;cursor:pointer!important;transition:all .15s ease!important;box-shadow:0 1px 2px #0000000a!important;outline:none!important;position:relative!important;flex-shrink:0!important}.portal-action-menu-btn svg,button.portal-action-menu-btn svg{display:block!important;width:16px!important;height:16px!important;flex-shrink:0!important}.portal-action-menu-btn:hover,button.portal-action-menu-btn:hover,.portal-action-menu-btn.active,button.portal-action-menu-btn.active{background:#eef2ff!important;border-color:#6366f1!important;color:#6366f1!important;box-shadow:0 2px 6px #6366f129!important}.portal-dropdown-menu{position:absolute!important;right:0!important;min-width:220px!important;max-width:280px!important;background:#fff!important;border:1px solid #eef2f6!important;border-radius:14px!important;box-shadow:0 12px 32px -4px #0000001f,0 4px 12px -2px #0000000a!important;padding:8px 6px!important;z-index:1000!important;display:flex!important;flex-direction:column!important;gap:2px!important;text-align:left!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;animation:portalDropdownFadeIn .15s cubic-bezier(.16,1,.3,1)!important}.portal-dropdown-item{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;padding:10px 14px!important;border-radius:10px!important;background:transparent!important;border:none!important;color:#1e293b!important;font-size:.875rem!important;font-weight:500!important;cursor:pointer!important;text-align:left!important;white-space:nowrap!important;transition:all .15s ease!important;text-decoration:none!important;box-sizing:border-box!important}.portal-dropdown-item svg{display:block!important;flex-shrink:0!important}.portal-dropdown-item span{flex:1 1 auto!important;text-align:left!important}.portal-dropdown-item:hover{background:#f8fafc!important;color:#0f172a!important}.portal-dropdown-item.danger{color:#dc2626!important}.portal-dropdown-item.danger:hover{background:#fef2f2!important;color:#b91c1c!important}.portal-dropdown-item.success{color:#16a34a!important}.portal-dropdown-item.success:hover{background:#f0fdf4!important;color:#15803d!important}.portal-dropdown-divider{height:1px!important;background:#f1f5f9!important;margin:6px 4px!important}.portal-status-badge,.badge,.portal-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:4px 10px!important;border-radius:9999px!important;font-size:.75rem!important;font-weight:600!important;line-height:1!important;letter-spacing:.01em!important;white-space:nowrap!important;text-transform:capitalize!important;box-sizing:border-box!important;vertical-align:middle!important;transition:all .15s ease!important}.portal-status-badge .status-dot,.badge .status-dot,.badge-dot{width:6px!important;height:6px!important;border-radius:50%!important;background-color:currentColor!important;flex-shrink:0!important}.portal-status-badge.status-active,.badge-active{background:#ecfdf5!important;color:#059669!important;border:1px solid #a7f3d0!important}.portal-status-badge.status-inactive,.badge-inactive{background:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important}.portal-status-badge.status-warning,.badge-warning{background:#fffbeb!important;color:#d97706!important;border:1px solid #fde68a!important}.portal-status-badge.status-danger,.badge-danger{background:#fef2f2!important;color:#dc2626!important;border:1px solid #fecaca!important}.portal-status-badge.status-cyan,.badge-cyan{background:#eff6ff!important;color:#2563eb!important;border:1px solid #bfdbfe!important}.portal-status-badge.status-indigo,.badge-indigo{background:#eef2ff!important;color:#4f46e5!important;border:1px solid #c7d2fe!important}.portal-status-badge.status-neutral,.badge-neutral{background:#f8fafc!important;color:#475569!important;border:1px solid #e2e8f0!important}
