.auth-loading{padding:60px;text-align:center;color:#52585e}.login-shell{display:grid;grid-template-columns:1.1fr 1fr;min-height:100dvh}.login-story{background:#171a1d;color:#fff;padding:64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story .brand{position:relative;z-index:1}.login-story h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(70px,8vw,128px);line-height:.9;letter-spacing:-2px;color:#f4f1e9;margin:70px 0 28px}.login-story h1 span{color:#e55e2a}.login-story p{max-width:350px;color:#bec1c2;line-height:1.8}.login-story .hero-x{right:-100px;bottom:-100px;top:auto;width:420px;height:420px;opacity:.08}.login-story footer{font-size:12px;color:#bec1c2;letter-spacing:2px;margin-top:60px}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px 32px;background:#f4f2ed}.login-form{width:100%;max-width:380px}.login-form h2{font-size:44px;font-family:'Barlow Condensed',sans-serif;margin:18px 0 12px}.login-form>p{color:#646a6f;line-height:1.7}.login-form form{margin-top:26px}.login-form .field{margin-bottom:18px}.login-form .button.primary{width:100%;justify-content:center;min-height:48px}.login-form input{width:100%;font-size:16px}.login-links{display:flex;justify-content:space-between;gap:20px;margin-top:20px;flex-wrap:wrap}.login-links a,.login-links button{color:#52585e;font-size:12px;text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}.login-form .notice{margin-top:24px}.auth-error{min-height:23px;color:#a02716;font-size:13px;line-height:1.6;margin:10px 0}.auth-message{font-size:13px;line-height:1.6;margin:15px 0;color:#26664c}.test-strip{background:#fff0e6;color:#8c3d17;border:1px solid #f1d7c5;padding:13px 18px;font-size:12px;line-height:1.6;border-radius:10px;margin-bottom:24px}.live-main{max-width:1120px;margin:0 auto;padding:32px 30px 90px}.live-header{background:#171a1d;color:#fff;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.live-header .brand{margin:0;padding:0}.live-header .button{background:transparent;border-color:#555;color:#fff}.live-user{display:flex;align-items:center;gap:20px;font-size:13px}.live-tabs{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.live-tabs button{border:1px solid #d8d8d0;background:transparent;border-radius:9px;padding:12px 20px;color:#53595e;cursor:pointer}.live-tabs button.active{background:#171a1d;color:#fff;border-color:#171a1d}.live-week{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0}.live-week .button{min-width:44px}.live-main .page-heading h1{font-size:44px}.live-main .page-heading{margin-bottom:16px}.live-main .class-card .button{min-width:125px}.live-main button:disabled{opacity:.5;cursor:not-allowed}.live-refresh{font-size:12px;color:#747a7e;display:flex;justify-content:space-between;align-items:center;margin:25px 0}.live-refresh button{font-size:12px}.live-profile{max-width:650px}.live-profile .detail-line{gap:24px}.live-main .class-info{min-width:0}.live-main .class-title{overflow-wrap:anywhere}.live-main .modal-actions{flex-wrap:wrap}.login-panel .prototype-tag{display:inline-flex}.member-error{padding:15px;background:#fff0e6;border-radius:8px;font-size:13px;margin-bottom:20px}.live-main .empty-state{padding:40px 20px}.live-day{font-size:12px;color:#686d70;margin-bottom:5px}.auth-note{font-size:11px;line-height:1.7;color:#7c8184;margin-top:35px}.live-main .attendance-row{gap:15px}.live-main .field select,.live-main .field input{font-size:16px}a.button{text-decoration:none}.live-main a{color:inherit}.login-panel button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-story{padding:28px 24px;min-height:270px}.login-story h1{font-size:66px;margin:36px 0 16px;line-height:.94}.login-story p{display:none}.login-story footer{margin-top:20px;font-size:10px}.login-panel{padding:32px 24px;align-items:flex-start}.login-form h2{font-size:36px}.login-form .auth-note{margin-top:25px}.live-header{padding:18px 20px}.live-header .brand-word{font-size:18px}.live-header .brand-word small{font-size:8px}.live-user>span{display:none}.live-main{padding:24px 16px 60px}.live-main .page-heading h1{font-size:36px}.live-tabs{gap:6px}.live-tabs button{padding:10px 12px;font-size:12px}.live-week{font-size:12px}.live-main .class-card{padding:16px 13px}.live-main .class-card .button{min-width:110px}.live-refresh{gap:20px}.login-story .hero-x{width:250px;height:250px;right:-80px;bottom:-50px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
