:root{font-family:var(--font-body);line-height:1.5;font-weight:400;color:#172a3a;background:#eef2f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-body: "Roboto", sans-serif;--font-display: "Bebas Neue Pro", "Bebas Neue", "Roboto", sans-serif;--color-primary: #13aff0;--color-accent: #ff8a00;--color-background: #eef2f5;--color-text: #172a3a;--color-muted: #69788c;--color-panel: rgba(255, 255, 255, .78);--color-panel-strong: rgba(255, 255, 255, .94);--color-border: rgba(17, 32, 60, .08);--color-shadow: rgba(17, 32, 60, .16);--color-surface-soft: #f5f7fa;--color-surface-muted: #edf1f6;--color-surface-strong: #ffffff;--radius-sm: 14px;--radius-md: 18px;--radius-lg: 28px;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.25rem;--space-lg: 1.6rem;--space-xl: 2rem;--space-2xl: 2.6rem}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;color:var(--color-text);background:radial-gradient(circle at top,rgba(19,175,240,.12),transparent 28%),linear-gradient(180deg,#eceff3,#f7f8fb)}body:before,body:after{content:"";position:fixed;border-radius:999px;pointer-events:none;z-index:0;display:block;filter:blur(6px)}body:before{width:28rem;height:28rem;top:-8rem;right:-7rem;background:#13aff01a}body:after{width:22rem;height:22rem;bottom:-7rem;left:-5rem;background:#ff8a001a}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.page-shell{position:relative;z-index:1;min-height:100vh;padding:clamp(1.35rem,.85rem + 1.55vw,2.6rem)}.page-shell:before{content:"";position:fixed;inset:1rem;border-radius:32px;background:linear-gradient(180deg,#ffffffad,#ffffff70);border:1px solid rgba(255,255,255,.62);box-shadow:inset 0 1px #ffffffdb,0 28px 70px -54px #11203c47;pointer-events:none;z-index:-1}.page-shell--centered,.page-shell--login{display:grid;align-items:center}.app-frame{width:min(1320px,100%);margin:0 auto;display:grid;gap:1.35rem}.setup-frame,.login-layout{width:min(1200px,100%);margin:0 auto}.login-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,440px);gap:1.5rem;align-items:stretch}.setup-frame,.loading-card,.auth-card,.login-showcase{padding:clamp(1.5rem,1.1rem + 1vw,2.2rem)}.login-showcase,.setup-frame,.auth-card,.tabs-panel{background:#ffffffd6}.login-showcase{display:grid;align-content:center;gap:.85rem}.login-showcase h1,.setup-frame h1{max-width:11ch}.auth-card{align-self:center;justify-self:end;width:min(440px,100%)}.glass-card{position:relative;background:var(--color-panel);border:1px solid var(--color-border);box-shadow:0 22px 50px -38px var(--color-shadow),inset 0 1px #ffffffd9;border-radius:var(--radius-lg)}.glass-card--nested{background:var(--color-panel-strong);border-radius:var(--radius-md);box-shadow:0 16px 36px -30px #11203c29}.hero-panel{overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.15rem 1rem;padding:clamp(1.55rem,1.15rem + 1vw,2.25rem)}.hero-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffffdb,#f7f9fcc2),linear-gradient(145deg,rgba(19,175,240,.08),transparent 38%),linear-gradient(325deg,rgba(255,138,0,.08),transparent 34%);pointer-events:none}.hero-copy,.hero-actions,.hero-user{position:relative;z-index:1}.hero-copy h1,.login-showcase h1,.setup-frame h1,.section-header h2,.metric-value{margin:0;font-family:var(--font-display);letter-spacing:.04em;font-weight:400}.hero-copy h1,.login-showcase h1,.setup-frame h1{font-size:clamp(2.5rem,5vw,4.25rem);line-height:.95;color:#102a3d}.eyebrow,.request-kicker,.metric-label{margin:0 0 .35rem;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary)}.hero-text,.section-header p,.helper-copy,.reason-block p,.empty-state p,.showcase-chip p,.setup-step span,.user-meta,.request-footer,.notice,.inline-loader span{color:var(--color-muted)}.hero-text{max-width:58ch;font-size:1.02rem;line-height:1.7;margin:1rem 0 0}.brand-lockup{display:flex;align-items:center;gap:1rem}.brand-logo{width:160px;height:auto}.brand-logo--large{width:220px}.feature-strip,.tabs-row,.actions-row,.auth-tabs,.setup-steps{display:flex;flex-wrap:wrap;gap:.9rem}.feature-strip{margin-top:1.25rem}.feature-strip span,.request-footer,.user-meta,.meta-item,.inline-loader{display:inline-flex;align-items:center;gap:.45rem}.feature-strip span{padding:.75rem 1rem;border-radius:999px;background:#ffffffe6;border:1px solid rgba(17,32,60,.07);color:#244356;box-shadow:0 16px 30px -28px #11203c3d}.hero-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:.75rem}.hero-actions .button-secondary{background:#ffffffeb}.hero-actions .button-ghost{color:#fff;background:#122e43;border-color:#122e43e6;box-shadow:0 20px 32px -26px #122e43a6}.hero-user{display:flex;align-items:center;gap:.9rem;grid-column:1 / -1;width:fit-content;padding:.9rem 1rem;border-radius:999px;border-color:#11203c14}.avatar-badge,.metric-icon,.showcase-chip__icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:16px;background:linear-gradient(135deg,#13aff029,#ff8a0029);color:#0f3651;font-weight:700}.user-name{margin:0;font-weight:700;color:#163f5d}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem;margin:0}.metric-card{padding:1.35rem;display:grid;gap:.5rem;background:#ffffffe6}.metric-card--primary{border-top:4px solid rgba(19,175,240,.45)}.metric-card--accent{border-top:4px solid rgba(255,138,0,.45)}.metric-card--neutral{border-top:4px solid rgba(74,101,128,.4)}.metric-card--dark{border-top:4px solid rgba(17,44,78,.45)}.metric-value{font-size:clamp(2.2rem,4vw,3.5rem);color:#112c44}.notice{padding:.95rem 1.1rem;border-radius:var(--radius-md);border:1px solid rgba(17,32,60,.08);margin-bottom:0;background:#ffffffe6}.notice--compact{margin:0}.notice--success{border-color:#1aa2683d;color:#0d6b4c}.notice--error{border-color:#da454533;color:#b53a32}.notice--info{border-color:#13aff033;color:#20506f}.tabs-panel{padding:clamp(1.25rem,1rem + .8vw,1.85rem)}.tabs-row{margin-bottom:1.45rem;justify-content:center;padding:.38rem;width:fit-content;max-width:100%;background:#eff2f6f5;border:1px solid rgba(17,32,60,.06);border-radius:20px;box-shadow:inset 0 1px #ffffffdb}.subtabs-row{display:flex;flex-wrap:wrap;gap:.65rem;padding:.45rem;width:fit-content;max-width:100%;background:#eff2f6f5;border:1px solid rgba(17,32,60,.06);border-radius:20px;box-shadow:inset 0 1px #ffffffdb}.tab-button,.auth-tab,.button{border:1px solid transparent;border-radius:16px;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tab-button,.auth-tab{display:inline-flex;align-items:center;gap:.55rem;min-height:2.9rem;padding:.78rem 1.05rem;background:transparent;color:#5e6d7f;font-weight:700}.subtab-button{min-width:0;display:grid;gap:.28rem;padding:1rem 1.1rem;min-height:4.2rem;text-align:left;background:transparent;color:#556678;border:1px solid transparent;border-radius:16px;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease}.subtab-button span{font-weight:700;color:#163f5d}.subtab-button small{margin:0;color:var(--color-muted);font-size:.83rem}.subtab-button:hover,.tab-button:hover,.auth-tab:hover{transform:translateY(-1px);background:#ffffffb8;color:#213f58}.tab-button--active,.auth-tab--active,.subtab-button--active{background:#fff;color:#122e43;border-color:#11203c14;box-shadow:0 14px 28px -24px #11203c47}.subtab-button--active{border-color:#13aff02e}.subtab-button--location{flex:1 1 180px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.85rem 1.2rem;font-weight:700;letter-spacing:.01em}.button:disabled,.tab-button:disabled,.auth-tab:disabled{cursor:not-allowed;opacity:.6;transform:none}.button-primary{color:#fff;background:#122e43;border-color:#122e43f5;box-shadow:0 18px 30px -24px #122e43b8}.button-secondary{color:#15354c;background:#fffffff5;border-color:#11203c14;box-shadow:0 12px 22px -22px #11203c38}.button-ghost{color:#1b4e6c;background:#13aff014;border-color:#13aff029}.button-danger{color:#9c322b;background:#fffffff2;border-color:#dc4c4c29}.button-block{width:100%}.button:hover{transform:translateY(-1px)}.button-primary:hover{background:#0f283a}.button-secondary:hover,.button-ghost:hover,.button-danger:hover{border-color:#11203c24;box-shadow:0 16px 28px -24px #11203c3d}.button:focus-visible,.tab-button:focus-visible,.auth-tab:focus-visible,.subtab-button:focus-visible,.icon-button:focus-visible{outline:none;box-shadow:0 0 0 4px #13aff024}.panel-grid,.admin-stack,.request-list,.auth-form,.showcase-grid{display:grid;gap:var(--space-lg)}.setup-step{display:grid;gap:1rem}.panel-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:var(--space-xl)}.panel-grid--admin-roster{grid-template-columns:minmax(380px,480px) minmax(0,1fr);gap:var(--space-xl);align-items:start}.admin-roster-form{max-width:min(980px,100%);margin-inline:auto;align-content:start;gap:1.5rem;scroll-margin-top:1.4rem}.admin-roster-form>.template-preview{margin-bottom:.45rem}.content-section,.content-section--narrow{min-width:0;display:grid;align-content:start;gap:var(--space-md)}.section-header{display:grid;gap:.5rem;margin:0}.section-header h2{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;color:#122c42}.section-header p{margin:0;max-width:66ch;line-height:1.6}.request-card{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:1.45rem;background:#ffffffeb}.request-card--with-aside{grid-template-columns:minmax(0,1fr) 280px}.request-main{min-width:0;display:grid;gap:var(--space-md)}.request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.1rem;margin:0}.request-head>div{display:grid;gap:.35rem}.request-head h3{font-family:var(--font-body);font-size:clamp(1.3rem,1.1rem + .6vw,1.55rem);font-weight:700;letter-spacing:-.01em;line-height:1.2;color:#133d58}.request-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}.meta-item{min-width:0;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(17,32,60,.06);background:var(--color-surface-soft);color:#355265;line-height:1.45}.status-pill{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.status-pill--info{background:#13aff01f;color:#16678b}.status-pill--warning{background:#ff8a0024;color:#a45c00}.status-pill--success{background:#22aa7024;color:#0e7b55}.status-pill--danger{background:#dc4c4c1f;color:#b23e34}.reason-block{margin:0;padding:1.1rem 1.15rem;border-radius:18px;background:var(--color-surface-soft);border:1px solid rgba(17,32,60,.06)}.reason-block span{display:inline-block;margin-bottom:.45rem;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.reason-block p,.request-footer,.empty-state p,.showcase-chip p,.setup-step span,.helper-copy{margin:0}.request-footer{flex-wrap:wrap;justify-content:space-between;gap:.85rem;margin:0;font-size:.95rem}.request-footer em{color:#4b6477;font-style:normal}.request-aside,.form-card,.auth-card,.login-showcase,.setup-frame{min-width:0}.admin-controls{display:grid;gap:.8rem}.template-preview{display:grid;gap:.7rem;padding:1.35rem 1.4rem 1.25rem;border-radius:20px;background:linear-gradient(180deg,#f5f8fbfa,#edf2f7fa);border:1px solid rgba(17,32,60,.06)}.template-preview strong{margin:0;font-family:var(--font-body);font-weight:700;font-size:clamp(1.15rem,1rem + .5vw,1.35rem);letter-spacing:-.01em;line-height:1.2;color:#133d58}.template-preview .schedule-class-list{margin-top:.1rem}.split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.split-fields--triple{grid-template-columns:repeat(2,minmax(0,1fr))}.split-fields--compact{grid-template-columns:repeat(2,minmax(180px,1fr))}.split-fields--editor-support{grid-template-columns:repeat(3,minmax(0,1fr))}.split-fields--time{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.editor-form-note{margin:0}.field-stack{display:grid;gap:.55rem;min-width:0}.field-stack--preview{min-width:0}.field-label{display:block;margin:0;font-size:.84rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#27485d}.field-input{width:100%;min-height:3.45rem;padding:.95rem 1.05rem;border-radius:16px;border:1px solid rgba(17,32,60,.08);background:#fffffffa;color:#18384e;outline:none;line-height:1.45;transition:border-color .18s ease,box-shadow .18s ease}.field-input:focus{border-color:#13aff04d;box-shadow:0 0 0 4px #13aff01f}.field-input--textarea{resize:vertical;min-height:150px}.field-input--compact{min-height:90px}.field-input--readonly{display:flex;align-items:center;justify-content:center;min-height:3.45rem;background:var(--color-surface-soft);color:#365365;text-align:center}.auth-card{align-self:center}.auth-form,.form-card{gap:var(--space-lg)}.form-card{padding:clamp(1.25rem,1rem + .9vw,1.75rem)}.actions-row--form-end{justify-content:flex-end;align-items:center;gap:1rem;margin-top:.7rem;padding-top:.55rem}.content-section>.subtabs-row{margin-top:.35rem}.panel-grid--admin-roster>.form-card{gap:1.35rem}.roster-stack,.roster-list{display:grid;gap:1.1rem}.weekly-location-sections{display:grid;gap:1.35rem}.weekly-location-sections>.subtabs-row{align-self:start}.weekly-location-section{display:grid;gap:.85rem}.weekly-location-section__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.weekly-location-section__header>div{display:grid;gap:.3rem}.weekly-location-section__header h3{margin:0;font-family:var(--font-body);font-size:clamp(1.15rem,1rem + .45vw,1.35rem);font-weight:700;letter-spacing:-.01em;color:#122c42}.weekly-location-section__meta{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(17,32,60,.08);background:#fffffff0;color:var(--color-muted);font-size:.95rem;white-space:nowrap}.weekly-grid-shell{padding:1.25rem 1.35rem;background:#ffffffeb}.weekly-grid-shell--empty{padding:1rem}.weekly-grid-scroll{overflow-x:auto;padding-bottom:.2rem}.weekly-grid{display:grid;grid-template-columns:minmax(150px,1.1fr) repeat(7,minmax(148px,1fr));gap:.7rem;min-width:1240px;align-items:stretch}.weekly-grid__corner,.weekly-grid__header,.weekly-grid__row-label{display:flex;align-items:center;justify-content:center;padding:.72rem .6rem;border-radius:16px;border:1px solid rgba(17,32,60,.07);background:#fffffff5;color:#163f5d;font-weight:700;letter-spacing:.08em;text-transform:uppercase;min-height:4.25rem}.weekly-grid__header,.weekly-grid__row-label{font-size:.84rem}.weekly-grid__corner{background:#15354c;border-color:#122e43eb;color:#fff}.weekly-grid__row-label{flex-direction:column;justify-content:center;gap:.2rem;background:linear-gradient(180deg,#f8fafcfa,#f1f4f8fa)}.weekly-grid__row-times{font-size:1rem;font-weight:700;color:#133d58;letter-spacing:-.01em;text-transform:none;text-align:center}.weekly-grid__cell{padding:.65rem;border-radius:18px;border:1px solid rgba(17,32,60,.06);background:#f4f7fbf0;display:grid;grid-auto-rows:minmax(7.6rem,auto);align-content:start;gap:.55rem}.weekly-grid__cell>*{width:100%;box-sizing:border-box;min-width:0}.weekly-grid__cell--occupied{align-content:stretch}.weekly-grid__cell--single{grid-template-rows:1fr}.weekly-grid__item{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.45rem;padding:.7rem .8rem;border-radius:16px;background:#fffffff5;border:1px solid rgba(17,32,60,.08);box-shadow:0 18px 26px -28px #11203c3d;text-align:left;justify-items:stretch;min-height:7.6rem;width:100%;min-width:0;align-content:start}.weekly-grid__cell--single>.weekly-grid__item,.weekly-grid__cell>.weekly-grid__empty{min-height:100%;height:100%}.weekly-grid__item--interactive{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.weekly-grid__item--interactive:hover{transform:translateY(-1px);box-shadow:0 12px 24px -18px #11203c47;border-color:#13aff03d}.weekly-grid__item--interactive:focus-visible{outline:3px solid rgba(19,175,240,.2);outline-offset:2px}.weekly-grid__item .schedule-class-list{justify-content:flex-start;margin-top:auto}.weekly-grid__item-head{display:block;min-height:0;min-width:0}.weekly-grid__item-title{margin:0;min-width:0;color:#133d58;font-size:.86rem;line-height:1.25;overflow-wrap:anywhere}.weekly-grid__item-assignee{color:var(--color-muted);font-size:.86rem;min-height:1.25rem;overflow-wrap:anywhere}.weekly-grid__row-label--pm{background:linear-gradient(180deg,#fff6ecfa,#fbefe1fa)}.weekly-grid__cell--pm{background:#fff9f2f5;border-color:#ff8a001f}.weekly-grid__item--pm{border-bottom:2px solid rgba(255,138,0,.4)}.weekly-grid__item.trainer-color-0{background:linear-gradient(180deg,#13aff01a,#fffffffa)!important;border-color:#13aff038;box-shadow:inset 4px 0 #13aff073}.weekly-grid__item.trainer-color-0 .weekly-grid__item-assignee{color:#0b6f9a;font-weight:600}.weekly-grid__item.trainer-color-1{background:linear-gradient(180deg,#ff8a001a,#fffffffa)!important;border-color:#ff8a0038;box-shadow:inset 4px 0 #ff8a0073}.weekly-grid__item.trainer-color-1 .weekly-grid__item-assignee{color:#8a5200;font-weight:600}.weekly-grid__item.trainer-color-2{background:linear-gradient(180deg,#22c5701a,#fffffffa)!important;border-color:#22c57038;box-shadow:inset 4px 0 #22c57073}.weekly-grid__item.trainer-color-2 .weekly-grid__item-assignee{color:#0d7a44;font-weight:600}.weekly-grid__item.trainer-color-3{background:linear-gradient(180deg,#8b5cf61a,#fffffffa)!important;border-color:#8b5cf638;box-shadow:inset 4px 0 #8b5cf66b}.weekly-grid__item.trainer-color-3 .weekly-grid__item-assignee{color:#5b2da8;font-weight:600}.weekly-grid__item.trainer-color-4{background:linear-gradient(180deg,#ef444414,#fffffffa)!important;border-color:#ef44442e;box-shadow:inset 4px 0 #ef444459}.weekly-grid__item.trainer-color-4 .weekly-grid__item-assignee{color:#991b1b;font-weight:600}.weekly-grid__item.trainer-color-5{background:linear-gradient(180deg,#14b8a61a,#fffffffa)!important;border-color:#14b8a638;box-shadow:inset 4px 0 #14b8a673}.weekly-grid__item.trainer-color-5 .weekly-grid__item-assignee{color:#0e6e63;font-weight:600}.weekly-grid__item.trainer-color-6{background:linear-gradient(180deg,#f59e0b1a,#fffffffa)!important;border-color:#f59e0b38;box-shadow:inset 4px 0 #f59e0b73}.weekly-grid__item.trainer-color-6 .weekly-grid__item-assignee{color:#92400e;font-weight:600}.weekly-grid__item.trainer-color-7{background:linear-gradient(180deg,#ec48991a,#fffffffa)!important;border-color:#ec489938;box-shadow:inset 4px 0 #ec48996b}.weekly-grid__item.trainer-color-7 .weekly-grid__item-assignee{color:#9d174d;font-weight:600}.weekly-grid__item strong{color:#133d58}.weekly-grid__item .weekly-grid__item-assignee,.weekly-grid__item em,.weekly-grid__empty{margin:0;color:var(--color-muted);font-size:.94rem}.weekly-grid__item em{margin-top:.25rem;font-style:normal;color:#375a71}.schedule-class-group{display:grid;gap:.55rem}.schedule-class-group__label{display:inline-block;margin:0;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.schedule-class-list{display:flex;flex-wrap:wrap;gap:.45rem}.schedule-class-list--compact{gap:.3rem}.schedule-class-chip{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:.28rem .6rem;border-radius:999px;background:#13aff01f;border:1px solid rgba(19,175,240,.18);color:#0f4b6c;font-size:.82rem;font-weight:700;line-height:1.2;text-align:center;overflow-wrap:anywhere}.schedule-class-list--compact .schedule-class-chip{padding:.2rem .45rem;font-size:.72rem}.schedule-class-chip--free{background:#70809024;border-color:#70809038;color:#546372}.weekly-grid__empty{display:flex;align-items:center;justify-content:center;min-height:7.6rem;padding:1rem;border-radius:16px;border:1px dashed rgba(19,175,240,.16);background:#ffffffb8;text-align:center}.weekly-location-section__empty{padding:1rem 1.1rem;border-radius:4px;border:1px dashed rgba(19,175,240,.18);background:#ffffffc2;color:var(--color-muted)}.user-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}.roster-summary{display:grid;gap:.35rem;padding:1.2rem 1.3rem;background:#ffffffeb}.roster-summary strong{margin:0;font-family:var(--font-display);letter-spacing:.04em;font-weight:400;color:#133d58}.roster-summary strong{font-size:2.4rem}.roster-summary span{color:var(--color-muted)}.roster-card,.user-card{display:grid;gap:1.2rem;padding:1.2rem;background:#fffffff0}.user-card__editor,.user-card__actions{display:grid;gap:.85rem}.roster-card__head,.user-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.1rem}.roster-card__head>div,.user-card__head>div{display:grid;gap:.35rem}.roster-card__head h3,.user-card__head h3{margin:0;font-family:var(--font-body);letter-spacing:-.01em;font-weight:700;font-size:clamp(1.2rem,1.05rem + .5vw,1.4rem);line-height:1.2;color:#133d58}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border:1px solid rgba(17,32,60,.08);border-radius:14px;background:#fffffff5;color:#365365;box-shadow:0 12px 20px -22px #11203c38;transition:transform .18s ease,border-color .18s ease,color .18s ease,background-color .18s ease,box-shadow .18s ease}.icon-button:hover{transform:translateY(-1px);color:#163f5d;border-color:#13aff038;background:#f4f8fcfa;box-shadow:0 16px 28px -24px #11203c3d}.icon-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.icon-button--danger:hover{color:#a54031;border-color:#dc4c4c38;background:#fff5f5fa}.auth-tabs{margin-bottom:1.2rem;width:fit-content;max-width:100%;padding:.35rem;background:#eff2f6f5;border:1px solid rgba(17,32,60,.06);border-radius:20px}.helper-copy{margin-top:1rem;font-size:.95rem}.helper-inline{margin:0;color:var(--color-muted);font-size:.92rem;line-height:1.45}.showcase-grid{margin-top:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.showcase-chip{padding:1.15rem;border-radius:20px;background:#ffffffeb;border:1px solid rgba(17,32,60,.07);box-shadow:0 18px 28px -28px #11203c38}.showcase-chip strong{display:block;margin-top:.85rem;color:#163f5d}.setup-steps{margin-top:1.5rem}.setup-step{grid-template-columns:48px minmax(0,1fr);align-items:center;padding:1rem;border-radius:20px;background:#ffffffeb;border:1px solid rgba(17,32,60,.07)}.setup-step strong{display:grid;place-items:center;width:3rem;height:3rem;border-radius:16px;background:linear-gradient(135deg,#13aff029,#ff8a002e);color:#0f3651;font-size:1.1rem}.empty-state{display:grid;justify-items:start;gap:.7rem;padding:1.35rem;border-radius:20px;border:1px dashed rgba(17,32,60,.12);background:#f9fafcf5}.empty-state strong{color:#18384e}.loading-card,.inline-loader{display:inline-flex;align-items:center;gap:.85rem}.loading-card{justify-self:center;padding:1.35rem 1.5rem;border-radius:20px}.loading-spinner{width:2.5rem;height:2.5rem;border-radius:50%;border:3px solid rgba(19,175,240,.16);border-top-color:var(--color-primary);animation:spin .9s linear infinite}.loading-spinner--small{width:1rem;height:1rem;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1240px){.panel-grid--admin-roster{grid-template-columns:1fr}}@media(max-width:1080px){.metrics-grid,.showcase-grid,.user-admin-grid,.split-fields--editor-support,.split-fields--time{grid-template-columns:repeat(2,minmax(0,1fr))}.split-fields--time .field-stack--preview{grid-column:1 / -1}.panel-grid,.panel-grid--admin-roster,.login-layout,.request-card--with-aside,.hero-panel{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}}@media(max-width:720px){.page-shell{padding:1.15rem}.page-shell:before{inset:.6rem;border-radius:24px}.metrics-grid,.showcase-grid,.user-admin-grid,.request-meta-grid,.split-fields,.split-fields--triple{grid-template-columns:1fr}.setup-frame,.loading-card,.auth-card,.login-showcase,.hero-panel,.tabs-panel{padding:1.25rem}.tabs-row,.subtabs-row,.auth-tabs{width:100%}.tab-button,.auth-tab{flex:1 1 auto;justify-content:center}.brand-lockup{align-items:flex-start;flex-direction:column}.brand-logo{width:132px}.brand-logo--large{width:180px}.request-head,.roster-card__head,.user-card__head,.request-footer,.weekly-location-section__header,.actions-row,.hero-actions{flex-direction:column;align-items:stretch}.status-pill{width:fit-content}.setup-step{grid-template-columns:1fr;justify-items:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
