@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8fafc;--surface:#fff;--surface-hover:#f1f5f9;--border:#e2e8f0;--text:#0f172a;--text-muted:#475569;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-soft:#eff6ff;--on-primary:#fff;--accent:#f97316;--success:#16a34a;--success-text:#166534;--success-soft:#dcfce7;--success-hover:#15803d;--warning:#f97316;--warning-text:#9a3412;--warning-soft:#ffedd5;--danger:#dc2626;--danger-hover:#b91c1c;--danger-text:#991b1b;--danger-soft:#fee2e2;--violet:#7e22ce;--violet-soft:#f3e8ff;--cyan:#0e7490;--cyan-soft:#cffafe;--rose:#9f1239;--rose-soft:#ffe4e6;--focus-ring:color-mix(in srgb, var(--primary) 24%, transparent);--overlay:#0f172a7a;--shadow:0 1px 3px #0f172a14;--shadow-popover:0 12px 32px #0f172a1f;--google-blue:#4285f4;--google-green:#34a853;--google-yellow:#fbbc05;--google-red:#ea4335;--hero-overlay:#0f172aa3;--hero-text:#fff;--hero-muted:#f1f5f9;--hero-accent:#bfdbfe;--hero-line:#ffffff59;--surface-strong:var(--surface);--text-primary:var(--text);--text-secondary:var(--text-muted);--border-color:var(--border);--accent-blue:var(--primary);--accent-cyan:var(--cyan);--accent-coral:var(--warning-text);--accent-violet:var(--violet);--accent-gradient:linear-gradient(135deg, var(--primary), var(--primary-hover))}html.dark,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090d16;--surface:#111827;--surface-hover:#1f293d;--border:#222f47;--text:#f8fafc;--text-muted:#94a3b8;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-soft:#3b82f626;--on-primary:#fff;--accent:#fb923c;--success:#22c55e;--success-text:#4ade80;--success-soft:#22c55e26;--success-hover:#16a34a;--warning:#f59e0b;--warning-text:#fbbf24;--warning-soft:#f59e0b26;--danger:#ef4444;--danger-hover:#f87171;--danger-text:#fca5a5;--danger-soft:#ef444426;--violet:#a855f7;--violet-soft:#a855f726;--cyan:#06b6d4;--cyan-soft:#06b6d426;--rose:#f43f5e;--rose-soft:#f43f5e26;--focus-ring:color-mix(in srgb, var(--primary) 35%, transparent);--overlay:#000000bf;--shadow:0 4px 20px #00000080;--shadow-popover:0 16px 40px #000000a6;--google-blue:#4285f4;--google-green:#34a853;--google-yellow:#fbbc05;--google-red:#ea4335;--hero-overlay:#090d16d9;--hero-text:#fff;--hero-muted:#cbd5e1;--hero-accent:#93c5fd;--hero-line:#fff3;--surface-strong:var(--surface);--text-primary:var(--text);--text-secondary:var(--text-muted);--border-color:var(--border);--accent-blue:var(--primary);--accent-cyan:var(--cyan);--accent-coral:var(--warning-text);--accent-violet:var(--violet);--accent-gradient:linear-gradient(135deg, var(--primary), var(--primary-hover))}.theme-toggle-active{transition:transform .12s cubic-bezier(.4,0,.2,1);transform:scale(.92)}::view-transition-group(root){animation-duration:.5s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:999999}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition:none!important;animation-duration:0s!important}html.theme-transitioning ::view-transition-group(root){animation-duration:.5s!important}.theme-transition-fallback-ripple{pointer-events:none;z-index:999999;will-change:transform, opacity;border-radius:50%;transition:transform .48s cubic-bezier(.4,0,.2,1),opacity .2s .38s;position:fixed;transform:translate(-50%,-50%)scale(0)}.theme-transition-fallback-ripple.is-expanded{opacity:0;transform:translate(-50%,-50%)scale(1)}:root{color:var(--text);background:var(--surface);font-synthesis:none;--marquee-duration:95s;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}.no-scrollbar::-webkit-scrollbar{display:none}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8d9}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#94a3b88c transparent}html{background:var(--bg)}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text-primary);margin:0}button,input{font:inherit}button{color:inherit}.login-page{isolation:isolate;background:var(--bg);height:100vh;min-height:100svh;max-height:100vh;padding:0;display:block;position:relative;overflow:hidden}.hero-panel{border-right:1px solid var(--hero-line);min-height:100vh;position:relative;overflow:hidden}.hero-photo{background:linear-gradient(var(--hero-overlay), var(--hero-overlay)), url(https://images.unsplash.com/photo-1552674605-db6ffd4facb5?auto=format&fit=crop&w=1800&q=88) center/cover;filter:saturate(.9)contrast(1.08);position:absolute;inset:0}.hero-panel:after{content:"";mix-blend-mode:screen;background:0 0;position:absolute;inset:0}.hero-streak{z-index:1;transform-origin:0;background:var(--hero-accent);width:62%;height:2px;box-shadow:var(--shadow);opacity:.8;position:absolute;transform:rotate(-28deg)}.hero-streak-one{top:37%;left:12%}.hero-streak-two{opacity:.45;width:46%;top:43%;left:7%}.hero-copy{z-index:2;max-width:520px;color:var(--hero-text);position:absolute;bottom:130px;left:clamp(30px,8vw,110px)}.hero-kicker{color:var(--hero-accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.hero-kicker span{background:var(--hero-line);width:28px;height:1px}.hero-copy h2{letter-spacing:-.04em;text-shadow:none;margin:18px 0 16px;font-size:clamp(38px,4vw,68px);line-height:.98}.hero-copy h2 em{color:var(--hero-accent);font-style:normal}.hero-copy p{color:var(--hero-muted);margin:0;font-size:14px}.hero-footer{z-index:2;color:var(--hero-muted);letter-spacing:.14em;align-items:center;gap:12px;font-size:10px;font-weight:700;display:flex;position:absolute;bottom:48px;left:clamp(30px,8vw,110px);right:40px}.hero-footer i{background:var(--hero-line);width:52px;height:1px;display:block}.login-page:before{content:"";z-index:-2;background:radial-gradient(circle at 50% 20%, var(--surface), transparent 44%);position:absolute;inset:0}.login-glow{z-index:-1;aspect-ratio:1;filter:blur(110px);opacity:.16;pointer-events:none;border-radius:50%;width:min(42vw,520px);position:absolute}.login-glow-left{background:var(--accent-violet);bottom:-25%;left:-18%}.login-glow-right{background:var(--accent-blue);top:-25%;right:-18%}.login-shell{place-self:center;width:min(100%,600px);padding:24px clamp(24px,4vw,64px)}.brand-block{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.brand-mark{background:var(--accent-gradient);width:46px;height:46px;box-shadow:var(--shadow);color:var(--on-primary);border-radius:8px;place-items:center;display:grid}.brand-name,.brand-subtitle{letter-spacing:0;margin:0}.brand-name{font-size:18px;font-weight:800;line-height:1.05}.brand-subtitle{color:var(--text-secondary);margin-top:4px;font-size:9px;font-weight:700}.login-card{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);border-radius:8px;padding:24px;animation:.55s cubic-bezier(.2,.8,.2,1) both card-in;position:relative;overflow:hidden}.login-card:before{content:"";background:var(--accent-gradient);height:2px;position:absolute;inset:0 0 auto}.login-heading{text-align:center;margin-bottom:20px}.eyebrow{color:var(--primary);text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.login-heading h1{letter-spacing:0;margin:10px 0 8px;font-size:30px;line-height:1.2}.login-heading p{color:var(--text-secondary);margin:0;font-size:14px}.login-form{grid-template-columns:1fr;gap:14px;display:grid}.field-group{flex-direction:column;gap:8px;display:flex}.field-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-group label{color:var(--text);font-size:12px;font-weight:600}.field-group input{width:100%;min-height:44px;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:6px;outline:none;padding:0 13px}.field-group input::placeholder{color:var(--text-muted)}.field-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.text-link{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.text-link:hover{color:var(--primary);text-decoration:underline}.api-note{color:var(--text-muted);justify-content:center;align-items:center;gap:7px;font-size:11px;display:flex}.sign-in-button{background:var(--primary);min-height:44px;color:var(--on-primary);cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:6px;margin-top:2px;font-size:13px;font-weight:700;transition:transform .2s,filter .2s}.sign-in-button:hover{filter:none;background:var(--primary-hover);transform:translateY(-1px)}.sign-in-button:active{transform:translateY(0)}.auth-links{color:var(--text-muted);justify-content:center;align-items:center;gap:5px;margin-top:14px;font-size:11px;display:flex}.or-divider{color:var(--text-muted);align-items:center;gap:12px;margin:12px 0;font-size:11px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.google-button{border:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:9px;font-size:12px;font-weight:600;transition:border-color .2s,background .2s;display:flex}.google-button:hover{border-color:var(--border);background:var(--surface)}.google-mark{width:20px;height:20px;color:var(--primary);background:var(--on-primary);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.section-divider{align-items:center;gap:12px;margin:18px 0 12px;display:flex}.section-divider:before,.section-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.section-divider span{color:var(--text-secondary);text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:600}.role-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.role-button{--role-color:var(--accent-blue);text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:7px;grid-template-columns:minmax(0,1fr);align-items:center;gap:11px;min-width:0;min-height:64px;padding:12px;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;display:grid;position:relative}.role-staff{--role-color:var(--accent-cyan)}.role-trainer{--role-color:var(--accent-violet)}.role-admin{--role-color:var(--accent-coral)}.role-button:hover{border-color:color-mix(in srgb, var(--role-color) 55%, transparent);background:color-mix(in srgb, var(--role-color) 9%, transparent);box-shadow:0 12px 28px color-mix(in srgb, var(--role-color) 13%, transparent);transform:translateY(-2px)}.role-button:active{transform:translateY(0)scale(.985)}.role-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.role-icon{width:40px;height:40px;color:var(--role-color);background:color-mix(in srgb, var(--role-color) 13%, transparent);border-radius:6px;place-items:center;display:grid}.role-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.role-copy strong{font-size:13px}.role-copy small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.role-arrow{color:var(--text-muted);transition:color .2s,transform .2s}.role-button:hover .role-arrow{color:var(--role-color);transform:translate(2px)}.login-footer{color:var(--text-muted);justify-content:center;align-items:center;gap:9px;margin-top:18px;font-size:10px;display:flex}.login-footer i{background:var(--text-muted);border-radius:50%;width:3px;height:3px}.glass-panel{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border-color);border-radius:8px}.dashboard-container{width:min(1200px,100% - 40px);margin:0 auto;padding:32px 0}.dashboard-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.btn-logout{border:1px solid var(--border-color);background:var(--surface);cursor:pointer;border-radius:6px;padding:9px 15px}.btn-logout:hover{border-color:var(--accent-blue);background:var(--primary-soft)}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}}@media (width<=560px){.login-page{background:var(--bg);padding:22px 14px;display:block;overflow:visible}.hero-panel{display:none}.login-shell{margin:0 auto;padding:0}.brand-block{margin-bottom:16px}.login-card{background:var(--surface);padding:24px}.login-heading{margin-bottom:20px}.login-heading h1{font-size:26px}.login-form,.role-grid{grid-template-columns:1fr}.role-button{background:var(--surface);grid-template-columns:minmax(0,1fr);min-height:64px}.role-copy small{white-space:normal}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (width>=561px) and (width<=1023px){.login-page{padding:24px;display:block}.hero-panel{display:none}.login-shell{margin:0 auto;padding:0}}.aurora-wrapper{color:#f1f5f9;background-color:#060b17;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.aurora-canvas{opacity:.45;filter:blur(55px);will-change:transform, background-position;pointer-events:none;background-image:repeating-linear-gradient(105deg,#060b17f2 0% 8%,#0000 11% 13%,#060b17f2 17%),repeating-linear-gradient(105deg,#1d4ed8 10%,#6366f1 16%,#38bdf8 22%,#a855f7 28%,#2563eb 34%);background-position:50%;background-size:300% 200%;animation:40s ease-in-out infinite alternate aurora-shift;position:absolute;inset:-40px}.aurora-canvas:after{content:"";mix-blend-mode:screen;opacity:.65;background-image:repeating-linear-gradient(105deg,#060b17f2 0% 8%,#0000 11% 13%,#060b17f2 17%),repeating-linear-gradient(105deg,#2563eb 8%,#4f46e5 15%,#0ea5e9 22%,#7c3aed 29%,#3b82f6 36%);background-size:200% 150%;animation:32s ease-in-out infinite alternate aurora-shift-reverse;position:absolute;inset:0}@keyframes aurora-shift{0%{background-position:15% 35%;transform:scale(1)}50%{background-position:85% 65%;transform:scale(1.04)}to{background-position:25% 45%;transform:scale(1)}}@keyframes aurora-shift-reverse{0%{background-position:80% 65%;transform:scale(1.03)rotate(.6deg)}50%{background-position:20% 35%;transform:scale(1)rotate(-.6deg)}to{background-position:80% 65%;transform:scale(1.03)rotate(.6deg)}}.aurora-mask-radial{-webkit-mask-image:radial-gradient(at 100% 0,#000 20%,#0000 75%);mask-image:radial-gradient(at 100% 0,#000 20%,#0000 75%)}.marquee-container{width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee-track{will-change:transform;flex-wrap:nowrap;gap:1.5rem;width:max-content;display:flex}.marquee-track:hover{animation-play-state:paused!important}.marquee-left{animation:marquee-scroll-left var(--marquee-duration,95s) linear infinite}.marquee-right{animation:marquee-scroll-right var(--marquee-duration,95s) linear infinite}@keyframes marquee-scroll-left{0%{transform:translate(0)}to{transform:translate(calc(-50% - .75rem))}}@keyframes marquee-scroll-right{0%{transform:translate(calc(-50% - .75rem))}to{transform:translate(0)}}.nexus-meteor{opacity:0;will-change:transform, opacity;background:#60a5fa;border-radius:9999px;width:2px;height:2px;animation-name:nexus-meteor-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;transform:rotate(225deg);box-shadow:0 0 0 1px #fff3,0 0 8px #60a5fab3}.nexus-meteor:before{content:"";background:linear-gradient(90deg,#60a5faa6,#0000);width:75px;height:1px;position:absolute;top:50%;transform:translateY(-50%)}@keyframes nexus-meteor-fall{0%{opacity:0;transform:rotate(225deg)translate(0)}10%{opacity:1}75%{opacity:1}to{opacity:0;transform:rotate(225deg)translate(-850px)}}@keyframes cardGlassToSolidWhite{0%{-webkit-backdrop-filter:blur(2px);background-color:#ffffff2e;border-color:#ffffff80;box-shadow:0 10px 30px #0f172a14}to{-webkit-backdrop-filter:blur(24px);background-color:#fff;border-color:#e2e8f0;box-shadow:0 25px 60px -12px #0f172a38}}.animate-card-glass-to-white{-webkit-backdrop-filter:blur(2px);will-change:background-color, backdrop-filter, border-color, box-shadow;background-color:#ffffff2e;border:1px solid #ffffff80;animation:4.2s cubic-bezier(.35,.05,.2,1) 50ms both cardGlassToSolidWhite;transform:translateZ(0);box-shadow:0 10px 30px #0f172a14}.no-scrollbar::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.no-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}@keyframes spin-gradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ring{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}.avatar-ring-platinum{background:conic-gradient(#1a73e8,#00e5ff,#8e24aa,#ff4081,#fbbc04,#1a73e8)}.avatar-ring-gold{background:conic-gradient(#fde68a,#f59e0b,#d97706,#b45309,#fbbf24,#fde68a)}.avatar-ring-silver{background:conic-gradient(#fff,#cbd5e1,#94a3b8,#64748b,#e2e8f0,#fff)}.avatar-ring-member{background:conic-gradient(#3b82f6,#60a5fa,#93c5fd,#2563eb,#3b82f6)}.animate-spin-slow{animation:10s linear infinite spin-gradient}.animate-pulse-subtle{animation:3.5s ease-in-out infinite pulse-ring}.role-shell{min-height:100vh;color:var(--text);background:var(--bg);font-family:Inter,system-ui,sans-serif}.role-shell>main{width:100%;min-width:0}.role-shell>aside{background:var(--surface)}.role-shell input,.role-shell select,.role-shell textarea{color-scheme:inherit}.role-shell table tbody tr:hover{background:var(--surface-hover)}.role-shell button,.role-shell a{transition:color .15s,background-color .15s,border-color .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:3px}input:focus,select:focus,textarea:focus{border-color:var(--primary)}.role-breadcrumb{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.role-breadcrumb strong{color:var(--text);font-weight:600}.role-page-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:8px;display:flex}.role-page-topbar .role-breadcrumb{flex-wrap:wrap;min-width:0}.role-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;max-width:100%;margin-left:auto;display:flex}.role-header-actions>*{max-width:100%}.role-reception-topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:24px 32px}@media (width<=600px){.role-page-topbar .language-switcher{z-index:40;box-shadow:0 2px 8px var(--border);position:fixed;top:12px;right:12px}.role-shell .auto-sidebar-brand{padding-right:112px}}.auth-hero{color:var(--hero-text)}.auth-hero-shade{background:linear-gradient(var(--hero-overlay), var(--hero-overlay))}@media (width<=1023px){.role-shell{flex-direction:column}.role-shell>aside{border-right:0;border-bottom:1px solid var(--border);width:100%}.role-shell>aside nav{padding-bottom:12px;display:flex;overflow-x:auto}.role-shell>aside nav button{white-space:nowrap;flex:none;width:auto}.role-shell>main{padding:20px}}:root,.role-shell{--role-sidebar-width:0px}.auto-sidebar{--role-sidebar-width:256px}@media (width>=1024px){.role-shell{--role-sidebar-width:76px}.role-shell:has(>.auto-sidebar:not(.is-collapsed)){--role-sidebar-width:256px}.role-shell>.auto-sidebar{height:100vh;transition:width .2s;position:sticky;top:0;overflow-y:auto}.role-shell>.auto-sidebar.is-collapsed{--role-sidebar-width:76px;--role-sidebar-padding:12px;--role-sidebar-justify:center;--role-sidebar-direction:column}.auto-sidebar.is-collapsed .auto-sidebar-brand{justify-content:center;padding:24px 0}.auto-sidebar.is-collapsed .auto-sidebar-brand>div:first-child{flex-shrink:0}.auto-sidebar.is-collapsed .auto-sidebar-brand>div:nth-child(2),.auto-sidebar.is-collapsed .auto-sidebar-nav button span,.auto-sidebar.is-collapsed .auto-sidebar-nav>span,.auto-sidebar.is-collapsed .auto-sidebar-profile-text,.auto-sidebar.is-collapsed .auto-sidebar-role{display:none}.auto-sidebar.is-collapsed .auto-sidebar-nav button{justify-content:center;padding-inline:0}.auto-sidebar.is-collapsed .auto-sidebar-nav button svg{flex-shrink:0}.auto-sidebar.is-collapsed .auto-sidebar-footer{padding:16px 8px}.auto-sidebar.is-collapsed .auto-sidebar-footer>div{border:0;flex-direction:column;gap:12px;padding:0}.auto-sidebar.is-collapsed .auto-sidebar-footer>div>div{gap:0}}@media (width<=1023px){.auto-sidebar{--role-sidebar-width:100%}}@media (prefers-reduced-motion:reduce){.role-shell>.auto-sidebar{transition:none}}.language-switcher{border:1px solid var(--border);background:var(--surface);border-radius:9px;flex-shrink:0;gap:3px;padding:4px;display:flex}.language-switcher.is-floating{box-shadow:0 2px 8px var(--border);z-index:100;position:fixed;bottom:16px;right:16px}.language-switcher button{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 10px;font-size:12px;font-weight:600}.language-switcher button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.language-switcher button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=600px){.language-switcher.is-floating{bottom:10px;right:10px}}
