:root{color:#17233d;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17233d;--muted:#6f7c96;--subtle:#9aa5b9;--line:#e3e7ef;--surface:#fff;--canvas:#f4f6fa;--blue:#2f6feb;--blue-dark:#2058c9;--blue-soft:#eaf1ff;--red:#bd2938;--red-soft:#fcebed;--green:#14845f;--green-soft:#e7f6ef;--amber:#a96508;--amber-soft:#fff4df;--shadow:0 16px 40px -28px #17233d66;--shadow-lg:0 26px 70px -38px #17233d80;--radius:8px;--ease:.16s ease;background:#f4f6fa;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{min-width:320px}button,input,select,textarea{font:inherit}button,a{transition:background var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease),transform var(--ease)}button{letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2f6feb33}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#cdd4e0 padding-box padding-box;border:2px solid #0000;border-radius:8px}.app-loading{padding:40px}.button{cursor:pointer;white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:13px;font-weight:750;display:inline-flex}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button--primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px -12px var(--blue)}.button--secondary{color:#35425d;border:1px solid var(--line);background:#fff}.button--ghost{color:var(--blue);background:0 0;padding:0 8px}.button--danger{background:var(--red);color:#fff}.icon-button{border:1px solid var(--line);color:#64708a;cursor:pointer;background:#fff;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.badge{color:#65718a;text-transform:capitalize;white-space:nowrap;background:#f0f2f6;border-radius:6px;align-items:center;gap:4px;min-height:24px;padding:3px 8px;font-size:11px;font-weight:750;display:inline-flex}.badge--success{background:var(--green-soft);color:var(--green)}.badge--warning{background:var(--amber-soft);color:var(--amber)}.badge--danger{background:var(--red-soft);color:var(--red)}.badge--info{background:var(--blue-soft);color:var(--blue)}.card{border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #dde2ece6}.avatar{color:#295ec7;background:#e8effd;border-radius:7px;flex:none;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.avatar--sm{width:30px;height:30px}.avatar--md{width:38px;height:38px}.avatar--lg{width:46px;height:46px}.eyebrow{color:#909bb0;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:800;display:block}.page{max-width:1580px;margin:auto;animation:.3s both page-in}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-header h1{letter-spacing:0;margin:5px 0 0;font-size:28px;line-height:1.15}.page-actions{gap:8px;display:flex}.content-type-filter{flex-wrap:wrap}.search-input{border:1px solid var(--line);color:#9aa5b9;background:#fff;border-radius:7px;align-items:center;gap:8px;min-width:280px;height:40px;padding:0 12px;display:flex}.search-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.segmented{background:#edf0f6;border-radius:7px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:#75819a;cursor:pointer;background:0 0;border:0;border-radius:5px;height:32px;padding:0 12px;font-size:12px;font-weight:750}.segmented button.active{color:var(--blue);background:#fff;box-shadow:0 2px 7px #17233d14}.segmented button.success{color:var(--green)}.segmented button.danger{color:var(--red)}.result-count{color:var(--muted);margin-left:auto;font-size:12px;font-weight:700}.loading-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.skeleton{background:linear-gradient(90deg,#edf0f5 25%,#f8f9fb 50%,#edf0f5 75%) 0 0/200% 100%;border-radius:8px;height:124px;animation:1.3s infinite shimmer}.empty{min-height:220px;color:var(--subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty strong{color:#53607a}.empty span{font-size:12px}.app-shell{grid-template-columns:244px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.sidebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--line);z-index:30;height:100%;transition:width var(--ease),transform var(--ease);background:#fffffff0;flex-direction:column;display:flex}.brand{border-bottom:1px solid #edf0f5;align-items:center;gap:10px;height:72px;padding:12px 17px;display:flex}.brand img{object-fit:contain;width:38px;height:44px}.brand div{min-width:0}.brand strong{white-space:nowrap;font-size:16px;display:block}.brand em{color:var(--red);font-style:normal}.brand span{color:var(--subtle);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;margin-top:2px;font-size:9.5px;font-weight:700;display:block}.brand>.icon-button{margin-left:auto}.sidebar nav{flex:1;padding:10px 8px;overflow:auto}.nav-section__label{color:#a0a9bb;text-transform:uppercase;letter-spacing:.1em;padding:0 10px 6px;font-size:9.5px;font-weight:800;display:block}.nav-item{color:#5c6881;border-radius:7px;align-items:center;gap:10px;height:40px;margin:2px 0;padding:0 10px;font-size:12.5px;font-weight:650;text-decoration:none;display:flex}.nav-item span{white-space:nowrap;flex:1}.nav-item b{background:var(--red-soft);min-width:19px;height:19px;color:var(--red);border-radius:5px;place-items:center;font-size:9px;display:grid}.nav-item.active{background:var(--blue-soft);color:var(--blue);font-weight:750}.sidebar-profile{border:1px solid var(--line);background:#fafbfc;border-radius:8px;align-items:center;gap:9px;margin:8px;padding:10px;display:flex}.sidebar-profile>div{flex:1;min-width:0}.sidebar-profile strong,.sidebar-profile span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-profile strong{font-size:11.5px}.sidebar-profile span{color:var(--muted);margin-top:2px;font-size:9.5px}.sidebar-profile .icon-button{width:30px;height:30px}.workspace{background:radial-gradient(circle at 70% -20%,#2f6feb14,transparent 34%),var(--canvas);flex-direction:column;min-width:0;height:100%;display:flex}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#ffffffc7;border-bottom:1px solid #dee3ede6;flex:none;align-items:center;gap:11px;height:64px;padding:0 22px;display:flex}.branch-switch{cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;height:42px;padding:4px 7px;display:flex}.branch-switch>b{background:var(--blue-soft);width:29px;height:29px;color:var(--blue);border-radius:6px;place-items:center;font-size:10px;display:grid}.branch-switch span,.topbar-user span{text-align:left;display:block}.branch-switch strong,.branch-switch small,.topbar-user strong,.topbar-user small{white-space:nowrap;display:block}.branch-switch strong,.topbar-user strong{font-size:11.5px}.branch-switch small,.topbar-user small{color:var(--subtle);margin-top:1px;font-size:9.5px}.topbar__divider{background:var(--line);width:1px;height:26px}.topbar__title{font-size:13px}.topbar__spacer{flex:1}.notification-button{position:relative}.notification-button i{background:var(--red);border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.topbar-user{border-left:1px solid var(--line);align-items:center;gap:8px;padding-left:12px;display:flex}.workspace>main{flex:1;padding:25px 26px 40px;overflow:auto}.app-shell.is-collapsed{grid-template-columns:76px minmax(0,1fr)}.is-collapsed .brand>div,.is-collapsed .nav-section__label,.is-collapsed .nav-item span,.is-collapsed .nav-item b,.is-collapsed .sidebar-profile>div,.is-collapsed .sidebar-profile .icon-button{display:none}.is-collapsed .brand{justify-content:center;padding:10px}.is-collapsed .nav-item,.is-collapsed .sidebar-profile{justify-content:center}.mobile-only,.sidebar-scrim{display:none}.stats-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.stats-grid.compact{grid-template-columns:repeat(3,1fr)}.stat-card{align-items:flex-start;gap:13px;min-height:126px;padding:17px;display:flex}.stat-card__icon{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:7px;place-items:center;display:grid}.stat-card__icon svg{width:18px}.stat-card strong,.stat-card span,.stat-card small{display:block}.stat-card strong{margin-top:2px;font-size:23px;line-height:1}.stat-card span{margin-top:7px;font-size:11.5px;font-weight:700}.stat-card small{color:var(--muted);margin-top:4px;font-size:10px}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.8fr);gap:16px;display:grid}.card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-heading h2{margin:4px 0 0;font-size:14px}.chart-metric{margin-top:18px;font-size:24px;font-weight:800}.chart-metric small{color:var(--subtle);margin-left:9px;font-size:10px;font-weight:600}.line-chart{height:225px;margin-top:8px}.line-chart svg{width:100%;height:190px;overflow:visible}.chart-area{fill:url(#area)}.chart-line{fill:none;stroke:var(--blue);stroke-width:3px;stroke-linecap:round}.line-chart>div{color:var(--subtle);justify-content:space-between;font-size:9.5px;display:flex}.session-list{margin-top:11px}.session-row{border-top:1px solid #edf0f5;grid-template-columns:72px 4px 1fr auto;align-items:center;gap:11px;padding:13px 0;display:grid}.session-row:first-child{border-top:0}.time-block strong,.time-block span,.session-row>div:nth-child(3) strong,.session-row>div:nth-child(3) span{display:block}.time-block strong,.session-row>div:nth-child(3) strong{font-size:11.5px}.time-block span,.session-row>div:nth-child(3) span{color:var(--muted);margin-top:3px;font-size:9.5px}.session-row>i{background:var(--blue);border-radius:3px;height:36px}.session-row>i.makeup{background:var(--amber)}.quick-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.action-row{border-top:1px solid #edf0f5;align-items:center;gap:10px;padding:11px 0;display:flex}.action-row>span{width:27px;height:27px;color:var(--muted);background:#f0f3f8;border-radius:6px;place-items:center;font-size:10px;font-weight:800;display:grid}.action-row>div{flex:1}.action-row strong,.action-row small{display:block}.action-row strong{font-size:11.5px}.action-row small{color:var(--muted);margin-top:3px;font-size:9.5px}.progress-row{border-top:1px solid #edf0f5;padding:12px 0}.progress-row>div:first-child{justify-content:space-between;font-size:11px;display:flex}.progress-row span{color:var(--muted)}.progress{background:#edf0f5;border-radius:5px;height:6px;margin-top:8px;overflow:hidden}.progress i{background:var(--blue);border-radius:5px;height:100%;display:block}.filter-row,.table-toolbar{align-items:center;gap:12px;margin-bottom:14px;display:flex}.table-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line);margin:0;padding:13px 14px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;color:#929db1;text-transform:uppercase;letter-spacing:.05em;background:#fafbfc;padding:11px 14px;font-size:9.5px}.person-cell{align-items:center;gap:10px;display:flex}.person-cell strong,.person-cell span{display:block}.person-cell span{color:var(--subtle);margin-top:3px;font-size:9.5px}.muted{color:var(--subtle)}.row-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.row-actions>button:not(.button){border:1px solid var(--line);width:32px;height:32px;color:var(--blue);cursor:pointer;background:#fff;border-radius:6px;place-items:center;display:grid}.day-groups>section{margin-top:22px}.day-heading{color:var(--ink);align-items:center;gap:7px;margin-bottom:10px;font-size:12px;display:flex}.day-heading svg{color:var(--blue)}.day-heading span{color:var(--subtle);font-size:10px}.group-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.group-card{padding:16px}.group-card__top{justify-content:space-between;align-items:center;display:flex}.group-card__top>span{color:var(--subtle);font-size:9.5px;font-weight:700}.group-card h2{margin:14px 0 4px;font-size:15px}.group-card>p{color:var(--muted);margin:0;font-size:10.5px}.group-meta{border-top:1px solid #edf0f5;gap:16px;margin-top:13px;padding:13px 0;display:flex}.group-meta span{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.capacity>div:first-child{align-items:center;gap:6px;font-size:10px;display:flex}.capacity>div:first-child span{color:var(--muted)}.group-card footer,.course-card footer{gap:7px;margin-top:15px;display:flex}.group-card footer .button:first-child{flex:1}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#11192b6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(620px,100%);max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;border:1px solid #ffffffb3;border-radius:8px;flex-direction:column;animation:.18s both modal-in;display:flex}.modal>header,.modal>footer{align-items:center;gap:8px;min-height:62px;padding:12px 17px;display:flex}.modal>header{border-bottom:1px solid var(--line)}.modal>header h2{flex:1;margin:0;font-size:15px}.modal>footer{border-top:1px solid var(--line);justify-content:flex-end}.modal__body{padding:18px;overflow:auto}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label,.login-form>label{color:#4d5972;flex-direction:column;gap:6px;font-size:10.5px;font-weight:750;display:flex}.form-grid .span-2{grid-column:span 2}.form-grid input,.form-grid select,.login-form input,.login-form select{border:1px solid var(--line);width:100%;height:40px;color:var(--ink);background:#f9fafc;border-radius:7px;padding:0 11px;font-size:12px}.messages-page{height:100%}.chat-layout{border:1px solid var(--line);height:calc(100vh - 130px);min-height:560px;box-shadow:var(--shadow);background:#fff;border-radius:8px;grid-template-columns:310px 1fr;display:grid;overflow:hidden}.chat-sidebar{border-right:1px solid var(--line);flex-direction:column;min-width:0;display:flex}.chat-sidebar>header,.conversation>header{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:70px;padding:12px 14px;display:flex}.chat-sidebar>header>div{flex:1}.chat-sidebar h1{margin:3px 0 0;font-size:18px}.chat-sidebar>.search-input{min-width:0;margin:12px}.contact-list{padding:0 8px 12px;overflow:auto}.contact-list section>span{color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;padding:11px 7px 5px;font-size:9px;font-weight:800;display:block}.contact-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;height:58px;padding:7px;display:flex}.contact-list button>div:nth-child(2){flex:1;min-width:0}.contact-list button strong,.contact-list button span{display:block}.contact-list button strong{color:var(--ink);font-size:11.5px}.contact-list button span{color:var(--muted);margin-top:3px;font-size:9.5px}.contact-list button>b{background:var(--blue);color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.presence{position:relative}.presence>i{background:#1aa778;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:0}.conversation{background:#f8f9fc;flex-direction:column;min-width:0;display:flex}.conversation>header{background:#fff}.conversation>header>div:nth-child(2){min-width:0}.conversation>header>div:nth-child(3){flex:1}.conversation>header strong,.conversation>header span{display:block}.conversation>header strong{font-size:12px}.conversation>header span{color:var(--green);margin-top:3px;font-size:9.5px}.message-stream{flex:1;padding:20px;overflow:auto}.date-separator{text-align:center;margin-bottom:14px}.date-separator span{color:var(--muted);background:#e9edf4;border-radius:5px;padding:4px 9px;font-size:9px}.message{flex-direction:column;align-items:flex-start;margin:10px 0;display:flex}.message>div{border:1px solid var(--line);color:#42506a;background:#fff;border-radius:8px 8px 8px 2px;max-width:min(590px,75%);padding:10px 12px;font-size:12px;line-height:1.5}.message>span{color:var(--subtle);margin-top:4px;font-size:8.5px}.message.own{align-items:flex-end}.message.own>div{background:var(--blue);color:#fff;border-color:var(--blue);border-radius:8px 8px 2px}.composer{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:7px;min-height:52px;margin:12px;padding:6px;display:flex}.composer>button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.composer>input{min-width:0;color:var(--ink);border:0;outline:0;flex:1;padding:0 5px}.composer>.send-button{background:var(--blue);color:#fff}.course-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.course-card{flex-direction:column;min-height:250px;padding:17px;display:flex}.course-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.course-card>div:first-child>span{color:var(--subtle);font-size:10px}.course-card>svg{color:var(--blue);margin-top:18px}.course-card p{color:var(--muted);flex:1;font-size:11px;line-height:1.55}.course-tags{flex-wrap:wrap;gap:5px;display:flex}.course-card footer .button:first-child{flex:1}.schedule-board{overflow:hidden}.schedule-head,.schedule-line{grid-template-columns:90px repeat(3,1fr);gap:8px;display:grid}.schedule-head{color:var(--subtle);text-transform:uppercase;background:#fafbfc;padding:12px;font-size:9px;font-weight:800}.schedule-line{border-top:1px solid var(--line);min-height:76px;padding:8px 12px}.schedule-line>span{color:var(--muted);padding-top:9px;font-size:10px}.schedule-line article{border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:6px;padding:9px}.schedule-line article.makeup{border-color:var(--amber);background:var(--amber-soft)}.schedule-line article strong,.schedule-line article small{display:block}.schedule-line article strong{font-size:10.5px}.schedule-line article small{color:var(--muted);margin-top:5px;font-size:9px}.attendance-layout{grid-template-columns:360px 1fr;gap:15px;display:grid}.attendance-layout>.card{padding:17px}.attendance-layout h2{margin:5px 0 13px;font-size:14px}.attendance-session{border:1px solid #0000;border-top-color:var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:9px;width:100%;padding:11px 6px;display:flex}.attendance-session.active{background:var(--blue-soft);border-color:#d8e5ff;border-radius:7px;padding:11px}.attendance-session>div{flex:1}.attendance-session strong,.attendance-session span{display:block}.attendance-session strong{font-size:10.5px}.attendance-session span{color:var(--muted);margin-top:4px;font-size:9px}.roster{margin-top:12px}.roster>div{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.roster>div>span:nth-child(2){flex:1}.roster strong,.roster small{display:block}.roster strong{font-size:11px}.roster small{color:var(--muted);margin-top:3px;font-size:9px}.login-page{background:#fff;grid-template-columns:minmax(380px,1fr) minmax(440px,.85fr);min-height:100%;display:grid}.login-brand{color:#fff;background:linear-gradient(145deg,#17233d 0%,#213963 58%,#274f93 100%);flex-direction:column;padding:48px clamp(40px,7vw,110px);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-230px;right:-230px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.login-brand>img{object-fit:contain;filter:brightness(0)invert();width:45px;height:52px}.login-brand>span{margin-top:8px;font-size:13px;font-weight:800}.login-brand>div{z-index:1;margin:auto 0;position:relative}.login-brand small{text-transform:uppercase;letter-spacing:.12em;color:#9fb9e7;font-size:11px;font-weight:750}.login-brand h1{letter-spacing:0;max-width:620px;margin:15px 0 20px;font-size:clamp(38px,4vw,62px);line-height:1.04}.login-brand p{color:#c5d2e8;max-width:540px;font-size:14px;line-height:1.7}.login-brand ul{z-index:1;gap:24px;margin:0;padding:0;list-style:none;display:flex;position:relative}.login-brand li{color:#c8d5e9;align-items:center;gap:7px;font-size:10.5px;display:flex}.login-panel{place-items:center;padding:30px;display:grid}.login-form{flex-direction:column;gap:16px;width:min(410px,100%);display:flex}.login-mark{display:none}.login-form h2{margin:6px 0 0;font-size:27px}.login-form>div>p{color:var(--muted);margin:7px 0 0;font-size:12px}.password-field{position:relative}.password-field button{width:33px;height:33px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:4px;right:5px}.form-meta{justify-content:space-between;align-items:center;display:flex}.checkbox{color:var(--muted);align-items:center;gap:7px;font-size:10.5px;display:flex}.checkbox input{width:15px;height:15px}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:10.5px;font-weight:700}.login-form>.button{height:43px}.form-error{background:var(--red-soft);color:var(--red);border-radius:7px;padding:10px;font-size:10.5px}.login-note{text-align:center;color:var(--subtle);font-size:9.5px}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.group-grid,.course-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr}.topbar-user span{display:none}}@media (max-width:900px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{width:244px;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:none;box-shadow:20px 0 60px #17233d33}.sidebar-scrim{z-index:25;background:#17233d59;display:block;position:fixed;inset:0}.desktop-only{display:none}.mobile-only{display:grid}.workspace>main{padding:20px}.chat-layout{grid-template-columns:250px 1fr}.attendance-layout,.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh}.login-mark{align-items:center;gap:8px;display:flex}.login-mark img{width:35px}.login-mark span{font-weight:800}}@media (max-width:700px){.topbar{padding:0 12px}.topbar__divider,.topbar__title,.topbar-user{display:none}.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.page-actions .button{flex:1}.stats-grid,.stats-grid.compact,.group-grid,.course-grid{grid-template-columns:1fr}.filter-row,.table-toolbar{flex-direction:column;align-items:stretch}.search-input{width:100%;min-width:0}.segmented{max-width:100%;overflow:auto}.result-count{margin:0}.chat-layout{height:calc(100vh - 105px);display:block}.chat-sidebar{border:0;height:100%}.conversation{display:none}.schedule-head,.schedule-line{grid-template-columns:70px repeat(3,180px);width:640px}.schedule-board{overflow:auto}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.login-panel{padding:20px}.workspace>main{padding:17px 14px 30px}}html,body,#root{width:100%;height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0}.sidebar,.workspace,.workspace>main,.sidebar nav,.conversation,.chat-sidebar,.message-stream,.contact-list{min-height:0}.workspace{overflow:hidden}.workspace>main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.page{min-height:min-content;padding-bottom:8px}.avatar{text-align:center;overflow:hidden;letter-spacing:0!important;justify-content:center!important;align-items:center!important;padding:0!important;line-height:1!important;display:inline-flex!important}.button svg,.icon-button svg,.row-actions svg{flex:none}.action-row.is-done{opacity:.55;text-decoration:line-through}.stack-field{color:#4d5972;flex-direction:column;gap:7px;font-size:11px;font-weight:750;display:flex}.stack-field+.stack-field{margin-top:14px}.stack-field input,.stack-field select,.stack-field textarea,.form-grid textarea,.table-scroll select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#f9fafc;border-radius:7px;padding:8px 10px;font-size:12px}.stack-field textarea,.form-grid textarea{resize:vertical;min-height:84px}.checkbox-row{align-items:center;flex-direction:row!important}.checkbox-row input{width:16px!important;height:16px!important}.detail-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.detail-grid>div{background:#f7f9fc;border:1px solid #edf0f5;border-radius:7px;padding:12px}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:var(--subtle);text-transform:uppercase;font-size:9px;font-weight:800}.detail-grid strong{margin-top:5px;font-size:12px}.modal-copy{color:var(--muted);font-size:12px;line-height:1.6}.lesson-row{border-top:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:11px 0;display:grid}.lesson-row>b{background:var(--blue-soft);width:32px;height:32px;color:var(--blue);border-radius:6px;place-items:center;display:grid}.lesson-row strong,.lesson-row span{display:block}.lesson-row strong{font-size:11px}.lesson-row span{color:var(--muted);margin-top:4px;font-size:9.5px}.topbar-popover-wrap{position:relative}.topbar-popover{border:1px solid var(--line);width:330px;box-shadow:var(--shadow-lg);z-index:60;background:#fff;border-radius:8px;padding:10px;animation:.15s both modal-in;position:absolute;top:48px;right:0}.branch-popover{width:280px;left:0;right:auto}.branch-popover>button{text-align:left;background:#f7f9fc;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;margin-top:7px;padding:9px;display:flex}.branch-popover>button>b{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);border-radius:6px;place-items:center;display:grid}.branch-popover>button>span{flex:1}.branch-popover strong,.branch-popover small{display:block}.branch-popover strong{font-size:11px}.branch-popover small{color:var(--muted);margin-top:3px;font-size:9px}.notification-popover>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:4px 3px 9px;display:flex}.notification-popover>header button{color:var(--blue);background:0 0;border:0;font-size:9.5px;font-weight:750}.notification-popover>div{border-bottom:1px solid #edf0f5;padding:10px 4px}.notification-popover b,.notification-popover span{display:block}.notification-popover b{font-size:10.5px}.notification-popover span{color:var(--muted);margin-top:4px;font-size:9.5px;line-height:1.45}.toast-region{z-index:2000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{color:#fff;width:min(360px,100vw - 28px);box-shadow:var(--shadow-lg);background:#17233d;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:9px;padding:11px 12px;animation:.18s both modal-in;display:flex}.toast>span{flex:1;font-size:11px}.toast>button{color:#b9c4d6;background:0 0;border:0;place-items:center;display:grid}.toast--success>svg{color:#55d5a5}.toast--error>svg{color:#ff7e89}.toast--info>svg{color:#8eb6ff}.chat-back{display:none}.table-scroll select{min-width:130px;min-height:34px;padding:5px 7px}.table-scroll td strong{color:var(--ink)}@media (max-width:900px){.workspace,.sidebar{height:100dvh}.topbar-popover{width:min(330px,100vw - 24px);position:fixed;top:62px;left:auto;right:12px}.branch-popover{left:12px;right:auto}}@media (max-width:700px){.workspace>main{padding-bottom:max(28px,env(safe-area-inset-bottom))}.chat-layout.has-conversation .chat-sidebar,.chat-layout:not(.has-conversation) .conversation{display:none}.chat-layout.has-conversation .conversation{height:100%;display:flex}.chat-back{display:grid}.chat-layout{min-height:0}.messages-page{height:calc(100dvh - 98px);padding:0}.message-stream{padding:14px}.message>div{max-width:88%}.lesson-row{grid-template-columns:32px 1fr}.lesson-row .button{grid-column:2}.detail-grid{grid-template-columns:1fr}.toast-region{bottom:14px;right:14px}.page-header h1{font-size:24px}.topbar .branch-switch span{display:none}.topbar .branch-switch{padding:4px}.table-scroll{max-width:calc(100vw - 28px)}.modal-backdrop{padding:10px}.modal{max-height:calc(100dvh - 20px)}}:root{color:#25324e;--ink:#25324e;--muted:#8b93a8;--subtle:#a7aec2;--line:#eceef5;--surface:#fff;--canvas:#eef0f8;--blue:#3b6fe0;--blue-dark:#2c58cc;--blue-soft:#edf2fe;--red:#c42435;--red-soft:#fceaec;--green:#1f9d6b;--green-soft:#e7f6ef;--amber:#c8870c;--amber-soft:#fbf1de;--purple:#7c4dd6;--purple-soft:#f3eefb;--shadow:0 1px 2px #25324e0a,0 14px 34px -20px #25324e33;--shadow-lg:0 18px 44px -12px #25324e47;--radius:18px;--ease:.14s ease;background:#eef0f8;font-family:Manrope,system-ui,sans-serif}body{color:#25324e;-webkit-font-smoothing:antialiased;background:#eef0f8;font-family:Manrope,system-ui,sans-serif}button,input,select,textarea{font-family:inherit}.app-shell{background:#eef0f8;grid-template-columns:256px minmax(0,1fr)}.sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-right:1px solid #eceef5}.brand{border:0;gap:11px;height:auto;min-height:74px;padding:20px 18px 14px}.brand img{width:38px;height:44px}.brand strong{letter-spacing:0;color:#25324e;font-size:17px;font-weight:800;line-height:1.05}.brand span{color:#a7aec2;letter-spacing:.04em;text-transform:none;margin-top:2px;font-size:10px;font-weight:600}.sidebar nav{padding:0 0 14px}.nav-section{margin:16px 0 5px}.nav-section__label{color:#aab1c5;letter-spacing:.13em;padding:0 20px 5px;font-size:10px;font-weight:700}.nav-item{color:#5a6480;border-radius:11px;gap:11px;width:calc(100% - 16px);height:auto;min-height:40px;margin:1px 8px;padding:9px 12px;font-size:13.5px;font-weight:600}.nav-item svg{stroke-width:1.7px}.nav-item:hover{color:#414b62;background:#eef1f8}.nav-item.active{color:#2c58cc;background:#edf2fe;font-weight:700;box-shadow:0 1px 2px #3b6fe01a}.nav-item b{color:#c42435;background:#fceaec;border-radius:9px;min-width:0;height:auto;padding:1px 7px;font-size:10.5px}.workspace{background:#eef0f8}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffdb;border-bottom:1px solid #eceef5;gap:14px;height:64px;padding:0 22px}.branch-switch{background:#f4f6fc;border:1px solid #e7eaf3;border-radius:11px;gap:9px;height:auto;padding:6px 12px}.branch-switch:hover{background:#eef1f8}.branch-switch>b{color:#2c58cc;background:#edf2fe;border-radius:8px;width:26px;height:26px;font-size:11px;font-weight:800}.branch-switch strong,.topbar-user strong{color:#25324e;font-size:13px;font-weight:700}.branch-switch small,.topbar-user small{color:#9aa1b4;font-size:10px;font-weight:600}.topbar__divider{background:#e7eaf3}.topbar__title{color:#25324e;letter-spacing:0;font-size:15px;font-weight:800}.icon-button{color:#5a6480;background:#f6f7fb;border:1px solid #e7eaf3;border-radius:11px;width:40px;height:40px}.icon-button:hover{color:#25324e;background:#eef1f8}.notification-button i{background:#b01e2f;width:8px;height:8px;top:7px;right:8px}.topbar-user{border-left:1px solid #edeff6;gap:10px;padding-left:12px}.topbar-user .avatar{color:#fff;background:linear-gradient(140deg,#3b6fe0,#6e54d6);border-radius:11px;width:38px;height:38px;font-size:14px}.signout-button{border-radius:10px;width:34px;height:34px}.workspace>main{padding:24px 26px 40px}.page{max-width:none;margin:0}.page-header{align-items:flex-end;margin-bottom:20px}.eyebrow{letter-spacing:.1em;color:#a7aec2;font-size:11px;font-weight:700}.page-header h1{letter-spacing:0;color:#25324e;margin:5px 0 0;font-size:28px;font-weight:800;line-height:1.2}.page-header p{color:#8b93a8;margin:4px 0 0;font-size:12px}.page-actions{gap:10px}.button{letter-spacing:0;border-radius:11px;height:40px;padding:0 16px;font-size:13px;font-weight:700}.button:hover{transform:none}.button--primary{color:#fff;background:#3b6fe0;border:1px solid #2c58cc;box-shadow:0 6px 16px -6px #3b6fe099}.button--primary:hover{background:#2c58cc}.button--secondary{color:#414b62;background:#fff;border:1px solid #e3e7f1;box-shadow:0 1px 2px #25324e0d}.button--secondary:hover,.button--ghost:hover{background:#eef1f8}.button--ghost{color:#3b6fe0;background:0 0}.button--danger{background:#c42435}.card{box-shadow:var(--shadow);background:#fff;border:1px solid #eceef5;border-radius:18px}.stats-grid{gap:14px;margin-bottom:18px}.stat-card{min-height:144px;padding:16px;display:block}.stat-card__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.stat-card__icon{color:#2c58cc;background:#edf2fe;border-radius:10px;width:34px;height:34px}.stat-card:nth-child(2) .stat-card__icon{color:#1f9d6b;background:#e7f6ef}.stat-card:nth-child(3) .stat-card__icon{color:#7c4dd6;background:#f3eefb}.stat-card:nth-child(4) .stat-card__icon{color:#c8870c;background:#fbf1de}.stat-card__top small{text-align:right;color:#1f9d6b;max-width:115px;margin:0;font-size:10.5px;font-weight:700;line-height:1.3;display:block}.stat-card>strong{color:#25324e;margin-top:12px;font-size:24px;font-weight:800;line-height:1.15;display:block}.stat-card>span{color:#8b93a8;margin-top:2px;font-size:12px;font-weight:600;display:block}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px;gap:20px}.chart-card,.today-card{padding:20px}.card-heading h2{color:#25324e;font-size:15.5px;font-weight:800}.chart-metric{color:#25324e;font-size:26px}.line-chart{height:220px}.quick-grid{gap:18px;margin-top:18px}.quick-grid>.card{padding:20px}.badge{border-radius:9px;min-height:0;padding:4px 9px;font-size:11px;font-weight:700}.search-input{color:#a7aec2;background:#fff;border:1px solid #e1e6f0;border-radius:9px;height:40px}.search-input input{color:#25324e;font-size:12.5px}.search-input:focus-within{border-color:#3b6fe0;box-shadow:0 0 0 3px #3b6fe01f}.segmented{background:#fff;border:1px solid #eceef5;border-radius:11px;gap:4px;padding:4px}.segmented button{border-radius:8px;height:34px;font-size:12px}.segmented button.active{color:#2c58cc;box-shadow:none;background:#edf2fe}.table-panel{box-shadow:var(--shadow);border:1px solid #eceef5;border-radius:18px}.table-toolbar{border-bottom:1px solid #f0f2f8;padding:14px 16px}th{color:#a0a8bc;letter-spacing:.04em;background:#fafbfe;padding:12px 14px;font-size:10px;font-weight:700}td{color:#5a6480;border-top:1px solid #f0f2f8;height:72px;padding:11px 14px;font-size:12px}tbody tr:hover{background:#fbfcfe}.person-cell strong{color:#25324e;font-size:13px}.person-cell span{color:#9aa1b4;font-size:10.5px}.avatar{color:#2c58cc;background:#edf2fe;border-radius:11px;font-weight:800}.row-actions>button:not(.button){background:#fff;border-color:#e1e6f0;border-radius:10px;width:34px;height:34px}.group-grid,.course-grid{gap:14px}.group-card,.course-card{padding:20px}.group-card h2,.course-card h2{color:#25324e;font-size:16px;font-weight:800}.group-card>p,.course-card p{color:#8b93a8;font-size:12px}.progress{background:#f0f2f8}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#171f3261}.modal{border:0;border-radius:18px;box-shadow:0 24px 70px -18px #25324e61}.modal>header,.modal>footer{min-height:66px;padding:14px 24px}.modal>header h2{font-size:17px;font-weight:800}.modal__body{padding:20px 24px}.form-grid label,.login-form>label,.stack-field{color:#5a6480;font-size:11.5px;font-weight:700}.form-grid input,.form-grid select,.login-form input,.login-form select,.stack-field input,.stack-field select,.stack-field textarea,.form-grid textarea,.table-scroll select{color:#25324e;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:10px;min-height:42px;padding:9px 12px;font-size:12.5px}.chat-layout{box-shadow:var(--shadow);border:1px solid #eceef5;border-radius:18px}.chat-sidebar{border-color:#f0f2f8}.chat-sidebar>header,.conversation>header{border-color:#f0f2f8;height:70px}.contact-list button{border-radius:11px;height:64px}.contact-list button:hover,.contact-list button.active{background:#f5f8ff}.conversation{background:#fbfcfe}.message>div{border-color:#e7eaf3;border-radius:13px 13px 13px 3px;font-size:12.5px}.message.own>div{background:#3b6fe0;border-color:#3b6fe0;border-radius:13px 13px 3px}.composer{background:#f6f7fb;border-color:#e7eaf3;border-radius:13px;padding:7px}.composer>.send-button{background:#3b6fe0;border-radius:10px}.topbar-popover{box-shadow:var(--shadow-lg);border:1px solid #eceef5;border-radius:16px;top:50px}.skeleton{background:linear-gradient(90deg,#e9ecf4 25%,#f7f8fb 50%,#e9ecf4 75%) 0 0/200% 100%;border-radius:16px}.toast{background:#25324e;border-radius:12px}@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{width:256px}}@media (max-width:700px){.workspace>main{padding:16px 12px 30px}.topbar{gap:8px;height:56px;padding:0 12px}.topbar__divider,.topbar__title,.topbar-user>span,.signout-button{display:none}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{font-size:26px}.page-actions{flex-wrap:wrap;width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:132px;padding:14px}.stat-card__top small{display:none}.quick-grid{grid-template-columns:1fr}}@media (max-width:430px){.stats-grid{grid-template-columns:1fr}.stat-card{min-height:122px}.button{max-width:100%}}.registration-page{min-height:100%;animation:.35s both fadeUp}.registration-cancel{color:#8b93a8;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0 0 14px;padding:0;font-size:12.5px;font-weight:700;display:flex}.registration-cancel:hover{color:#2c58cc}.registration-wrap{width:min(880px,100%);margin:0 auto}.registration-wrap>h1{text-align:center;color:#25324e;margin:0;font-size:28px;font-weight:800}.registration-steps{justify-content:center;align-items:flex-start;margin:24px 0 28px;display:flex}.registration-step-wrap{align-items:center;display:flex}.registration-step-wrap>i{background:#e7eaf3;width:70px;height:2px;margin-top:17px}.registration-step-wrap>i.done{background:#3b6fe0}.registration-step{flex-direction:column;align-items:center;gap:7px;width:82px;display:flex}.registration-step>span{color:#aeb4c7;background:#f1f3f8;border:2px solid #0000;border-radius:11px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid}.registration-step>strong{color:#aeb4c7;font-size:11.5px;font-weight:600}.registration-step.active>span{color:#2c58cc;background:#edf2fe;border-color:#3b6fe0}.registration-step.active>strong{color:#2c58cc;font-weight:800}.registration-step.done>span{color:#fff;background:#3b6fe0}.registration-step.done>strong{color:#2c58cc}.registration-card{background:#fff;border:1px solid #eceef5;border-radius:18px;min-height:510px;padding:28px 30px 22px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -22px #25324e33}.registration-card>h2{color:#25324e;margin:0 0 18px;font-size:18px;font-weight:800}.registration-card>h2>small{color:#9aa1b4;font-size:12.5px;font-weight:700}.registration-copy{color:#9aa1b4;margin:-10px 0 18px;font-size:12.5px;line-height:1.5}.registration-form-grid{grid-template-columns:1fr 1fr;gap:16px 18px;display:grid}.registration-form-grid label{color:#5a6480;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex;position:relative}.registration-form-grid label>small{color:#a7aec2;font-size:10px;font-weight:600;position:absolute;right:0}.registration-form-grid .span-2{grid-column:span 2}.registration-form-grid input,.registration-form-grid select{color:#25324e;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:11px;outline:0;width:100%;height:48px;padding:0 15px;font-size:13px}.registration-form-grid input:focus,.registration-form-grid select:focus{background:#fff;border-color:#3b6fe0;box-shadow:0 0 0 3px #3b6fe01f}.registration-form-grid fieldset{border:0;min-width:0;margin:0;padding:0}.registration-form-grid legend{color:#5a6480;margin-bottom:6px;font-size:12px;font-weight:700}.gender-control{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gender-control button{color:#5a6480;cursor:pointer;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:11px;height:48px;font-size:13px;font-weight:700}.gender-control button.active{color:#2c58cc;background:#edf2fe;border-color:#3b6fe0}.registration-hint{color:#c8870c;margin:10px 0 0;font-size:11px}.registration-options{flex-direction:column;gap:10px;display:flex}.registration-options>button{cursor:pointer;text-align:left;background:#fff;border:1px solid #e3e7f1;border-radius:13px;align-items:center;gap:12px;width:100%;min-height:66px;padding:12px 15px;display:flex}.registration-options>button.selected{background:#f5f8ff;border-color:#3b6fe0}.radio-dot{background:#fff;border:2px solid #d3d9e6;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.selected>.radio-dot{border:5px solid #3b6fe0}.registration-options button>div{flex:1;min-width:0}.registration-options strong,.registration-options small{display:block}.registration-options strong{color:#25324e;font-size:13.5px}.registration-options small{color:#9aa1b4;margin-top:3px;font-size:11.5px}.registration-options button>b{color:#3b6fe0;font-size:13.5px}.registration-search{color:#a7aec2;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:11px;align-items:center;gap:9px;height:44px;margin:14px 0 10px;padding:0 12px;display:flex}.registration-search input{color:#25324e;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.registration-group-list{flex-direction:column;gap:8px;max-height:250px;padding-right:3px;display:flex;overflow-y:auto}.registration-group-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #eff1f7;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.registration-group-list>button.selected{background:#f5f8ff;border-color:#3b6fe0}.registration-group-list button>div{flex:1;min-width:0}.registration-group-list span{color:#2c58cc;text-transform:uppercase;background:#edf2fe;border-radius:7px;margin-right:8px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-flex}.registration-group-list strong{color:#25324e;font-size:13.5px}.registration-group-list small{color:#9aa1b4;margin-top:4px;font-size:11.5px;display:block}.registration-group-list button>b{color:#5a6480;font-size:11.5px}.registration-review{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.registration-review>div{background:#f8f9fc;border-radius:12px;padding:14px}.registration-review span,.registration-review strong{display:block}.registration-review span{color:#9aa1b4;text-transform:uppercase;font-size:11px;font-weight:700}.registration-review strong{color:#25324e;margin-top:5px;font-size:14px}.registration-notice{color:#9a6708;background:#fbf7e9;border:1px solid #f0e4c0;border-radius:13px;padding:14px 16px;font-size:12.5px;font-weight:600;line-height:1.45}.registration-summary{background:#edf2fe;border:1px solid #dce7fd;border-radius:13px;padding:15px 16px}.registration-summary span,.registration-summary strong,.registration-summary small{display:block}.registration-summary span{color:#2c58cc;text-transform:uppercase;font-size:10px;font-weight:800}.registration-summary strong{color:#25324e;margin-top:5px;font-size:15px}.registration-summary small{color:#5a6480;margin-top:3px;font-size:11.5px}.registration-card>footer{border-top:1px solid #f0f2f8;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;display:flex}.registration-card>footer>span{color:#9aa1b4;font-size:12px;font-weight:600}@media (max-width:700px){.registration-wrap>h1{font-size:24px}.registration-steps{margin:18px 0 22px}.registration-step{width:58px}.registration-step-wrap>i{width:22px}.registration-step>strong{font-size:10px}.registration-card{min-height:0;padding:20px 16px}.registration-form-grid{grid-template-columns:1fr}.registration-form-grid .span-2{grid-column:auto}.registration-review{grid-template-columns:1fr}}body>.modal-backdrop{z-index:1000;overscroll-behavior:contain;-webkit-backdrop-filter:blur(7px);background:#25324e61;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}body>.modal-backdrop>.modal{background:#fff;border-radius:18px;width:min(636px,100%);max-height:calc(100dvh - 48px);margin:auto;overflow:hidden;box-shadow:0 28px 70px -18px #25324e75}body>.modal-backdrop>.modal>header{background:#fff;min-height:84px;padding:16px 26px}body>.modal-backdrop>.modal>header h2{font-size:18px}body>.modal-backdrop>.modal>.modal__body{flex:1;min-height:0;padding:24px 26px;overflow-y:auto}body>.modal-backdrop>.modal>footer{background:#fff;min-height:82px;padding:14px 26px}@media (max-width:700px){body>.modal-backdrop{align-items:flex-end;padding:10px}body>.modal-backdrop>.modal{border-radius:18px;max-height:calc(100dvh - 20px)}body>.modal-backdrop>.modal>header{min-height:66px;padding:12px 18px}body>.modal-backdrop>.modal>.modal__body{padding:18px}body>.modal-backdrop>.modal>footer{min-height:68px;padding:12px 18px}}.admin-dashboard{color:#25324e;animation:.4s both fadeUp}.admin-dashboard-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.admin-dashboard-heading>div:first-child>span{letter-spacing:.1em;text-transform:uppercase;color:#a7aec2;font-size:11px;font-weight:700}.admin-dashboard-heading h1{color:#25324e;margin:5px 0 0;font-size:28px;font-weight:800;line-height:1.2}.admin-dashboard-heading>div:last-child{gap:10px;display:flex}.admin-dashboard-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.admin-dashboard-main{min-width:0}.admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-dashboard-card{background:#fff;border:1px solid #eceef5;border-radius:18px;min-width:0;padding:20px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -20px #25324e33}.admin-kpi-card{border-radius:16px;padding:16px;box-shadow:0 1px 2px #25324e0a,0 12px 30px -20px #25324e33}.admin-kpi-card>div{justify-content:space-between;align-items:center;display:flex}.admin-kpi-icon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.admin-kpi-icon svg{stroke-width:1.8px;width:17px;height:17px}.admin-kpi-icon.blue{color:#2c58cc;background:#edf2fe}.admin-kpi-icon.green{color:#1f9d6b;background:#e7f6ef}.admin-kpi-icon.purple{color:#7c4dd6;background:#f3eefb}.admin-kpi-icon.red{color:#c42435;background:#fceaec}.admin-kpi-trend{border-radius:8px;padding:3px 8px;font-size:11.5px;font-weight:800}.admin-kpi-trend.blue,.admin-kpi-trend.green{color:#1f9d6b;background:#e7f6ef}.admin-kpi-trend.purple{color:#2c58cc;background:#edf2fe}.admin-kpi-trend.red{color:#c42435;background:#fceaec}.admin-kpi-card>strong{color:#25324e;margin-top:12px;font-size:24px;font-weight:800;line-height:1.2;display:block}.admin-kpi-card>small{color:#8b93a8;margin-top:2px;font-size:12px;font-weight:600;display:block}.admin-revenue-card{margin-top:18px}.admin-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-card-heading h2,.admin-list-heading h2,.admin-payment-heading h2,.admin-leaderboard>h2{color:#25324e;margin:0;font-size:15px;font-weight:800}.admin-card-heading h2{font-size:15.5px}.admin-card-heading p,.admin-payment-heading p{color:#9aa1b4;margin:3px 0 0;font-size:12px}.admin-period{gap:6px;display:flex}.admin-period button{color:#9aa1b4;cursor:pointer;background:#f6f7fb;border:0;border-radius:9px;padding:6px 12px;font-size:11.5px;font-weight:700}.admin-period button.active{color:#2c58cc;background:#edf2fe}.admin-revenue-total{align-items:baseline;gap:10px;margin:4px 0 2px;display:flex}.admin-revenue-total strong{font-size:26px;font-weight:800}.admin-revenue-total span{color:#1f9d6b;font-size:12.5px;font-weight:700}.admin-revenue-chart{width:100%;height:180px;margin-top:8px;display:block;overflow:visible}.admin-chart-months{color:#a7aec2;justify-content:space-between;margin-top:8px;font-size:11px;font-weight:600;display:flex}.admin-analysis-grid{grid-template-columns:1fr 1.2fr;gap:18px;margin-top:18px;display:grid}.admin-donut-row{align-items:center;gap:18px;margin-top:8px;display:flex}.admin-donut{background:conic-gradient(#3b6fe0 0 58%,#1f9d6b 58% 74%,#b01e2f 74% 88%,#e0a21a 88%);border-radius:50%;flex:none;width:130px;height:130px;position:relative}.admin-donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:16px}.admin-donut-row>div:last-child{flex:1}.admin-legend-row{align-items:center;gap:8px;margin-bottom:9px;display:flex}.admin-legend-row i{border-radius:3px;width:9px;height:9px}.admin-legend-row span{color:#414b62;flex:1;font-size:12.5px;font-weight:600}.admin-legend-row strong{font-size:12.5px}.admin-bars{align-items:flex-end;gap:16px;height:168px;margin-top:8px;display:flex}.admin-bars>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.admin-bars strong{font-size:11px}.admin-bars i{border-radius:8px 8px 5px 5px;width:100%;max-width:30px}.admin-bars span{color:#9aa1b4;text-align:center;font-size:10.5px;font-weight:700}.admin-list-card{margin-top:18px}.admin-list-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-list-heading button,.admin-payment-heading>button{color:#3b6fe0;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.admin-session-item{border-top:1px solid #f4f5fa;align-items:center;gap:14px;padding:11px 0;display:flex}.admin-session-item>strong{width:62px;font-size:13px}.admin-session-item>i{border-radius:3px;width:4px;height:34px}.admin-session-item>div{flex:1;min-width:0}.admin-session-item b,.admin-session-item span{display:block}.admin-session-item b{font-size:13.5px}.admin-session-item span{color:#9aa1b4;margin-top:2px;font-size:11.5px}.admin-session-item>small{color:#8b93a8;font-size:12px;font-weight:600}.admin-payment-heading{align-items:center;gap:9px;margin-bottom:6px;display:flex}.admin-payment-heading>span{color:#c42435;background:#fceaec;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.admin-payment-heading>div{flex:1}.admin-overdue-item{border-top:1px solid #f4f5fa;align-items:center;gap:12px;padding:11px 0;display:flex}.admin-overdue-item>div:nth-child(2){flex:1;min-width:0}.admin-overdue-item b,.admin-overdue-item>div:nth-child(2)>span{display:block}.admin-overdue-item b{font-size:13px}.admin-overdue-item>div:nth-child(2)>span{color:#9aa1b4;margin-top:2px;font-size:11px}.admin-overdue-item>strong{text-align:right;color:#c42435;width:92px;font-size:13px}.admin-overdue-item>div:last-child{gap:6px;display:flex}.admin-overdue-item>div:last-child button{color:#2c58cc;cursor:pointer;background:#fff;border:1px solid #e7eaf3;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.admin-dashboard-rail{flex-direction:column;gap:16px;display:flex}.admin-attendance-ring{background:conic-gradient(#3b6fe0 0 93%,#f0f2f8 93%);border-radius:50%;place-items:center;width:150px;height:150px;margin:6px auto;display:grid;position:relative}.admin-attendance-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:14px}.admin-attendance-ring>div{text-align:center;position:relative}.admin-attendance-ring strong,.admin-attendance-ring span{display:block}.admin-attendance-ring strong{font-size:30px}.admin-attendance-ring span{color:#9aa1b4;font-size:11px;font-weight:600}.admin-attendance-stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.admin-attendance-stats>div{background:#f6f7fb;border-radius:12px;padding:11px}.admin-attendance-stats strong,.admin-attendance-stats span{display:block}.admin-attendance-stats strong{font-size:19px}.admin-attendance-stats span{color:#9aa1b4;margin-top:2px;font-size:11px;font-weight:600}.admin-leaderboard>h2{margin-bottom:12px}.admin-leaderboard>div{align-items:center;gap:11px;padding:8px 0;display:flex}.admin-leaderboard>div>span{flex:1;min-width:0}.admin-leaderboard>div>span strong,.admin-leaderboard>div>span small{display:block}.admin-leaderboard>div>span strong{font-size:13px}.admin-leaderboard>div>span small{color:#9aa1b4;margin-top:2px;font-size:11px}.admin-leaderboard>div>b{font-size:13px}@media (max-width:1280px){.admin-dashboard-layout{grid-template-columns:1fr}.admin-dashboard-rail{grid-template-columns:1fr 1fr;display:grid}.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.admin-dashboard-heading{flex-direction:column;align-items:flex-start}.admin-dashboard-heading>div:last-child{flex-wrap:wrap;width:100%}.admin-analysis-grid,.admin-dashboard-rail{grid-template-columns:1fr}.admin-session-item{grid-template-columns:62px 4px 1fr auto;display:grid}.admin-session-item>small{grid-column:3}.admin-overdue-item,.admin-payment-heading{flex-wrap:wrap}.admin-payment-heading>button{margin-left:39px}.admin-kpi-grid{gap:10px}}@media (max-width:480px){.admin-kpi-grid{grid-template-columns:1fr}.admin-donut-row{flex-direction:column;align-items:flex-start}.admin-donut{margin:auto}.admin-session-item{grid-template-columns:58px 4px 1fr}.admin-session-item>.badge{grid-column:3}.admin-overdue-item>strong{margin-left:auto}}.admin-entity-form label{position:relative}.admin-entity-form label>small{color:#a7aec2;font-size:10px;font-weight:600;position:absolute;right:0}.admin-entity-form textarea{resize:vertical;min-height:84px}.reference-chat{height:auto}.reference-chat-title{margin-bottom:16px}.reference-chat-title>span{letter-spacing:.1em;text-transform:uppercase;color:#a7aec2;font-size:11px;font-weight:700}.reference-chat-title h1{color:#25324e;margin:5px 0 0;font-size:26px;font-weight:800;line-height:1.2}.reference-chat .chat-layout{height:70vh;min-height:560px;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:300px minmax(0,1fr);gap:16px;display:grid;overflow:visible}.reference-chat .chat-sidebar,.reference-chat .conversation{background:#fff;border:1px solid #eceef5;border-radius:18px;min-height:0;overflow:hidden;box-shadow:0 1px 2px #25324e0a,0 14px 34px -22px #25324e33}.reference-chat .chat-sidebar{border-right:1px solid #eceef5}.reference-chat .chat-sidebar>.search-input{background:#f6f7fb;border-color:#e7eaf3;border-radius:10px;min-width:0;height:38px;margin:14px 14px 8px}.reference-chat .chat-sidebar>.search-input input{font-size:12.5px}.reference-chat .contact-list{padding:4px 10px 12px}.reference-chat .contact-list section>span{color:#aab1c5;letter-spacing:.1em;padding:12px 8px 6px;font-size:10px;font-weight:700}.reference-chat .contact-list button{border-radius:12px;gap:11px;height:62px;padding:8px 10px}.reference-chat .contact-list button:hover{background:#f6f7fb}.reference-chat .contact-list button.active{background:#edf2fe}.reference-chat .contact-list button strong{color:#25324e;font-size:13px;font-weight:700}.reference-chat .contact-list button span{color:#9aa1b4;margin-top:2px;font-size:11px}.reference-chat .contact-list button>b{background:#3b6fe0;border-radius:7px;width:20px;height:20px;font-size:10px}.reference-chat .presence>i{background:#1f9d6b;width:9px;height:9px}.reference-chat .conversation{background:#fff;display:flex}.reference-chat .conversation>header{background:#fff;border-bottom:1px solid #f0f2f8;flex:none;gap:12px;height:78px;padding:16px 20px}.reference-chat .conversation>header>.avatar{border-radius:12px;width:42px;height:42px}.reference-chat .conversation>header>div:first-of-type{flex:1}.reference-chat .conversation>header strong{color:#25324e;font-size:15px;font-weight:800}.reference-chat .conversation>header span{color:#1f9d6b;align-items:center;gap:5px;margin-top:3px;font-size:11.5px;font-weight:700;display:flex}.reference-chat .conversation>header span>i{background:#1f9d6b;border-radius:50%;width:6px;height:6px}.reference-chat-call{color:#2c58cc;cursor:pointer;background:#fff;border:1px solid #e7eaf3;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.reference-chat-call:hover{background:#edf2fe}.reference-chat-call:disabled{color:#a8b0c2;cursor:not-allowed;opacity:.75;background:#f5f6f9}.reference-chat .message-stream{background:#fbfcfe;flex-direction:column;gap:12px;padding:22px;display:flex}.reference-chat .message{margin:0}.reference-chat .message>div{color:#414b62;background:#f4f6fc;border:0;border-radius:14px 14px 14px 3px;max-width:min(590px,72%);padding:11px 14px;font-size:13px;line-height:1.5}.reference-chat .message.own>div{color:#fff;background:#3b6fe0;border-radius:14px 14px 3px}.reference-chat .message>span{color:#a7aec2;margin-top:4px;font-size:9px}.reference-chat .composer-wrap{background:#fff;border-top:1px solid #f0f2f8;flex:none;padding:14px 18px}.reference-chat .composer{background:#f6f7fb;border:1px solid #e7eaf3;border-radius:13px;min-height:52px;margin:0;padding:7px 7px 7px 14px}.reference-chat .composer>input{font-size:13px}.reference-chat .composer>.send-button{color:#fff;cursor:pointer;background:#3b6fe0;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}@media (max-width:900px){.reference-chat .chat-layout{grid-template-columns:270px minmax(0,1fr)}}@media (max-width:700px){.reference-chat-title{margin-bottom:12px}.reference-chat .chat-layout{height:calc(100dvh - 160px);min-height:460px;display:block}.reference-chat .chat-sidebar,.reference-chat .conversation{border-radius:14px;height:100%}.reference-chat .chat-layout.has-conversation .chat-sidebar,.reference-chat .chat-layout:not(.has-conversation) .conversation{display:none}.reference-chat .chat-layout.has-conversation .conversation{display:flex}}.admin-sessions .page-header{margin-bottom:18px}.admin-sessions .page-header p{display:none}.admin-sessions-layout{grid-template-columns:minmax(340px,1fr) minmax(520px,1.3fr);align-items:start;gap:18px;display:grid}.admin-sessions-card{background:#fff;border:1px solid #eceef5;border-radius:18px;min-width:0;padding:18px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -22px #25324e33}.admin-sessions-card h2{color:#25324e;margin:0;font-size:15px;font-weight:800}.admin-schedule-card>h2{margin-bottom:12px}.admin-schedule-list{flex-direction:column;gap:8px;display:flex}.admin-schedule-item{text-align:left;cursor:pointer;background:#f8f9fc;border:1px solid #eff1f7;border-radius:12px;align-items:center;gap:11px;width:100%;min-height:60px;padding:10px 12px;display:flex}.admin-schedule-item:hover{background:#f4f7fd}.admin-schedule-item.active{background:#f3f7ff;border-color:#bfd2fc}.admin-session-time{text-align:center;flex:none;width:54px}.admin-session-time strong,.admin-session-time small,.admin-session-summary strong,.admin-session-summary small{display:block}.admin-session-time strong{color:#25324e;font-size:13px;font-weight:800}.admin-session-time small{color:#9aa1b4;margin-top:2px;font-size:10px;font-weight:700}.admin-schedule-item>i{background:#3b6fe0;border-radius:3px;flex:none;align-self:stretch;width:3px}.admin-schedule-item>i.makeup{background:#d58a00}.admin-schedule-item>i.done{background:#cdd4e3}.admin-session-summary{flex:1;min-width:0}.admin-session-summary strong{color:#25324e;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}.admin-session-summary small{color:#9aa1b4;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11.5px;overflow:hidden}.admin-roster-card{padding:20px}.admin-roster-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.admin-roster-heading h2{font-size:16px}.admin-roster-heading p{color:#9aa1b4;margin:3px 0 0;font-size:12px}.admin-roster-heading .button{color:#1f9d6b;background:#e7f6ef;border-color:#cfeedf;border-radius:10px;height:34px;font-size:12px}.admin-session-controls{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.admin-session-controls label{color:#3b6fe0;background:#f8f9fc;border:1px solid #eff1f7;border-radius:12px;align-items:center;gap:10px;min-width:0;min-height:56px;padding:10px 13px;display:flex}.admin-session-controls label>span{color:#5a6480;white-space:nowrap;font-size:12.5px;font-weight:700}.admin-session-controls select{color:#25324e;background:#fff;border:1px solid #e3e7f1;border-radius:9px;outline:0;min-width:0;max-width:170px;height:36px;margin-left:auto;padding:0 10px;font-size:12.5px;font-weight:700}.admin-attendance-counts{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.admin-attendance-counts>div{color:#1f9d6b;background:#e7f6ef;border-radius:12px;padding:11px 13px}.admin-attendance-counts>div:nth-child(2){color:#c42435;background:#fceaec}.admin-attendance-counts>div:nth-child(3){color:#9aa1b4;background:#f6f7fb}.admin-attendance-counts strong,.admin-attendance-counts span{display:block}.admin-attendance-counts strong{font-size:20px;font-weight:800}.admin-attendance-counts span{margin-top:2px;font-size:11px;font-weight:700}.admin-roster-list{max-height:300px;margin:0 -4px;padding:0 4px;overflow-y:auto}.admin-roster-row{border-top:1px solid #f4f5fa;align-items:center;gap:11px;min-height:55px;padding:9px 2px;display:flex}.admin-roster-row>.avatar{border-radius:10px;width:36px;height:36px}.admin-roster-row>span:not(.avatar){flex:1;min-width:0}.admin-roster-row>span:not(.avatar) strong,.admin-roster-row>span:not(.avatar) small{display:block}.admin-roster-row>span:not(.avatar) strong{color:#25324e;font-size:13px}.admin-roster-row>span:not(.avatar) small{color:#9aa1b4;margin-top:2px;font-size:11px}.admin-roster-row>div{gap:6px;display:flex}.admin-roster-row button{color:#8b93a8;cursor:pointer;background:#fff;border:1px solid #e3e7f1;border-radius:9px;height:30px;padding:0 11px;font-size:11.5px;font-weight:700}.admin-roster-row button.present.active{color:#1f9d6b;background:#e7f6ef;border-color:#cfeedf}.admin-roster-row button.absent.active{color:#c42435;background:#fceaec;border-color:#f4cdd2}.admin-session-note{margin-top:14px;display:block}.admin-session-note>span{color:#a7aec2;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.admin-session-note textarea{resize:vertical;color:#25324e;background:#f8f9fc;border:1px solid #e7eaf3;border-radius:12px;outline:0;width:100%;min-height:64px;padding:11px;font-size:13px}.admin-session-note textarea:focus{border-color:#3b6fe0;box-shadow:0 0 0 3px #3b6fe01a}.admin-save-attendance{color:#fff;background:#3b6fe0;border-radius:11px;width:100%;height:40px;margin-top:14px;box-shadow:0 6px 16px -6px #3b6fe099}.admin-save-attendance:hover{background:#2c58cc}@media (max-width:1150px){.admin-sessions-layout{grid-template-columns:1fr}.admin-schedule-list{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:700px){.admin-schedule-list,.admin-session-controls{grid-template-columns:1fr}.admin-sessions-card,.admin-roster-card{padding:15px}.admin-roster-heading{flex-direction:column;align-items:flex-start}.admin-session-controls label>span{white-space:normal}.admin-session-controls select{max-width:145px}.admin-schedule-item{padding:9px 8px}.admin-session-time{width:46px}.admin-roster-row{flex-wrap:wrap;align-items:flex-start}.admin-roster-row>div{width:100%;padding-left:47px}.admin-roster-row button{flex:1}}.admin-payments .page-header{margin-bottom:18px}.admin-payments .page-header h1{font-size:26px}.admin-payments .page-header p{color:#9aa1b4;margin-top:4px}.payment-kpis{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.payment-kpis article{background:#fff;border:1px solid #eceef5;border-radius:16px;padding:18px;box-shadow:0 1px 2px #25324e0a}.payment-kpis span,.payment-kpis strong,.payment-kpis small{display:block}.payment-kpis span{color:#9aa1b4;font-size:12px;font-weight:700}.payment-kpis strong{color:#25324e;margin-top:8px;font-size:23px;font-weight:800}.payment-kpis small{color:#1f9d6b;margin-top:5px;font-size:11.5px;font-weight:700}.payment-kpis article:nth-child(2) strong{color:#c8870c}.payment-kpis article:nth-child(2) small{color:#9aa1b4}.payment-kpis article:nth-child(3) strong,.payment-kpis article:nth-child(3) small{color:#c42435}.payment-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.payment-status-filter{background:#fff;border:1px solid #eceef5;border-radius:11px;gap:6px;padding:4px;display:flex}.payment-group-status-filter{background:#fff;border:1px solid #eceef5;border-radius:11px;align-items:center;gap:8px;padding:4px 8px;display:flex}.payment-group-status-filter>span{color:#8b93a8;letter-spacing:.04em;text-transform:uppercase;padding:0 4px;font-size:12px;font-weight:800}.payment-group-status-filter .segmented{align-items:center;gap:4px;display:flex}.payment-group-status-filter button{color:#68738f;cursor:pointer;background:0 0;border:0;border-radius:8px;height:32px;padding:0 12px;font-size:12px;font-weight:700}.payment-group-status-filter button.active{color:#2c58cc;background:#edf2fe;box-shadow:0 1px 5px #25324e1f}.payment-collection-filter{background:#fff;border:1px solid #eceef5;border-radius:11px;align-items:center;gap:8px;padding:4px 8px;display:flex}.payment-collection-filter>span{color:#8b93a8;letter-spacing:.04em;text-transform:uppercase;padding:0 4px;font-size:12px;font-weight:800}.payment-collection-filter .segmented{align-items:center;gap:4px;display:flex}.payment-collection-filter button{color:#68738f;cursor:pointer;background:0 0;border:0;border-radius:8px;height:32px;padding:0 12px;font-size:12px;font-weight:700}.payment-collection-filter button.active{color:#2c58cc;background:#edf2fe;box-shadow:0 1px 5px #25324e1f}.payment-finished-date-filter{align-items:flex-end;gap:8px;display:flex}.payment-finished-date-filter label{color:#8b93a8;text-transform:uppercase;flex-direction:column;gap:4px;font-size:11px;font-weight:800;display:flex}.payment-finished-date-filter input{color:#25324e;height:40px;font:inherit;text-transform:none;background:#fff;border:1px solid #e7eaf3;border-radius:10px;padding:0 10px;font-size:12.5px}.payment-finished-date-filter button{height:40px}.payment-pagination{justify-content:center;margin-top:16px}.payment-status-filter button,.payment-type-filter button{color:#8b93a8;cursor:pointer;background:0 0;border:0;border-radius:8px;height:32px;padding:0 12px;font-size:12px;font-weight:700}.payment-status-filter button.active{color:#2c58cc;background:#fff;box-shadow:0 1px 5px #25324e1f}.payment-type-filter{flex-wrap:wrap;gap:6px;display:flex}.payment-type-filter button{background:#fff;border:1px solid #e7eaf3}.payment-type-filter button.active{color:#2c58cc;background:#edf2fe;border-color:#3b6fe0}.payment-filters>select{color:#5a6480;background:#fff;border:1px solid #e7eaf3;border-radius:10px;outline:0;height:40px;padding:0 12px;font-size:12.5px;font-weight:700}.payment-filters>.search-input{border-radius:10px;flex:1;min-width:200px;max-width:300px;height:40px}.payment-group-list{flex-direction:column;gap:16px;display:flex}.payment-day-section{margin-top:22px}.payment-day-section:first-child{margin-top:0}.payment-day-header{color:#25324e;align-items:center;gap:10px;margin:0 0 12px 2px;display:flex}.payment-day-header i{background:#3b6fe0;border-radius:50%;flex:none;width:9px;height:9px}.payment-day-header strong{font-size:16px;font-weight:800}.payment-day-header span{color:#9aa1b4;background:#f4f6fa;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.payment-day-groups{gap:16px;display:grid}.payment-group{background:#fff;border:1px solid #eceef5;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.payment-group>header{background:#fbfcfe;border-bottom:1px solid #f0f2f8;justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:12px 18px;display:flex}.payment-group>header>div:first-child{align-items:center;gap:11px;display:flex}.payment-group-icon{color:#2c58cc;background:#edf2fe;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.payment-group-title{align-items:center;gap:8px;display:flex}.payment-group-title .badge{flex:none}.payment-group-title-link{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.payment-group-title-link:hover strong{text-decoration:underline}.payment-group-dates{color:#a7aec2!important;margin-top:2px!important;font-size:11px!important}.payment-group>header strong,.payment-group>header p{display:block}.payment-group>header>div:first-child strong{color:#25324e;font-size:14.5px;font-weight:800}.payment-group>header strong small{color:#9aa1b4;font-size:11.5px}.payment-group>header p{color:#9aa1b4;margin:3px 0 0;font-size:11.5px}.payment-group>header>div:last-child{text-align:right}.payment-group>header>div:last-child>span{color:#9aa1b4;font-size:11px;font-weight:600;display:block}.payment-group>header>div:last-child>strong{color:#25324e;margin-top:2px;font-size:13.5px}.payment-group>header>div:last-child small{color:#aeb4c7}.payment-grid{grid-template-columns:minmax(180px,1.9fr) repeat(3,minmax(95px,1fr)) minmax(60px,.7fr) minmax(76px,.9fr) 150px;align-items:center;column-gap:10px;padding:0 18px;display:grid}.payment-grid-head{color:#a7aec2;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #f4f5fa;min-height:34px;font-size:10.5px;font-weight:700}.payment-row{color:#414b62;border-top:1px solid #f4f5fa;min-height:62px;font-size:12.5px}.payment-grid-head+.payment-row{border-top:0}.payment-student{align-items:center;gap:10px;min-width:0;display:flex}.payment-student>.avatar{border-radius:10px;width:36px;height:36px}.payment-student>span{min-width:0}.payment-student strong,.payment-student small{display:block}.payment-student strong{color:#25324e;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.payment-student small{color:#9aa1b4;margin-top:2px;font-size:11px}.payment-row>strong{font-size:12.5px}.payment-row .has-balance{color:#c8870c}.payment-row .settled{color:#1f9d6b}.payment-row>b{font-size:12.5px}.payment-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.payment-actions button{color:#2c58cc;cursor:pointer;background:#fff;border:1px solid #e7eaf3;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.payment-actions button:hover{background:#edf2fe}.payment-actions .collect{color:#1f9d6b;background:#e7f6ef;border-color:#cfeedf;width:auto;padding:0 10px;font-size:11.5px;font-weight:700}.payment-actions .refund{color:#b87500;background:#fff5df;border-color:#f4deb0;width:auto;padding:0 10px;font-size:11.5px;font-weight:700}@media (max-width:1100px){.payment-group{overflow-x:auto}.payment-group>header,.payment-grid{min-width:930px}.payment-filters>.search-input{max-width:none}}@media (max-width:700px){.payment-kpis{grid-template-columns:1fr}.payment-kpis article{padding:15px}.payment-status-filter{max-width:100%;overflow-x:auto}.payment-filters>select,.payment-filters>.search-input{width:100%;max-width:none}.payment-finished-date-filter{align-items:stretch;width:100%}.payment-collection-filter{justify-content:space-between;width:100%}.payment-collection-filter .segmented{flex:1;justify-content:space-between}.payment-finished-date-filter label,.payment-finished-date-filter input,.payment-finished-date-filter button{flex:1}.payment-finished-date-filter button{flex:none}.payment-group>header{align-items:flex-start}.payment-group>header>div:last-child{min-width:150px}}.student-table-row{cursor:pointer}.student-back{color:#8b93a8;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0 0 14px;padding:0;font-size:12.5px;font-weight:700;display:flex}.student-back:hover{color:#2c58cc}.student-profile-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;display:grid}.student-profile-rail,.student-profile-main{flex-direction:column;gap:16px;display:flex}.student-profile-main{gap:18px}.student-profile-card{background:#fff;border:1px solid #eceef5;border-radius:18px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -22px #25324e33}.student-identity{text-align:center;padding:22px}.student-identity>.avatar{color:#fff;background:linear-gradient(140deg,#3b6fe0,#6e54d6);border-radius:24px;width:84px;height:84px;font-size:30px}.student-identity h1{color:#25324e;margin:13px 0 0;font-size:19px}.student-identity p{color:#9aa1b4;margin:3px 0 10px;font-size:12.5px}.student-identity>.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.student-identity>div{gap:8px;margin-top:16px;display:flex}.student-identity>div>.button{border-radius:10px;flex:1;height:38px}.student-details{padding:20px}.student-details h2{color:#a7aec2;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:700}.student-details>div{border-top:1px solid #f4f5fa;justify-content:space-between;gap:14px;padding:8px 0;display:flex}.student-details span{color:#9aa1b4;font-size:12.5px}.student-details strong{color:#414b62;text-align:right;font-size:12.5px}.student-profile-kpis{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.student-profile-kpis article{background:#fff;border:1px solid #eceef5;border-radius:16px;min-height:100px;padding:16px;box-shadow:0 1px 2px #25324e0a}.student-profile-kpis span,.student-profile-kpis strong,.student-profile-kpis small{display:block}.student-profile-kpis span{color:#9aa1b4;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.student-profile-kpis strong{color:#25324e;margin-top:7px;font-size:18px}.student-profile-kpis small{color:#1f9d6b;margin-top:6px;font-size:11.5px;font-weight:700}.student-profile-kpis article:last-child strong{color:#c8870c}.student-profile-kpis article:last-child small{color:#9aa1b4}.student-profile-kpis i{background:#eef0f6;border-radius:4px;height:6px;margin-top:9px;display:block;overflow:hidden}.student-profile-kpis i>b{background:#3b6fe0;border-radius:4px;width:28%;height:100%;display:block}.student-enrollments,.student-learning-path,.student-timeline{padding:20px}.student-enrollments>header,.student-learning-path>header,.student-timeline>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.student-profile-card h2{color:#25324e;margin:0;font-size:15px}.student-enrollment-grid{color:#414b62;border-top:1px solid #f4f5fa;grid-template-columns:2fr 1fr 1fr .8fr .8fr;align-items:center;padding:11px 4px;font-size:12.5px;display:grid}.student-enrollment-grid.head{color:#a7aec2;letter-spacing:.04em;text-transform:uppercase;border:0;padding-top:0;padding-bottom:8px;font-size:10.5px;font-weight:700}.student-enrollment-grid div strong,.student-enrollment-grid div small{display:block}.student-enrollment-grid div strong{color:#25324e;font-size:13px}.student-enrollment-grid div small{color:#9aa1b4;margin-top:3px;font-size:11px}.student-enrollment-grid>b{color:#c8870c}.student-learning-path>header{margin-bottom:16px}.student-learning-path>div{align-items:flex-start;padding-bottom:4px;display:flex;overflow-x:auto}.student-learning-path>div>span{flex:none;grid-template-rows:38px auto;grid-template-columns:78px 30px;place-items:center;width:108px;display:grid}.student-learning-path span>i{color:#fff;background:#f1f3f8;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.student-learning-path span.current>i{color:#2c58cc;background:#edf2fe;border:2px solid #3b6fe0}.student-learning-path span>small{text-align:center;color:#a7aec2;grid-column:1;width:78px;font-size:10.5px;font-weight:600}.student-learning-path span.current>small{color:#2c58cc;font-weight:800}.student-learning-path span>b{background:#e3e7f1;grid-area:1/2;width:30px;height:2px}.student-timeline>header{margin-bottom:6px}.student-timeline-item{grid-template-columns:28px 2px 1fr;column-gap:13px;min-height:78px;padding:11px 6px;display:grid}.student-timeline-item>span{border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.student-timeline-item>span.green{color:#1f9d6b;background:#e7f6ef}.student-timeline-item>span.blue{color:#2c58cc;background:#edf2fe}.student-timeline-item>span.purple{color:#7c4dd6;background:#f3eefb}.student-timeline-item>i{background:#eef0f6;width:2px;height:100%}.student-timeline-item>div strong{color:#25324e;font-size:13px}.student-timeline-item>div p{color:#8b93a8;margin:3px 0 0;font-size:12px;line-height:1.45}.student-timeline-item>div small{color:#aeb4c7;margin-top:4px;font-size:11px;font-weight:600;display:block}@media (max-width:1050px){.student-profile-layout{grid-template-columns:250px minmax(0,1fr)}}@media (max-width:800px){.student-profile-layout{grid-template-columns:1fr}.student-profile-rail{grid-template-columns:1fr 1fr;display:grid}.student-profile-kpis{grid-template-columns:1fr 1fr 1fr}}@media (max-width:600px){.student-profile-rail,.student-profile-kpis{grid-template-columns:1fr}.student-enrollments{overflow-x:auto}.student-enrollment-grid{min-width:620px}.student-identity>.avatar{width:72px;height:72px}.student-learning-path,.student-enrollments,.student-timeline{padding:16px}}.sales-group-card{cursor:default}.sales-group-card:hover{transform:none}.sales-group-add{border-radius:10px;width:100%;height:40px;margin-top:14px}.sales-add-student>p{color:#9aa1b4;pointer-events:none;margin:-46px 54px 23px 18px;font-size:12px}.sales-add-student>.search-input{background:#f8f9fc;border-radius:11px;width:calc(100% - 36px);min-width:0;height:50px;margin:0 18px 18px}.sales-student-picker{grid-template-columns:minmax(250px,1.4fr) 110px minmax(180px,1fr) minmax(190px,1fr) 68px;align-items:center;gap:18px;padding:0 24px;display:grid}.sales-student-picker.head{color:#a7aec2;text-transform:uppercase;background:#fbfcfe;border-top:1px solid #eceef5;border-bottom:1px solid #eceef5;height:43px;font-size:10.5px;font-weight:700}.sales-student-picker-list{max-height:410px;overflow:auto}.sales-student-picker.row{color:#5a6480;border-bottom:1px solid #f0f2f8;min-height:68px;font-size:12.5px}.sales-student-picker.row>div:first-child{align-items:center;gap:11px;min-width:0;display:flex}.sales-student-picker.row .avatar{border-radius:11px;width:40px;height:40px}.sales-student-picker.row>div:first-child>span{min-width:0}.sales-student-picker.row strong,.sales-student-picker.row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sales-student-picker.row strong{color:#25324e;font-size:13px}.sales-student-picker.row small{color:#9aa1b4;margin-top:3px;font-size:10.5px}.sales-student-picker.row>.button{border-radius:10px;height:38px}.sales-add-student>.empty{min-height:140px}.previous-level-note{color:#71809e;background:#f4f7fd;border-radius:8px;margin:0 18px 12px;padding:8px 10px;font-size:11.5px;line-height:1.4;display:block}.sales-add-student table th:first-child,.sales-add-student table td:first-child{padding-left:30px}.sales-add-student .person-cell{gap:8px}.add-student-tabs{width:max-content;max-width:100%;margin:0 18px 14px;padding:4px}.add-student-tabs button{white-space:nowrap}.student-source-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.student-source-actions>button:not(.button){color:#2f65d9;cursor:pointer;background:#fff;border:1px solid #dde4f2;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.student-source-actions>button:not(.button):disabled{color:#aab4c8;cursor:not-allowed;background:#f6f8fc}.student-source-actions .button{border-radius:9px;height:36px;padding:0 14px}@media (max-width:850px){.add-student-tabs{width:calc(100% - 24px);margin-left:12px;margin-right:12px;overflow:auto}.add-student-tabs button{font-size:11px}.student-source-actions{flex-wrap:wrap;justify-content:flex-start}}body>.modal-backdrop>.modal:has(.sales-add-student){width:min(1026px,100%)}body>.modal-backdrop>.modal:has(.sales-add-student)>.modal__body{padding:18px}@media (max-width:850px){.sales-student-picker-list{overflow-x:auto}.sales-student-picker{min-width:850px}.sales-add-student>.search-input{width:calc(100% - 24px);margin-left:12px;margin-right:12px}.sales-add-student>p{margin-left:12px}}.admin-groups-page .page-header{margin-bottom:18px}.group-type-filter{color:#5a6480;text-transform:capitalize;background:#fff;border:1px solid #e3e7ef;border-radius:10px;outline:0;min-width:145px;height:40px;padding:0 34px 0 12px;font-size:12.5px;font-weight:700}.group-type-filter:focus{border-color:#2f6feb;box-shadow:0 0 0 3px #2f6feb1a}.group-status-control{background:#fff;border:1px solid #e3e7ef;border-radius:10px;align-items:center;gap:5px;height:40px;padding:3px 5px 3px 11px;display:flex}.group-status-control>span{color:#8b93a8;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.group-status-control .segmented{background:0 0;gap:1px;padding:0}.group-status-control .segmented button{height:32px;padding:0 10px}.group-status-control .segmented button.active{box-shadow:0 1px 5px #25324e1a}.status-filter-divider{color:#d4d9e4;align-items:center;padding:0 3px;font-size:16px;font-weight:400;line-height:1;display:inline-flex}.finished-date-filter{background:#fff;border:1px solid #e3e7ef;border-radius:10px;align-items:flex-end;gap:8px;padding:3px 5px;display:flex}.finished-date-filter label{color:#8b93a8;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:3px;font-size:10px;font-weight:800;display:flex}.finished-date-filter input{color:#35425d;background:#f8f9fc;border:1px solid #e3e7ef;border-radius:7px;width:124px;height:32px;padding:0 8px;font-size:12px;font-weight:700}.finished-date-filter input:focus{border-color:#2f6feb;outline:0;box-shadow:0 0 0 3px #2f6feb1a}.finished-date-filter .button{height:32px}.group-pagination{box-shadow:var(--shadow);border:1px solid #e3e7ef;border-radius:10px;margin-top:18px}.group-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.admin-groups-page .page-actions>.search-input{border-radius:10px;width:260px}.reference-group-days{flex-direction:column;gap:28px;display:flex}.reference-group-days>section>header{align-items:center;gap:10px;margin-bottom:13px;display:flex}.reference-group-days>section>header>i{background:#3b6fe0;border-radius:50%;width:8px;height:8px}.reference-group-days>section>header>strong{color:#25324e;font-size:15px}.reference-group-days>section>header>span{color:#9aa1b4;background:#f1f3f8;border-radius:8px;padding:3px 10px;font-size:11.5px;font-weight:700}.reference-group-days>section>header>b{background:#eef0f6;flex:1;height:1px}.reference-group-days>section>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.reference-group-card{cursor:pointer;background:#fff;border:1px solid #eceef5;border-radius:16px;min-height:310px;padding:18px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.reference-group-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px -22px #25324e59}.reference-group-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.reference-group-card>div:first-child>span:last-child{color:#9aa1b4;font-size:12px;font-weight:700}.reference-group-card h2{color:#25324e;margin:16px 0 0;font-size:17px}.reference-group-card>p{color:#9aa1b4;margin:4px 0 0;font-size:12.5px}.reference-group-meta{gap:18px;margin-top:18px;display:flex}.reference-group-meta span{color:#5a6480;align-items:center;gap:7px;font-size:12.5px;font-weight:700;display:flex}.reference-group-meta svg{color:#9aa1b4}.reference-group-date-range{color:#9aa1b4;align-items:center;gap:7px;margin-top:13px;display:flex}.reference-group-date-range>span{flex-direction:column;gap:2px;min-width:0;display:flex}.reference-group-date-range small{color:#9aa1b4;font-size:10.5px}.reference-group-date-range strong{color:#5a6480;white-space:nowrap;font-size:11.5px;font-weight:700}.reference-makeup-summary{color:#5a6480;background:#f8f9fc;border:1px solid #e7eaf3;border-radius:10px;align-items:center;gap:8px;margin-top:14px;padding:9px 11px;font-size:11.5px;font-weight:700;display:flex}.reference-makeup-summary svg{color:#c8870c}.reference-group-card>footer{border-top:1px solid #f0f2f8;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;padding-top:16px;display:grid}.reference-group-card>footer>div:last-child{text-align:right}.reference-group-card>footer span,.reference-group-card>footer strong{display:block}.reference-group-card>footer span{color:#9aa1b4;font-size:11.5px}.reference-group-card>footer strong{color:#25324e;margin-top:3px;font-size:13px}.reference-progress-ring{--progress:0deg;background:conic-gradient(#3b6fe0 var(--progress),#eef0f6 0);border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:relative}.reference-progress-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:6px}.reference-progress-ring span{color:#25324e!important;font-size:10px!important;font-weight:800!important;position:relative!important}.reference-progress-ring.large{width:62px;height:62px}.reference-progress-ring.large:before{inset:7px}.reference-progress-ring.large span{font-size:12px!important}.group-detail-toolbar-actions{align-items:center;gap:8px;display:flex}.group-detail-toolbar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.group-detail-toolbar>button:first-child{color:#8b93a8;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12.5px;font-weight:700;display:flex}.group-detail-layout{grid-template-columns:295px minmax(0,1fr);align-items:start;gap:18px;display:grid}.group-detail-layout>aside{flex-direction:column;gap:14px;display:flex}.group-detail-summary,.group-roster-card,.group-session-workspace{background:#fff;border:1px solid #eceef5;border-radius:16px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.group-detail-summary{padding:18px}.group-detail-summary>div:first-child{justify-content:space-between;align-items:center;display:flex}.group-detail-summary>div:first-child>span:last-child{color:#9aa1b4;font-size:12px;font-weight:700}.group-detail-summary h1{color:#25324e;margin:14px 0 0;font-size:20px}.group-detail-summary>p{color:#9aa1b4;margin:4px 0 0;font-size:12.5px}.group-quick-pay{background:#edf2fe;border:1px solid #dce7fd;border-radius:11px;align-items:center;gap:9px;margin-top:14px;padding:11px;display:flex}.group-quick-pay>b{color:#fff;background:#3b6fe0;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.group-quick-pay>span{flex:1;min-width:0}.group-quick-pay strong,.group-quick-pay small{display:block}.group-quick-pay strong{font-size:12.5px}.group-quick-pay small{color:#5a6480;margin-top:2px;font-size:10px}.group-quick-pay .button{height:31px;padding:0 9px;font-size:10.5px}.group-progress-row{align-items:center;gap:14px;margin-top:16px;display:flex}.group-progress-row>div:last-child strong,.group-progress-row>div:last-child small{display:block}.group-progress-row>div:last-child strong{font-size:18px}.group-progress-row>div:last-child small{color:#9aa1b4;margin-top:3px;font-size:10.5px}.group-makeup-counts{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px;display:grid}.group-makeup-counts span{color:#1f9d6b;background:#e7f6ef;border:1px solid #cfeedf;border-radius:11px;padding:9px;font-size:10px;font-weight:800}.group-makeup-counts span:nth-child(2){color:#2c58cc;background:#edf2fe;border-color:#dce7fd}.group-makeup-counts span:nth-child(3){color:#c8870c;background:#fbf1de;border-color:#f0dfc0}.group-makeup-counts strong{margin-bottom:2px;font-size:17px;display:block}.group-detail-summary dl{border-top:1px solid #f0f2f8;margin:14px 0 0;padding-top:12px}.group-detail-summary dl>div{justify-content:space-between;padding:5px 0;display:flex}.group-detail-summary dt{color:#9aa1b4;font-size:12px}.group-detail-summary dd{color:#414b62;margin:0;font-size:12px;font-weight:700}.group-roster-card{padding:16px}.group-roster-card h2{margin:0 0 8px;font-size:14px}.group-roster-card>div{border-top:1px solid #f4f5fa;align-items:center;gap:9px;padding:9px 0;display:flex}.group-roster-card .avatar{width:32px;height:32px}.group-roster-card>div>span{flex:1;min-width:0}.group-roster-card>div>span strong,.group-roster-card>div>span small{display:block}.group-roster-card>div>span strong{font-size:12px}.group-roster-card>div>span small{color:#9aa1b4;margin-top:2px;font-size:10px}.group-roster-card>div>span b{color:#c8870c}.group-roster-card>div>strong{font-size:11.5px}.group-session-workspace{overflow:hidden}.group-session-workspace>header{border-bottom:1px solid #f0f2f8;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.group-session-workspace h2{color:#25324e;margin:0;font-size:14px}.group-session-workspace p{color:#9aa1b4;margin:3px 0 0;font-size:11.5px}.group-session-head,.group-session-row{grid-template-columns:32px minmax(130px,1fr) minmax(110px,.7fr) minmax(82px,.65fr) minmax(180px,1fr) minmax(150px,.95fr);align-items:center;gap:10px;padding:0 16px;display:grid}.group-session-head{color:#a7aec2;text-transform:uppercase;background:#fbfcfe;height:36px;font-size:10px;font-weight:700}.group-session-scroll{max-height:430px;overflow:auto}.group-session-row{color:#414b62;border-top:1px solid #f4f5fa;min-height:50px;font-size:11.5px}.group-session-row>b{color:#2c58cc;background:#edf2fe;border-radius:8px;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.group-session-row select,.previous-attendance select{color:#25324e;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:9px;outline:0;width:100%;height:32px;padding:0 9px;font-size:11.5px;font-weight:700}.previous-attendance{background:#fbfcfe;border-top:1px solid #f0f2f8;padding:14px 16px}.previous-attendance>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.previous-attendance>article{background:#fff;border:1px solid #eceef5;border-radius:11px;margin-top:8px;overflow:hidden}.previous-attendance>article>header{color:#25324e;background:#f8f9fc;padding:9px 11px;font-size:11.5px;font-weight:800}.previous-attendance>article>header span{float:right;color:#9aa1b4;font-size:10.5px}.previous-attendance>article>div{align-items:center;gap:10px;padding:9px 11px;display:flex}.previous-attendance .avatar{width:32px;height:32px}.previous-attendance article div>span:nth-child(2){flex:1}.previous-attendance article div>span strong,.previous-attendance article div>span small{display:block}.previous-attendance article div>span strong{font-size:11.5px}.previous-attendance article div>span small{color:#9aa1b4;font-size:10px}.previous-attendance select{max-width:150px}@media (max-width:1200px){.reference-group-days>section>div{grid-template-columns:repeat(2,1fr)}.group-detail-layout{grid-template-columns:1fr}.group-detail-layout>aside{grid-template-columns:295px 1fr;display:grid}.group-session-workspace{overflow-x:auto}.group-session-workspace>header,.previous-attendance,.group-session-head,.group-session-row{min-width:900px}}@media (max-width:760px){.finished-date-filter{align-items:flex-end;width:100%}.finished-date-filter label{flex:1}.finished-date-filter input{width:100%}.finished-date-filter .button{flex:none}.admin-groups-page .page-header{flex-direction:column;align-items:flex-start}.admin-groups-page .page-actions{flex-wrap:wrap;width:100%}.admin-groups-page .page-actions>.search-input,.group-type-filter,.group-status-control{width:100%}.group-status-control .segmented,.group-status-control .segmented button{flex:1}.reference-group-days>section>div,.group-detail-layout>aside{grid-template-columns:1fr}.reference-group-card{min-height:290px}.group-detail-toolbar{gap:12px}.group-detail-toolbar .button{font-size:0}.group-detail-toolbar .button svg{margin:0}.previous-attendance article>div{flex-wrap:wrap}.previous-attendance article>div select{margin-left:42px}}.reference-timetable-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.reference-timetable-header>div:first-child>span{color:#a7aec2;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.reference-timetable-header h1{color:#25324e;margin:5px 0 0;font-size:26px}.timetable-controls{align-items:center;gap:12px;display:flex}.timetable-view-toggle{background:#fff;border:1px solid #eceef5;border-radius:11px;padding:4px;display:flex}.timetable-view-toggle button{color:#8b93a8;cursor:pointer;background:0 0;border:0;border-radius:9px;height:36px;padding:0 17px;font-size:12.5px;font-weight:700}.timetable-view-toggle button.active{color:#2c58cc;background:#fff;box-shadow:0 1px 5px #25324e1f}.week-navigation{align-items:center;gap:10px;display:flex}.week-navigation button{color:#9aa1b4;cursor:pointer;background:#fff;border:1px solid #e7eaf3;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.week-navigation strong{color:#414b62;text-align:center;min-width:145px;font-size:13.5px}.week-calendar{background:#fff;border:1px solid #eceef5;border-radius:18px;grid-template-columns:80px repeat(6,minmax(150px,1fr));padding:22px;display:grid;overflow-x:auto;box-shadow:0 1px 2px #25324e0a,0 14px 34px -22px #25324e33}.week-calendar>.calendar-corner{border-bottom:1px solid #f0f2f8;min-height:58px}.week-calendar>header{text-align:center;border-bottom:1px solid #f0f2f8;min-height:58px;padding:8px}.week-calendar>header.today{background:#f5f8ff;border-radius:12px 12px 0 0}.week-calendar>header span,.week-calendar>header strong{display:block}.week-calendar>header span{color:#9aa1b4;text-transform:uppercase;font-size:11px;font-weight:700}.week-calendar>header strong{color:#25324e;margin-top:3px;font-size:16px}.week-calendar>header.today strong{color:#2c58cc}.calendar-row{display:contents}.calendar-time{color:#a7aec2;text-align:right;border-bottom:1px solid #f4f5fa;border-right:1px solid #f4f5fa;min-height:72px;padding:11px 12px 0 0;font-size:11px;font-weight:700}.calendar-cell{border-bottom:1px solid #f4f5fa;border-right:1px solid #f4f5fa;min-height:72px;padding:5px}.calendar-cell:last-child{border-right:0}.calendar-event{text-align:left;cursor:pointer;border:0;border-radius:11px;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;height:62px;padding:10px;display:flex}.calendar-event:hover{filter:brightness(.98);transform:translateY(-1px)}.calendar-event strong,.calendar-event small{display:block}.calendar-event strong{font-size:12px}.calendar-event small{margin-top:4px;font-size:10.5px}.calendar-event.blue{color:#2c58cc;background:#edf2fe}.calendar-event.green{color:#16815b;background:#e7f6ef}.calendar-event.purple{color:#7444d2;background:#f3eefb}.calendar-event.amber{color:#a66a00;background:#fbf1de}.calendar-hint{color:#aeb4c7;text-align:center;margin:16px 0 0;font-size:12.5px;font-weight:600}.selected-calendar-event{background:#fff;border:1px solid #eceef5;border-radius:16px;align-items:center;gap:14px;margin-top:16px;padding:16px 18px;display:flex;box-shadow:0 14px 34px -24px #25324e33}.selected-calendar-event>span{border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.selected-calendar-event>span.blue{color:#2c58cc;background:#edf2fe}.selected-calendar-event>span.green{color:#16815b;background:#e7f6ef}.selected-calendar-event>span.purple{color:#7444d2;background:#f3eefb}.selected-calendar-event>span.amber{color:#a66a00;background:#fbf1de}.selected-calendar-event>div:nth-child(2){flex:1}.selected-calendar-event>div strong,.selected-calendar-event>div small{display:block}.selected-calendar-event>div strong{color:#25324e;font-size:14px}.selected-calendar-event>div small{color:#9aa1b4;margin-top:3px;font-size:11.5px}.selected-calendar-event>div:nth-child(3){text-align:center;padding:0 18px}.selected-calendar-event>div:nth-child(3) strong{font-size:18px}.today-labs{background:#fff;border:1px solid #eceef5;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px -24px #25324e33}.today-labs>header{border-bottom:1px solid #f0f2f8;align-items:center;gap:6px;padding:15px 18px;display:flex}.today-labs h2{margin:0;font-size:15px}.today-labs>header span{color:#9aa1b4;font-size:12px}.today-lab-row{border-top:1px solid #f4f5fa;align-items:center;gap:16px;padding:14px 18px;display:flex}.today-lab-row>div{align-items:center;gap:10px;width:160px;display:flex}.today-lab-row>div>i{border-radius:3px;width:10px;height:10px}.today-lab-row i.blue{background:#3b6fe0}.today-lab-row i.green{background:#1f9d6b}.today-lab-row i.purple{background:#7c4dd6}.today-lab-row>div strong,.today-lab-row>div small{display:block}.today-lab-row>div strong{font-size:13px}.today-lab-row>div small{color:#9aa1b4;margin-top:3px;font-size:10.5px}.today-lab-row>section{flex-wrap:wrap;gap:10px;display:flex}.today-lab-row article{border-radius:11px;align-items:center;gap:10px;padding:10px 13px;display:flex}.today-lab-row article.blue{color:#2c58cc;background:#edf2fe}.today-lab-row article.green{color:#16815b;background:#e7f6ef}.today-lab-row article.purple{color:#7444d2;background:#f3eefb}.today-lab-row article strong{font-size:11.5px}.today-lab-row article span{color:#25324e;font-size:11.5px;font-weight:700}@media (max-width:900px){.reference-timetable-header{flex-direction:column;align-items:flex-start}.timetable-controls{justify-content:space-between;width:100%}.week-calendar{grid-template-columns:64px repeat(6,150px);padding:14px}}@media (max-width:620px){.timetable-controls{flex-direction:column;align-items:stretch}.timetable-view-toggle button{flex:1}.week-navigation{justify-content:space-between}.selected-calendar-event{flex-wrap:wrap;align-items:flex-start}.selected-calendar-event>div:nth-child(3){margin-left:58px;padding:0}.today-lab-row{flex-direction:column;align-items:flex-start}.today-lab-row>section{width:100%}}.reference-payroll .page-header{margin-bottom:18px}.reference-payroll .page-header h1{font-size:26px}.reference-payroll .page-header p{color:#9aa1b4;margin-top:5px}.payroll-kpis{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.payroll-kpis article{background:#fff;border:1px solid #eceef5;border-radius:16px;padding:18px;box-shadow:0 1px 2px #25324e0a}.payroll-kpis span,.payroll-kpis strong,.payroll-kpis small{display:block}.payroll-kpis span{color:#9aa1b4;font-size:12px;font-weight:700}.payroll-kpis strong{color:#25324e;margin-top:8px;font-size:23px}.payroll-kpis small{color:#9aa1b4;margin-top:5px;font-size:11.5px;font-weight:700}.payroll-kpis article:nth-child(2) strong,.payroll-kpis article:nth-child(2) small{color:#1f9d6b}.payroll-kpis article:nth-child(3) strong{color:#c8870c}.payroll-table{background:#fff;border:1px solid #eceef5;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px #25324e0a,0 14px 34px -22px #25324e33}.payroll-grid{grid-template-columns:minmax(220px,1.6fr) minmax(105px,.75fr) minmax(80px,.6fr) minmax(120px,.85fr) minmax(120px,.85fr) minmax(125px,.9fr) minmax(90px,.7fr) 118px;align-items:center;gap:12px;padding:0 18px;display:grid}.payroll-head{color:#a7aec2;letter-spacing:.04em;text-transform:uppercase;background:#fbfcfe;height:48px;font-size:10.5px;font-weight:700}.payroll-row{color:#414b62;border-top:1px solid #f0f2f8;min-height:78px;font-size:12.5px}.payroll-row>div:first-child{align-items:center;gap:11px;min-width:0;display:flex}.payroll-row .avatar{border-radius:12px;width:42px;height:42px}.payroll-row>div:first-child>span{min-width:0}.payroll-row>div:first-child strong,.payroll-row>div:first-child small{display:block}.payroll-row>div:first-child strong{color:#25324e;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.payroll-row>div:first-child small{color:#9aa1b4;margin-top:3px;font-size:11.5px}.payroll-row>b,.payroll-row>strong{color:#25324e;font-size:13px}.payroll-row .payroll-paid{color:#1f9d6b}.payroll-row .payroll-rest{color:#c8870c}.payroll-row>.button{border-radius:10px;height:38px}.reference-payroll .checkbox-row{flex-direction:row;align-items:center}.reference-payroll .checkbox-row input{width:16px;height:16px}@media (max-width:1100px){.payroll-table{overflow-x:auto}.payroll-grid{min-width:1040px}}@media (max-width:700px){.payroll-kpis{grid-template-columns:1fr}.payroll-kpis article{padding:15px}}.invoice-builder{flex-direction:column;gap:22px;display:flex}.invoice-builder fieldset{border:0;margin:0;padding:0}.invoice-builder legend,.invoice-builder>label{color:#5a6480;flex-direction:column;gap:8px;font-size:12px;font-weight:700;display:flex}.invoice-type-control{flex-wrap:wrap;gap:9px;display:flex}.invoice-type-control button{color:#5a6480;cursor:pointer;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:11px;height:44px;padding:0 16px;font-size:12.5px;font-weight:700}.invoice-type-control button.active{color:#2c58cc;background:#edf2fe;border-color:#3b6fe0}.invoice-builder>label input{color:#25324e;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:12px;outline:0;height:52px;padding:0 14px;font-size:13.5px}.invoice-builder>label input:focus,.invoice-line input:focus{border-color:#3b6fe0;box-shadow:0 0 0 3px #3b6fe01a}.invoice-lines>h3{color:#5a6480;margin:0 0 10px;font-size:12px}.invoice-lines{border:1px solid #e7eaf3;border-radius:14px;overflow:hidden}.invoice-lines>header,.invoice-line{grid-template-columns:minmax(210px,1.8fr) 82px 120px 120px 40px;align-items:center;gap:10px;padding:10px 14px;display:grid}.invoice-lines>header{color:#a7aec2;letter-spacing:.04em;text-transform:uppercase;background:#fbfcfe;font-size:10.5px;font-weight:700}.invoice-line{border-top:1px solid #f0f2f8}.invoice-line input{color:#25324e;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:10px;outline:0;width:100%;height:44px;padding:0 11px;font-size:13px}.invoice-line input[type=number]{text-align:center}.invoice-line>strong{color:#25324e;text-align:right;font-size:12.5px}.invoice-line>button{color:#c42435;cursor:pointer;background:#fceaec;border:1px solid #f0d6da;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.invoice-line>button:disabled{opacity:.35;cursor:not-allowed}.add-invoice-line{color:#2c58cc;cursor:pointer;background:#fff;border:0;border-top:1px solid #f0f2f8;justify-content:center;align-items:center;gap:7px;width:100%;height:50px;font-size:12.5px;font-weight:700;display:flex}.add-invoice-line:hover{background:#f8faff}.invoice-builder-footer{justify-content:flex-end;align-items:center;gap:10px;width:100%;display:flex}.invoice-builder-footer>div{margin-right:auto}.invoice-builder-footer span,.invoice-builder-footer strong{display:block}.invoice-builder-footer span{color:#9aa1b4;font-size:11.5px;font-weight:700}.invoice-builder-footer strong{color:#2c58cc;margin-top:4px;font-size:21px}.invoice-builder-footer>.button{border-radius:11px;height:44px}.invoice-builder-footer>.button:last-child{padding:0 20px}body>.modal-backdrop>.modal:has(.invoice-builder){width:min(792px,100%)}body>.modal-backdrop>.modal:has(.invoice-builder)>.modal__body{padding:26px 30px}body>.modal-backdrop>.modal:has(.invoice-builder)>footer{padding:14px 30px}@media (max-width:700px){.invoice-lines{overflow-x:auto}.invoice-lines>header,.invoice-line{min-width:650px}.invoice-builder-footer{flex-wrap:wrap}.invoice-builder-footer>div{width:100%;margin:0 0 4px}.invoice-builder-footer>.button{flex:1}body>.modal-backdrop>.modal:has(.invoice-builder)>.modal__body{padding:20px 18px}body>.modal-backdrop>.modal:has(.invoice-builder)>footer{padding:12px 18px}}.student-email-action:disabled{color:#aeb4c7!important;cursor:not-allowed!important;background:#f1f3f8!important;border-color:#e7eaf3!important}.student-profile-email:disabled{color:#9aa1b4;box-shadow:none;cursor:not-allowed;background:#e9ecf3;border-color:#e3e7f1}.reference-instructors-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.reference-instructors-header>div:first-child>span{color:#a7aec2;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.reference-instructors-header h1{color:#25324e;margin:5px 0 0;font-size:26px}.reference-instructors-header>div:last-child{align-items:center;gap:10px;display:flex}.reference-instructors-header .search-input{border-radius:10px;width:260px}.reference-instructors-header .button{border-radius:11px;height:40px}.instructor-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.instructor-profile-card{background:#fff;border:1px solid #eceef5;border-radius:16px;min-width:0;padding:18px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.instructor-profile-card>header{align-items:center;gap:12px;display:flex}.instructor-profile-card>header>.avatar{border-radius:14px;width:46px;height:46px;font-size:13px}.instructor-profile-card:nth-child(3n+1)>header>.avatar{color:#c8870c;background:#fbf1de}.instructor-profile-card:nth-child(3n+2)>header>.avatar{color:#1f9d6b;background:#e7f6ef}.instructor-profile-card>header>div{min-width:0}.instructor-profile-card h2{color:#25324e;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.instructor-profile-card>header span{color:#9aa1b4;margin-top:2px;font-size:11.5px;display:block}.instructor-profile-card>p{color:#8b93a8;align-items:center;gap:7px;margin:12px 0 0;font-size:11.5px;display:flex}.instructor-profile-card>p svg{color:#a7aec2}.instructor-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.instructor-metrics>span{text-align:center;background:#f6f7fb;border-radius:12px;padding:13px 8px}.instructor-metrics strong,.instructor-metrics small{display:block}.instructor-metrics strong{color:#25324e;font-size:18px}.instructor-metrics>span:last-child strong{color:#1f9d6b}.instructor-metrics small{color:#9aa1b4;margin-top:3px;font-size:10.5px;font-weight:700}.instructor-load{margin-top:15px}.instructor-load>div{color:#9aa1b4;justify-content:space-between;font-size:11.5px;font-weight:700;display:flex}.instructor-load>div strong{color:#3b6fe0}.instructor-load>i{background:#eef0f6;border-radius:5px;height:6px;margin-top:7px;display:block;overflow:hidden}.instructor-load>i>b{background:#3b6fe0;border-radius:5px;height:100%;display:block}.instructor-load>i>b.warning{background:#d58a00}.instructor-profile-card>footer{border-top:1px solid #f0f2f8;gap:8px;margin-top:16px;padding-top:14px;display:flex}.instructor-profile-card>footer button{color:#2c58cc;cursor:pointer;background:#edf2fe;border:1px solid #dce7fd;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;height:38px;font-size:12px;font-weight:700;display:flex}.instructor-profile-card>footer button:last-child{color:#5a6480;background:#f6f7fb;border-color:#e7eaf3}.instructor-profile-card>footer button:hover{filter:brightness(.98)}@media (max-width:1100px){.instructor-card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.reference-instructors-header{flex-direction:column;align-items:flex-start}.reference-instructors-header>div:last-child{flex-wrap:wrap;width:100%}.reference-instructors-header .search-input{width:100%}.instructor-card-grid{grid-template-columns:1fr}}.instructor-profile-card>header>.instructor-edit{color:#2c58cc;cursor:pointer;background:#edf2fe;border:1px solid #dce7fd;border-radius:9px;place-items:center;width:34px;height:34px;margin-left:auto;display:grid}.instructor-profile-card>header>.instructor-edit:hover{background:#dce7fd}body>.modal-backdrop>.modal:has(.content-editor){width:min(760px,100%)}.content-editor{flex-direction:column;gap:22px;display:flex}.content-editor textarea{min-height:76px}.content-session-editor{border-top:1px solid #f0f2f8;padding-top:18px}.content-session-editor>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.content-session-editor h3{color:#25324e;margin:0;font-size:15px}.content-session-editor>header span{color:#9aa1b4;font-size:11px;font-weight:700}.content-session-editor>article{background:#fbfcfe;border:1px solid #e7eaf3;border-radius:13px;margin-top:10px;padding:15px}.content-session-editor h4{color:#2c58cc;margin:0 0 12px;font-size:12.5px}.content-session-editor article input,.content-session-editor article textarea{background:#fff}.course-card footer>.button:first-child{flex:1}.course-card footer>.button:last-child{flex:none}@media (max-width:600px){.content-session-editor>header{flex-direction:column;align-items:flex-start}.content-session-editor>article{padding:12px}}.instructor-student-note-form textarea{color:#25324e;resize:vertical;background:#f8f9fc;border:1px solid #dde3ee;border-radius:10px;width:100%;min-height:140px;padding:14px;line-height:1.5}.instructor-student-note-form textarea:focus{background:#fff;border-color:#3b6fe0;outline:0;box-shadow:0 0 0 3px #3b6fe01c}.sales-group-roster-modal{flex-direction:column;gap:14px;display:flex}.sales-group-roster-modal>p{color:#8c98b1;margin:0;font-size:12px}.sales-group-roster-list{border-top:1px solid #eef1f6;flex-direction:column;max-height:min(430px,55vh);display:flex;overflow:auto}.sales-group-roster-row{color:#25324e;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef1f6;align-items:center;gap:10px;width:100%;padding:12px 4px;display:flex}.sales-group-roster-row:hover{background:#f6f8fd}.sales-group-roster-row>span:nth-child(2){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sales-group-roster-row strong{font-size:13px}.sales-group-roster-row small{color:#9aa4b8;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.sales-group-roster-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.sales-group-roster-actions>button{color:#2c58cc;cursor:pointer;background:#fff;border:1px solid #dce7fd;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.sales-group-roster-actions>button:hover{background:#edf2fe}.sales-group-roster-actions>button:disabled{color:#a8b0c2;cursor:not-allowed;background:#f5f6f9;border-color:#e7eaf1}.sales-group-roster-arrow{color:#356ee8;font-size:11px;font-weight:700}.sales-group-roster-delete{color:#bd2938;cursor:pointer;background:#fff8f9;border:1px solid #f3cdd2;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.sales-group-roster-delete:hover{background:#fcebed;border-color:#e9aab2}.unenroll-confirmation{flex-direction:column;gap:16px;display:flex}.unenroll-confirmation>p{color:#414b62;margin:0;font-size:13px;line-height:1.6}.unenroll-confirmation>p strong{color:#25324e}@media (max-width:600px){.sales-group-roster-row{padding:12px 0}}.followup-student{gap:8px}.followup-actions{white-space:nowrap;min-width:230px;padding-right:26px!important}.followup-finish{float:right;margin-left:24px}.sales-followups .page-header{align-items:center;margin-bottom:18px}.sales-followups .page-header h1{font-size:26px}.sales-followups .page-header p{margin-top:5px}.sales-followups .page-actions>.badge{border-radius:9px;padding:6px 11px;font-size:11.5px}.sales-followup-table{background:#fff;border:1px solid #eceef5;border-radius:10px;overflow:hidden}.sales-followup-grid{grid-template-columns:minmax(220px,1.1fr) minmax(360px,2fr) minmax(150px,.65fr) minmax(130px,.65fr) 205px;align-items:center;gap:14px;padding:0 18px;display:grid}.sales-followup-grid.head{color:#a7aec2;text-transform:uppercase;background:#fbfcfe;height:48px;font-size:10.5px;font-weight:700}.sales-followup-grid.row{color:#8b93a8;border-top:1px solid #f0f2f8;min-height:82px;font-size:12.5px}.sales-followup-grid.row>div:first-child{align-items:center;gap:11px;display:flex}.sales-followup-grid.row .avatar{border-radius:11px;width:42px;height:42px}.sales-followup-grid.row>div:first-child span strong,.sales-followup-grid.row>div:first-child span small{display:block}.sales-followup-grid.row>div:first-child strong{color:#25324e;font-size:13.5px}.sales-followup-grid.row>div:first-child small{color:#9aa1b4;margin-top:3px;font-size:11px}.sales-followup-grid.row>p{color:#5a6480;margin:0;font-size:12.5px;line-height:1.45}.sales-followup-grid.row>div:last-child{justify-content:flex-end;gap:8px;display:flex}.sales-followup-grid.row>div:last-child>button:first-child{color:#2c58cc;cursor:pointer;background:#edf2fe;border:1px solid #dce7fd;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.sales-followup-grid.row>div:last-child>.button{color:#16815b;background:#e7f6ef;border-color:#cfeedf;border-radius:10px;height:38px}@media (max-width:1100px){.sales-followup-table{overflow-x:auto}.sales-followup-grid{min-width:1080px}}.instructor-attendance .page-header{margin-bottom:18px}.instructor-attendance .page-header h1{font-size:26px}.instructor-attendance-layout{grid-template-columns:minmax(390px,.78fr) minmax(620px,1.45fr);align-items:start;gap:18px;display:grid}.instructor-session-list,.instructor-roster-card{background:#fff;border:1px solid #eceef5;border-radius:18px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.instructor-session-list{padding:18px}.instructor-session-list>h2{color:#25324e;margin:0 0 12px;font-size:15px}.instructor-session-list>button{color:#25324e;text-align:left;cursor:pointer;background:#fbfcfe;border:1px solid #eceef5;border-radius:13px;align-items:center;gap:12px;width:100%;min-height:70px;padding:11px 12px;display:flex}.instructor-session-list>button+button{margin-top:8px}.instructor-session-list>button.active{background:#f1f5fe;border-color:#bfd3ff}.instructor-session-list>button>strong{width:62px;font-size:13px}.instructor-session-list>button>i{background:#3b6fe0;border-radius:3px;width:3px;height:38px}.instructor-session-list>button>i.finished{background:#cbd2e1}.instructor-session-list>button>i.makeup{background:#d58a00}.instructor-session-list>button>span:nth-child(3){flex:1;min-width:0}.instructor-session-list>button b,.instructor-session-list>button small{display:block}.instructor-session-list>button b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.instructor-session-list>button small{color:#9aa1b4;margin-top:4px;font-size:11px}.instructor-roster-card{padding:18px;overflow:hidden}.instructor-roster-card>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.instructor-roster-card>header h2{color:#25324e;margin:0;font-size:17px}.instructor-roster-card>header p{color:#9aa1b4;margin:3px 0 0;font-size:11.5px}.instructor-roster-card>header .button{color:#16815b;background:#e7f6ef;border-color:#cfeedf;border-radius:10px;height:38px}.instructor-attendance-counts{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.instructor-attendance-counts>span{color:#1f9d6b;background:#e7f6ef;border-radius:12px;padding:14px}.instructor-attendance-counts>span:nth-child(2){color:#c42435;background:#fceaec}.instructor-attendance-counts>span:nth-child(3){color:#929aaf;background:#f4f5f9}.instructor-attendance-counts strong,.instructor-attendance-counts small{display:block}.instructor-attendance-counts strong{font-size:20px}.instructor-attendance-counts small{margin-top:3px;font-size:10.5px;font-weight:700}.instructor-roster-list{border-top:1px solid #f0f2f8;max-height:315px;margin-top:14px;overflow:auto}.instructor-roster-list>div{border-bottom:1px solid #f0f2f8;align-items:center;gap:11px;min-height:62px;display:flex}.instructor-roster-list .avatar{border-radius:11px;width:40px;height:40px}.instructor-roster-list>div>span:nth-child(2){flex:1;min-width:0}.instructor-roster-list>div>span:nth-child(2) strong,.instructor-roster-list>div>span:nth-child(2) small{display:block}.instructor-roster-list>div>span strong{color:#25324e;font-size:13px}.instructor-roster-list>div>span small{color:#9aa1b4;margin-top:3px;font-size:10.5px}.instructor-roster-list>div>div{gap:7px;display:flex}.instructor-roster-list button{color:#929aaf;cursor:pointer;background:#fff;border:1px solid #e3e7f1;border-radius:9px;height:32px;padding:0 13px;font-size:11.5px;font-weight:700}.instructor-roster-list button.present.active{color:#16815b;background:#e7f6ef;border-color:#bfe6d4}.instructor-roster-list button.absent.active{color:#c42435;background:#fceaec;border-color:#f2c7cc}.instructor-session-note{margin-top:13px;display:block}.instructor-session-note>span{color:#a7aec2;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.instructor-session-note textarea{color:#414b62;resize:vertical;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:11px;width:100%;min-height:66px;padding:11px;font-size:12px}.instructor-save-attendance{background:#3b6fe0;border-radius:10px;width:100%;height:42px;margin-top:12px;box-shadow:0 8px 18px -12px #2c58cc}.instructor-save-attendance:hover{background:#2c58cc}@media (max-width:1100px){.instructor-attendance-layout{grid-template-columns:1fr}.instructor-session-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.instructor-session-list>h2{grid-column:1/-1}.instructor-session-list>button+button{margin-top:0}.instructor-session-list>button>strong{width:auto}.instructor-session-list>button>i{display:none}}@media (max-width:720px){.instructor-session-list{grid-template-columns:1fr}.instructor-roster-card{padding:14px}.instructor-roster-card>header{flex-direction:column;align-items:flex-start}.instructor-roster-card>header .button{width:100%}.instructor-attendance-counts{gap:7px}.instructor-roster-list>div{flex-wrap:wrap;padding:10px 0}.instructor-roster-list>div>div{width:100%;padding-left:51px}.instructor-roster-list button{flex:1}}.instructor-groups-page .page-header{margin-bottom:20px}.instructor-groups-page .page-header h1{font-size:26px}.instructor-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.instructor-group-card{color:#25324e;text-align:left;cursor:pointer;background:#fff;border:1px solid #eceef5;border-radius:18px;min-height:230px;padding:20px;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.instructor-group-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px -24px #25324e61}.instructor-group-card>header{justify-content:space-between;align-items:center;display:flex}.instructor-group-card>header>span{color:#9aa1b4;font-size:11px;font-weight:700}.instructor-group-card h2{margin:16px 0 0;font-size:17px}.instructor-group-card>p{color:#9aa1b4;margin:4px 0 0;font-size:12px}.instructor-group-students{align-items:center;gap:12px;margin-top:18px;display:flex}.instructor-group-students>div{display:flex}.instructor-group-students .avatar{border:2px solid #fff;border-radius:9px;width:30px;height:30px;margin-left:-5px}.instructor-group-students .avatar:first-child{margin-left:0}.instructor-group-students>strong{color:#8b93a8;font-size:11.5px}.instructor-group-progress{margin-top:17px}.instructor-group-progress>span{color:#9aa1b4;justify-content:space-between;font-size:11px;font-weight:700;display:flex}.instructor-group-progress>span b{color:#2c58cc}.instructor-group-progress>i{background:#eef0f6;border-radius:6px;height:6px;margin-top:8px;display:block;overflow:hidden}.instructor-group-progress>i>b{background:#3b6fe0;border-radius:6px;height:100%;display:block}.instructor-group-back{color:#8b93a8;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:16px;padding:0;font-size:12px;font-weight:700;display:flex}.instructor-group-title{align-items:center;gap:14px;padding:0 8px 18px;display:flex}.instructor-group-title>div:nth-child(2){flex:1}.instructor-group-title h1{color:#25324e;margin:0;font-size:23px}.instructor-group-title p{color:#9aa1b4;margin:4px 0 0;font-size:12px}.instructor-group-title>div:last-child{text-align:right}.instructor-group-title>div:last-child strong,.instructor-group-title>div:last-child span{display:block}.instructor-group-title>div:last-child strong{font-size:13px}.instructor-group-title>div:last-child span{color:#9aa1b4;margin-top:3px;font-size:11px}.instructor-group-tabs{border-bottom:1px solid #e7eaf3;gap:8px;margin-bottom:18px;display:flex}.instructor-group-tabs button{color:#929aaf;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;height:42px;padding:0 16px;font-size:12.5px;font-weight:700}.instructor-group-tabs button.active{color:#2c58cc;border-color:#3b6fe0}.instructor-group-body{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.instructor-student-panel,.instructor-course-notes,.instructor-previous-sessions{background:#fff;border:1px solid #eceef5;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.instructor-student-panel>header,.instructor-previous-sessions>header{border-bottom:1px solid #f0f2f8;justify-content:space-between;align-items:center;height:58px;padding:0 20px;display:flex}.instructor-student-panel h2,.instructor-previous-sessions h2,.instructor-course-notes h2{color:#25324e;margin:0;font-size:15px}.instructor-student-panel>header span,.instructor-previous-sessions>header span{color:#9aa1b4;font-size:11px;font-weight:700}.instructor-student-panel>article{border-bottom:1px solid #f0f2f8;grid-template-columns:42px minmax(180px,1fr) 48px 58px;align-items:center;gap:10px;min-height:64px;padding:10px 18px;display:grid}.instructor-student-panel .avatar{border-radius:11px;width:40px;height:40px}.instructor-student-panel article>span strong,.instructor-student-panel article>span small{display:block}.instructor-student-panel article>span strong{font-size:13px}.instructor-student-panel article>span small{color:#9aa1b4;margin-top:3px;font-size:10.5px}.instructor-student-panel article>b{font-size:11.5px}.instructor-student-panel article>b.good{color:#1f9d6b}.instructor-student-panel article>b.medium{color:#c8870c}.instructor-student-panel article>b.low{color:#c42435}.instructor-student-panel article>.button{border-radius:9px;height:32px;padding:0 11px}.instructor-student-panel article>p{color:#5a6480;background:#f7f8fc;border-radius:9px;grid-column:2/-1;margin:0;padding:8px 11px;font-size:11.5px}.instructor-student-panel article>p small{color:#a7aec2}.instructor-course-notes{padding:18px}.instructor-course-notes>p{color:#9aa1b4;margin:3px 0 12px;font-size:11.5px}.instructor-course-notes>div{gap:8px;display:flex}.instructor-course-notes input{background:#f8f9fc;border:1px solid #e3e7f1;border-radius:10px;flex:1;min-width:0;height:40px;padding:0 11px;font-size:11.5px}.instructor-course-notes>article{border-left:3px solid #dce7fd;margin-top:14px;padding-left:13px}.instructor-course-notes>article p{color:#414b62;margin:0;font-size:12px;line-height:1.5}.instructor-course-notes>article small{color:#9aa1b4;margin-top:5px;font-size:10px;display:block}.instructor-previous-sessions>article{border-top:1px solid #f0f2f8;grid-template-columns:34px minmax(220px,1fr) minmax(100px,.5fr) 90px;align-items:center;gap:14px;min-height:66px;padding:10px 18px;display:grid}.instructor-previous-sessions>article>b{color:#2c58cc;background:#edf2fe;border-radius:8px;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.instructor-previous-sessions article>span strong,.instructor-previous-sessions article>span small{display:block}.instructor-previous-sessions article>span strong{font-size:12.5px}.instructor-previous-sessions article>span small,.instructor-previous-sessions article>span:nth-child(3){color:#9aa1b4;margin-top:3px;font-size:11px}@media (max-width:950px){.instructor-group-body{grid-template-columns:1fr}.instructor-course-notes{order:-1}}@media (max-width:720px){.instructor-group-grid{grid-template-columns:1fr}.instructor-group-title{flex-wrap:wrap;align-items:flex-start}.instructor-group-title>div:last-child{text-align:left;width:100%}.instructor-student-panel{overflow-x:auto}.instructor-student-panel>header,.instructor-student-panel>article{min-width:650px}.instructor-previous-sessions{overflow-x:auto}.instructor-previous-sessions>header,.instructor-previous-sessions>article{min-width:620px}}.instructor-schedule-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.instructor-schedule-header>div:first-child>span{color:#a7aec2;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.instructor-schedule-header h1{color:#25324e;margin:5px 0 0;font-size:26px}.instructor-schedule-header>div:last-child{align-items:center;gap:12px;display:flex}.instructor-schedule-header>.badge{height:38px}.instructor-schedule-toggle{background:#fff;border:1px solid #eceef5;border-radius:11px;padding:4px;display:flex}.instructor-schedule-toggle button{color:#8b93a8;cursor:pointer;background:0 0;border:0;border-radius:8px;height:34px;padding:0 17px;font-size:12px;font-weight:700}.instructor-schedule-toggle button.active{color:#2c58cc;background:#fff;box-shadow:0 1px 5px #25324e1f}.instructor-schedule-days{flex-direction:column;gap:22px;display:flex}.instructor-schedule-days>section>header{align-items:center;gap:9px;margin-bottom:10px;display:flex}.instructor-schedule-days>section>header>i,.instructor-schedule-calendar header>i{background:#3b6fe0;border-radius:50%;width:8px;height:8px}.instructor-schedule-days>section>header>i.tone-1,.instructor-schedule-calendar header>i.tone-1{background:#7c4dd6}.instructor-schedule-days>section>header>i.tone-2,.instructor-schedule-calendar header>i.tone-2{background:#1f9d6b}.instructor-schedule-days>section>header>i.tone-3,.instructor-schedule-calendar header>i.tone-3{background:#c42435}.instructor-schedule-days h2{color:#25324e;margin:0;font-size:15px}.instructor-schedule-days .schedule-day-date{color:#9aa4b8;font-size:10.5px;font-weight:650}.instructor-schedule-days>section>article{background:#fff;border:1px solid #eceef5;border-radius:15px;align-items:center;gap:16px;min-height:72px;margin-top:10px;padding:12px 18px;display:flex;box-shadow:0 1px 2px #25324e0a}.instructor-schedule-days>section>article>div:first-child{text-align:center;width:72px}.instructor-schedule-days>section>article>div strong,.instructor-schedule-days>section>article>div small{display:block}.instructor-schedule-days>section>article>div strong{font-size:13px}.instructor-schedule-days>section>article>div small{color:#9aa1b4;margin-top:3px;font-size:10px}.instructor-schedule-days>section>article>i{background:#3b6fe0;border-radius:3px;flex:none;width:3px;height:40px}.instructor-schedule-days>section>article.session-type-course>i{background:#3b70e2}.instructor-schedule-days>section>article.session-type-camp>i{background:#1f9d6b}.instructor-schedule-days>section>article.session-type-competition>i{background:#c42435}.instructor-schedule-days>section>article.session-type-makeup>i{background:#c8870c}.instructor-schedule-days>section>article>span:nth-child(3){flex:1;min-width:0}.instructor-schedule-days>section>article>span strong,.instructor-schedule-days>section>article>span small{display:block}.instructor-schedule-days>section>article>span strong{color:#25324e;font-size:13.5px}.instructor-schedule-days>section>article>span small{color:#9aa1b4;margin-top:4px;font-size:11.5px}.instructor-schedule-calendar{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.instructor-schedule-calendar>div{background:#fff;border:1px solid #eceef5;border-radius:16px;min-height:180px;padding:15px}.instructor-schedule-calendar>div>header{border-bottom:1px solid #f0f2f8;align-items:center;gap:8px;padding-bottom:11px;display:flex}.instructor-schedule-calendar>div>header strong{font-size:13px}.instructor-schedule-calendar article{background:#edf2fe;border-left:3px solid #3b6fe0;border-radius:9px;margin-top:10px;padding:11px}.instructor-schedule-calendar article.makeup{background:#fbf1de;border-color:#c8870c}.instructor-schedule-calendar article strong,.instructor-schedule-calendar article small{display:block}.instructor-schedule-calendar article strong{font-size:11.5px}.instructor-schedule-calendar article small{color:#7d879f;margin-top:4px;font-size:10px}.instructor-schedule-calendar>div>span{color:#b0b6c6;text-align:center;margin-top:18px;font-size:10.5px;display:block}@media (max-width:850px){.instructor-schedule-header{flex-direction:column;align-items:flex-start}.instructor-schedule-header>div:last-child{flex-wrap:wrap;width:100%}.instructor-schedule-calendar{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.instructor-schedule-header>div:last-child,.instructor-schedule-toggle{width:100%}.instructor-schedule-toggle button{flex:1}.instructor-schedule-days>section>article{gap:10px;padding:11px}.instructor-schedule-days>section>article>div:first-child{width:52px}.instructor-schedule-days>section>article>span small{white-space:normal}.instructor-schedule-calendar{grid-template-columns:1fr}}.instructor-calendar-navigation{justify-content:flex-end;align-items:center;gap:10px;margin:-8px 0 12px;display:flex}.instructor-calendar-navigation button{color:#9aa1b4;cursor:pointer;background:#fff;border:1px solid #e7eaf3;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.instructor-calendar-navigation strong{color:#414b62;text-align:center;min-width:150px;font-size:13px}.badge{flex:none;justify-self:start;width:max-content;max-width:100%;flex:none!important;width:max-content!important}.branch-label{cursor:default}.branch-label>span{min-width:0}.branch-label strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.workspace,.workspace>main{min-width:0}.workspace>main{overflow:auto}.badge{white-space:nowrap;align-items:center;width:max-content;max-width:100%;display:inline-flex}.avatar{aspect-ratio:1;flex:none;justify-content:center;align-items:center;display:inline-flex}.table-scroll td small{color:#97a2bb;margin-top:3px;display:block}.back-link{color:#61708f;cursor:pointer;background:0 0;border:0;padding:0 0 16px;font-weight:600}.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.finance-stats>.card{flex-direction:column;justify-content:center;min-height:112px;padding:22px;display:flex}.finance-stats span,.finance-stats small{color:#929db5;font-size:13px}.finance-stats strong{color:#23314f;margin:8px 0 4px;font-size:25px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.course-card{flex-direction:column;align-items:flex-start;min-height:300px;padding:24px;display:flex}.course-card>header{color:#98a3ba;justify-content:space-between;align-items:center;width:100%;font-size:12px;display:flex}.course-card>svg{color:#356ee8;margin:24px 0 12px}.course-card h2{margin:0 0 12px;font-size:20px}.course-card p{color:#8390aa;flex:1;margin:0 0 18px;line-height:1.55}.course-card>div{flex-wrap:wrap;gap:8px;display:flex}.course-card footer{gap:8px;margin-top:18px;display:flex}.lesson-editor{gap:10px;display:grid}.lesson-editor>label{max-width:220px}.lesson-editor>.card{grid-template-columns:110px 1fr 1.5fr 1fr;align-items:center;gap:10px;padding:14px;display:grid}.lesson-editor textarea{min-height:46px}.attendance-layout{grid-template-columns:minmax(300px,42%) minmax(0,1fr);align-items:start;gap:18px;display:grid}.attendance-session-list,.attendance-roster{padding:20px}.attendance-session-list h2,.attendance-roster h2{margin:0;font-size:18px}.attendance-session-list>button{text-align:left;color:#273553;cursor:pointer;background:#fff;border:1px solid #e3e8f2;border-radius:10px;grid-template-columns:78px 3px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin-top:10px;padding:14px;display:grid}.attendance-session-list>button.active{background:#f3f7ff;border-color:#8eb0f8}.attendance-session-list>button>i{background:#3b70e2;border-radius:2px;height:38px}.attendance-session-list>button.session-type-course>i{background:#3b70e2}.attendance-session-list>button.session-type-camp>i{background:#1f9d6b}.attendance-session-list>button.session-type-competition>i{background:#c42435}.attendance-session-list>button.session-type-makeup>i{background:#d08a00}.attendance-session-list button span{flex-direction:column;min-width:0;display:flex}.attendance-session-list button b,.attendance-session-list button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-session-list button small{color:#929db5;margin-top:4px}.attendance-session-list .session-content-type{text-transform:capitalize;border-radius:999px;align-self:flex-start;margin-top:6px;padding:3px 8px;font-size:10px;font-style:normal;font-weight:700;line-height:1.2}.attendance-session-list .session-content-type.course{color:#2f63d5;background:#edf2fe}.attendance-session-list .session-content-type.camp{color:#16885e;background:#e7f6ef}.attendance-session-list .session-content-type.competition{color:#c42435;background:#fceaec}.attendance-session-list .session-content-type.makeup{color:#b97800;background:#fcf1dc}.attendance-roster>header{border-bottom:1px solid #e7ebf3;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.attendance-roster>header p{color:#97a2b8;margin:3px 0 0}.session-assignment-controls{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.session-assignment-controls label{color:#687591;font-size:12px;font-weight:600}.session-assignment-controls select{width:100%;margin-top:6px}.attendance-counts{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.attendance-counts span{color:#929bb0;background:#f4f6fa;border-radius:10px;padding:14px;font-size:12px}.attendance-counts span:first-child{color:#079764;background:#e5f6ef}.attendance-counts span:nth-child(2){color:#cf263b;background:#fdebed}.attendance-counts strong{margin-bottom:5px;font-size:22px;display:block}.attendance-students{max-height:390px;overflow:auto}.attendance-students>div{border-bottom:1px solid #edf0f6;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 2px;display:grid}.attendance-students>div>span{flex-direction:column;display:flex}.attendance-students small{color:#9aa4ba}.attendance-students button{color:#8590a8;background:#fff;border:1px solid #dae1ed;border-radius:8px;padding:8px 12px;font-weight:600}.attendance-students button.selected.present{color:#078d5f;background:#e6f7f0;border-color:#bde8d8}.attendance-students button.selected.absent{color:#ca2738;background:#fdecef;border-color:#f4c7ce}.save-attendance{justify-content:center;width:100%;margin-top:16px;color:#fff!important;background:#3b70e2!important}.schedule-days{gap:22px;display:grid}.schedule-days section>h2{align-items:center;gap:10px;font-size:18px;display:flex}.schedule-days section>h2 i{background:#3b70e2;border-radius:50%;width:9px;height:9px}.schedule-row{grid-template-columns:100px 3px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:10px;padding:16px 22px;display:grid}.schedule-row>i{background:#3b70e2;height:40px}.schedule-row>i.warning{background:#cc8600}.schedule-row>span{flex-direction:column;display:flex}.schedule-row small{color:#97a2b8;margin-top:3px}.week-calendar{min-width:760px;padding:0;overflow:auto}.calendar-head,.calendar-row{grid-template-columns:90px repeat(7,minmax(120px,1fr));min-width:1000px;display:grid}.calendar-head>*{text-align:center;border-right:1px solid #edf0f6;padding:15px}.calendar-row>span,.calendar-row>div{border-top:1px solid #edf0f6;border-right:1px solid #edf0f6;min-height:74px;padding:8px}.calendar-row>span{color:#8d98af;font-size:12px}.calendar-row button{color:#2459ce;text-align:left;background:#eaf0fd;border:0;border-left:3px solid #3b70e2;border-radius:7px;width:100%;padding:9px}.calendar-row button.makeup{color:#a66b00;background:#fcf1dd;border-color:#ce8900}.calendar-row button small{margin-top:3px;display:block}.invoice-lines{gap:8px;display:grid}.invoice-lines>div{grid-template-columns:minmax(180px,1fr) 80px 120px 100px 34px;align-items:center;gap:8px;display:grid}.invoice-lines>div>button{color:#c82a3d;background:#fdecef;border:0;border-radius:7px;height:34px}.invoice-total{flex-direction:column;margin-right:auto;display:flex}.invoice-total strong{color:#2b5fd4;font-size:22px}.discount-detail{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:18px;padding:20px;display:grid}.discount-detail>div{flex-direction:column;display:flex}.discount-detail span{color:#929db5;font-size:12px}.discount-detail strong{margin-top:6px;font-size:22px}.student-picker .search-input{margin-bottom:14px}.student-picker table .avatar{margin-right:8px}.checkbox-field{align-items:center;gap:8px;flex-direction:row!important;display:flex!important}.checkbox-field input{width:auto!important}.group-notes{border-top:1px solid #e7ebf3;padding:18px}.group-notes>div{gap:8px;display:flex}.group-notes input{flex:1}.group-notes>.card{margin-top:8px;padding:12px}@media (max-width:1200px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-layout{grid-template-columns:1fr}.attendance-session-list{max-height:360px;overflow:auto}.lesson-editor>.card{grid-template-columns:1fr 1fr}.finance-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.finance-stats,.catalog-grid,.discount-detail,.attendance-counts{grid-template-columns:1fr}.attendance-students>div{grid-template-columns:40px minmax(120px,1fr) auto auto}.session-assignment-controls,.lesson-editor>.card{grid-template-columns:1fr}.invoice-lines>div{grid-template-columns:1fr 70px 100px}.invoice-lines>div>strong,.invoice-lines>div>button{grid-column:auto}.schedule-row{grid-template-columns:70px 3px minmax(0,1fr)}.schedule-row>.badge{grid-column:3}.page-actions{flex-wrap:wrap}.page-actions .search-input{width:100%}}body>.modal-backdrop>.modal:has(.sales-enrollment-picker){width:min(950px,100%)}body>.modal-backdrop>.modal:has(.sales-enrollment-picker)>.modal__body{padding:18px 24px 14px}.sales-enrollment-picker{margin-top:-18px}.sales-enrollment-picker>p{color:#929db5;pointer-events:none;margin:-40px 54px 25px 0;font-size:12px;line-height:1.4}.sales-enrollment-picker>.search-input{background:#f8f9fc;border-radius:11px;width:100%;height:50px;margin-bottom:16px}.sales-enrollment-groups{flex-direction:column;gap:10px;max-height:min(510px,55vh);padding:1px 1px 2px;display:flex;overflow-y:auto}.sales-enrollment-group{cursor:pointer;min-height:76px;transition:border-color var(--ease),background var(--ease),box-shadow var(--ease);background:#fff;border:1px solid #e3e7f1;border-radius:12px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 16px;display:grid}.sales-enrollment-group:hover{background:#fcfdff;border-color:#bfd0f7}.sales-enrollment-group.selected{background:#f6f9ff;border-color:#6f98f2;box-shadow:0 0 0 2px #3b6fe014}.sales-enrollment-group>input{opacity:0;pointer-events:none;position:absolute}.sales-enrollment-radio{background:#fff;border:2px solid #cfd8e9;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 5px #fff}.sales-enrollment-group.selected .sales-enrollment-radio{background:#3b6fe0;border-color:#3b6fe0}.sales-enrollment-group.joined{cursor:default;background:#fafcfb;border-color:#ddeae5}.sales-enrollment-group.joined:hover{background:#fafcfb;border-color:#ddeae5}.sales-enrollment-group.joined .sales-enrollment-radio{color:#16815b;box-shadow:none;background:#e7f6ef;border-color:#a9d9c5;place-items:center;display:grid}.sales-enrollment-group.joined .sales-enrollment-details{opacity:.72}.sales-enrollment-details{min-width:0}.sales-enrollment-details strong{color:#25324e;align-items:baseline;gap:3px;font-size:14px;display:flex}.sales-enrollment-details strong small{color:#9aa4ba;font-size:10.5px;font-weight:700}.sales-enrollment-details>span{color:#8c98b1;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11.5px;display:block;overflow:hidden}.sales-enrollment-group>.badge{justify-self:end}.sales-enrollment-groups>.empty{min-height:170px}.sales-enrollment-section{flex-direction:column;gap:8px;display:flex}.sales-enrollment-section+.sales-enrollment-section{margin-top:8px}.sales-enrollment-section>header{color:#356ee8;align-items:center;gap:9px;padding:5px 3px;display:flex}.sales-enrollment-section>header>div{flex-direction:column;gap:2px;display:flex}.sales-enrollment-section>header strong{color:#25324e;font-size:13px}.sales-enrollment-section>header span{color:#98a3b9;font-size:11px}.sales-enrollment-section>div{flex-direction:column;gap:8px;display:flex}body>.modal-backdrop>.modal:has(.sales-competition-picker){width:min(760px,100%)}.sales-competition-picker>p{color:#8c98b1;margin:0 0 14px;font-size:12px}@media (max-width:600px){.sales-enrollment-picker{margin-top:0}.sales-enrollment-picker>p{margin:-12px 0 16px}.sales-enrollment-group{grid-template-columns:22px minmax(0,1fr);padding:12px}.sales-enrollment-group>.badge{grid-column:2;justify-self:start}.sales-enrollment-details>span{white-space:normal}body>.modal-backdrop>.modal:has(.sales-enrollment-picker)>.modal__body{padding:16px}}.rolling-timetable-actions{align-items:center;gap:12px;display:flex}.rolling-week-label{color:#8b93a8;text-align:right;margin:-12px 2px 14px;font-size:12px;font-weight:700}.rolling-calendar-shell{background:#fff;border:1px solid #eceef5;border-radius:18px;overflow-x:auto;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.rolling-calendar-grid{grid-template-columns:76px repeat(7,minmax(140px,1fr));min-width:1080px;padding:18px 20px 20px;display:grid}.rolling-calendar-corner{border-bottom:1px solid #e9edf5;min-height:62px}.rolling-calendar-grid>header{text-align:center;border-bottom:1px solid #e9edf5;min-height:62px;padding:8px}.rolling-calendar-grid>header.today{background:#f3f7ff;border-radius:11px 11px 0 0}.rolling-calendar-grid>header span,.rolling-calendar-grid>header strong{display:block}.rolling-calendar-grid>header span{color:#98a2b8;text-transform:uppercase;font-size:10.5px;font-weight:800}.rolling-calendar-grid>header strong{color:#25324e;margin-top:3px;font-size:16px}.rolling-calendar-grid>header.today strong{color:#2c58cc}.rolling-calendar-row{grid-column:1/-1;grid-template-columns:76px repeat(7,minmax(140px,1fr));display:grid}.rolling-calendar-time{color:#a0a9bd;text-align:right;border-bottom:1px solid #eef1f6;border-right:1px solid #eef1f6;min-height:76px;padding:13px 12px 0 0;font-size:11px;font-weight:700}.rolling-calendar-cell{border-bottom:1px solid #eef1f6;border-right:1px solid #eef1f6;min-height:76px;padding:5px}.rolling-calendar-cell:last-child{border-right:0}.rolling-calendar-event{text-align:left;cursor:pointer;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;min-height:64px;padding:9px 10px;transition:filter .15s,transform .15s;display:flex}.rolling-calendar-event:hover{filter:brightness(.98);transform:translateY(-1px)}.rolling-calendar-event strong,.rolling-calendar-event small{display:block}.rolling-calendar-event strong{font-size:11.5px;line-height:1.3}.rolling-calendar-event small{margin-top:4px;font-size:10px}.rolling-calendar-event.course{color:#2459ce;background:#eaf0fc;border-left:3px solid #3b70e2}.rolling-calendar-event.camp{color:#16885e;background:#e7f6ef;border-left:3px solid #1f9d6b}.rolling-calendar-event.competition{color:#c42435;background:#fceaec;border-left:3px solid #c42435}.rolling-calendar-event.makeup{color:#a66a00;background:#fbf0db;border-left:3px solid #d08a00}.rolling-calendar-event.course small{color:#4977d8}.rolling-calendar-event.camp small{color:#2c9a72}.rolling-calendar-event.competition small{color:#d35a68}.rolling-calendar-event.makeup small{color:#b47c19}@media (max-width:760px){.rolling-timetable-actions{flex-direction:column;align-items:stretch;width:100%}.rolling-timetable-actions .segmented{width:100%}.rolling-timetable-actions .segmented button{flex:1}.rolling-week-label{text-align:left;margin-top:0}.rolling-calendar-grid{grid-template-columns:64px repeat(7,140px);padding:12px}.rolling-calendar-row{grid-template-columns:64px repeat(7,140px)}}.form-grid label>small,.registration-form-grid label>small,.admin-entity-form label>small{color:#a7aec2;white-space:nowrap;margin-left:4px;font-size:10px;font-weight:600;display:inline;position:static;right:auto}.form-grid label>small:before,.registration-form-grid label>small:before,.admin-entity-form label>small:before{content:"("}.form-grid label>small:after,.registration-form-grid label>small:after,.admin-entity-form label>small:after{content:")"}.form-grid input:disabled,.form-grid select:disabled,.form-grid textarea:disabled{color:#a7aec2;cursor:not-allowed;background:#eff1f5;border-color:#e9ecf3}.form-grid .password-field input{width:100%;padding-right:44px}.lesson-editor{padding-top:4px;display:block}.lesson-editor>header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px;display:flex}.lesson-editor>header>strong{color:#25324e;font-size:14px}.lesson-editor>header>label{color:#5a6480;flex-direction:column;gap:7px;width:190px;font-size:11.5px;font-weight:700;display:flex}.lesson-editor-list{gap:12px;display:grid}.lesson-editor-list>.card{box-shadow:none;background:#fbfcfe;border-radius:13px;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.3fr);gap:14px 16px;padding:17px;display:grid}.lesson-editor-list>.card>h3{color:#2c58cc;border-bottom:1px solid #e9ecf3;grid-column:1/-1;margin:0;padding-bottom:10px;font-size:13px}.lesson-editor-list>.card>label{color:#5a6480;flex-direction:column;gap:7px;font-size:11.5px;font-weight:700;display:flex}.lesson-editor-list>.card>label:nth-of-type(3){grid-column:1/-1}.lesson-editor-list textarea{resize:vertical;min-height:82px}.lesson-editor-list input,.lesson-editor-list textarea{background:#fff;width:100%}@media (max-width:700px){.lesson-editor>header{flex-direction:column;align-items:stretch}.lesson-editor>header>label{width:100%}.lesson-editor-list>.card{grid-template-columns:1fr}.lesson-editor-list>.card>label:nth-of-type(3){grid-column:auto}}.attendance-save-row{margin-top:16px}.attendance-save-row>span{color:#c42435;text-align:right;margin-bottom:7px;font-size:10.5px;font-weight:700;display:block}.attendance-save-row .save-attendance{margin-top:0}.attendance-save-row .save-attendance:disabled{color:#8e98ac!important;box-shadow:none!important;background:#d9dee8!important}body>.modal-backdrop>.modal:has(.student-picker){width:min(980px,100%)}body>.modal-backdrop>.modal:has(.student-picker)>.modal__body{padding:24px 28px 28px}.student-picker .search-input{width:100%;min-width:0;height:50px}.student-picker>.table-scroll{max-height:min(480px,55vh);overflow:auto}.student-picker table{min-width:760px}.student-picker .empty{min-height:260px}.discount-student-row{cursor:pointer}.discount-student-row:hover{background:#f5f8ff}@media (max-width:700px){body>.modal-backdrop>.modal:has(.student-picker)>.modal__body{padding:18px}.student-picker .empty{min-height:220px}}.admin-list-card{border-radius:18px;padding:20px 22px;overflow:hidden}.admin-list-heading{justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.admin-session-item>i.pending{background:#3b6fe0}.admin-session-item>i.live{background:#1f9d6b}.admin-session-item>i.done{background:#cbd3e2}.admin-today-card .empty,.admin-overdue-card .empty{min-height:130px}.admin-overdue-item>.badge{min-width:auto}.admin-overdue-item button:disabled,.payment-actions button:disabled{color:#b1b8c8;cursor:not-allowed;background:#f1f3f7}.payment-student-link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.payment-student-link:hover strong{color:#2c58cc}.capacity-card{min-width:0;padding:19px}.capacity-card .card-heading{padding-bottom:5px}.capacity-card .progress-row>div:first-child{align-items:center;gap:14px;min-width:0}.capacity-card .progress-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.capacity-card .progress-row span{white-space:nowrap;flex:none}.capacity-card .progress{width:100%}.admin-attendance-card{border-radius:18px;min-width:0;padding:20px;overflow:hidden}.admin-attendance-card .admin-card-heading{margin-bottom:10px}.reference-group-days>header{align-items:center;gap:10px;margin-bottom:13px;display:flex}.reference-group-days>header>i{background:#3b6fe0;border-radius:50%;flex:none;width:8px;height:8px}.reference-group-days>header>strong{color:#25324e;font-size:15px}.group-day-date{color:#9aa1b4;font-size:11.5px;font-weight:600}.reference-group-days>header>span{color:#9aa1b4;background:#f1f3f8;border-radius:8px;margin-left:2px;padding:3px 10px;font-size:11.5px;font-weight:700}.reference-group-days>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.reference-group-days+.reference-group-days{margin-top:30px}.payroll-page tbody td:first-child{white-space:nowrap}.payroll-page tbody td:first-child>.avatar{vertical-align:middle;margin-right:7px}.payroll-page tbody td:first-child>strong{vertical-align:middle}.invoice-form .invoice-lines{background:#fff;border:1px solid #e3e7f1;border-radius:13px;padding:0;display:block;overflow:hidden}.invoice-form .invoice-lines>strong{color:#25324e;padding:13px 14px;font-size:13px;display:block}.invoice-form .invoice-line-head,.invoice-form .invoice-lines>div:not(.invoice-line-head){grid-template-columns:minmax(170px,1fr) 72px 110px 92px 34px;align-items:center;gap:9px;display:grid}.invoice-form .invoice-line-head{color:#a0a9bd;text-transform:uppercase;background:#fbfcfe;border-top:1px solid #eef1f6;border-bottom:1px solid #eef1f6;padding:9px 14px;font-size:10px;font-weight:750}.invoice-form .invoice-lines>div:not(.invoice-line-head){padding:11px 14px}.invoice-form .invoice-lines>div:not(.invoice-line-head)+div:not(.invoice-line-head){border-top:1px solid #eef1f6}.invoice-form .invoice-lines input{background:#f8f9fc;border:1px solid #e3e7f1;border-radius:10px;min-width:0;height:42px}.invoice-form .invoice-lines>div>strong{text-align:right}.invoice-form .invoice-lines>.button{background:#fff;border-top:1px solid #eef1f6;border-radius:0;width:100%;height:46px}.invoice-form .invoice-lines>.button:hover{background:#f8faff;transform:none}.form-grid label:not(.checkbox-field),.registration-form-grid label,.admin-entity-form label{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px 4px;display:grid}.form-grid label:not(.checkbox-field)>input,.form-grid label:not(.checkbox-field)>select,.form-grid label:not(.checkbox-field)>textarea,.form-grid label:not(.checkbox-field)>.password-field,.registration-form-grid label>input,.registration-form-grid label>select,.registration-form-grid label>textarea,.admin-entity-form label>input,.admin-entity-form label>select,.admin-entity-form label>textarea,.admin-entity-form label>.password-field{grid-column:1/-1}.form-grid label>small,.registration-form-grid label>small,.admin-entity-form label>small{justify-self:start;margin-left:0}select{color:#25324e;cursor:pointer;min-height:40px;transition:border-color var(--ease),background var(--ease),box-shadow var(--ease);background-color:#f8f9fc;border:1px solid #dde3ee;border-radius:10px;padding:0 34px 0 12px;font-weight:600}select:hover{background-color:#fff;border-color:#c5d2e8}select:focus{background-color:#fff;border-color:#3b6fe0;outline:0;box-shadow:0 0 0 3px #3b6fe01c}.button{border-radius:10px;box-shadow:0 1px 2px #25324e0f}.button--primary{box-shadow:0 7px 16px -10px #2f6febcc}.button--secondary{background:#fff;border-color:#dde3ee}@media (max-width:1200px){.reference-group-days>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.reference-group-days>div{grid-template-columns:1fr}.invoice-form .invoice-lines{overflow-x:auto}.invoice-form .invoice-line-head,.invoice-form .invoice-lines>div:not(.invoice-line-head){min-width:600px}}.competition-list table,.competition-students table{min-width:980px}.competition-row{cursor:pointer}.competition-row:hover{background:#f6f8fd}.competition-row td>strong,.competition-row td>small{display:block}.competition-row td>small{color:#9aa4b8;margin-top:4px;font-size:10.5px}.competition-name-cell,.competition-name-cell>span:last-child,.competition-students .person-cell,.competition-students .person-cell>span:last-child{align-items:center;display:flex}.competition-name-cell{gap:11px}.competition-name-cell>span:first-child{color:#2c58cc;background:#edf2fe;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.competition-name-cell>span:last-child,.competition-students .person-cell>span:last-child{flex-direction:column;align-items:flex-start}.competition-name-cell strong{color:#25324e;font-size:13px}.competition-summary{grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(125px,.7fr));gap:0;margin-bottom:18px;display:grid;overflow:hidden}.competition-summary>div{border-left:1px solid #eef1f6;align-items:center;gap:12px;min-height:92px;padding:18px 20px;display:flex}.competition-summary>div:first-child{border-left:0}.competition-summary small,.competition-summary strong{display:block}.competition-summary small{color:#9aa4b8;margin-bottom:6px;font-size:10.5px;font-weight:700}.competition-summary strong{color:#25324e;font-size:13px}.summary-icon{color:#2c58cc;background:#edf2fe;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.competition-students .table-toolbar>div:first-child{flex-direction:column;gap:3px;display:flex}.competition-students .table-toolbar>div:first-child>strong{font-size:14px}.competition-students .table-toolbar>div:first-child>span{color:#9aa4b8;font-size:10.5px}.competition-students .table-toolbar .search-input{margin-left:auto}.competition-students .person-cell{gap:10px}.competition-payment-cell{align-items:center;gap:8px;display:flex}.competition-payment-cell>small{color:#9aa4b8;white-space:nowrap;font-size:9.5px}.competition-payment-cell .button{height:34px;padding:0 11px;font-size:11px}.not-offered{color:#a0a8bc;font-size:11px}.competition-form label:last-child{grid-column:1/-1}@media (max-width:1050px){.competition-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.competition-summary>div{border-top:1px solid #eef1f6}.competition-summary>div:first-child{border-top:0;grid-column:1/-1}.competition-summary>div:nth-child(2n){border-left:0}}@media (max-width:700px){.competition-summary{grid-template-columns:1fr}.competition-summary>div,.competition-summary>div:first-child{border-left:0;grid-column:auto}.competition-students .table-toolbar .search-input{margin-left:0}.competition-payment-cell{flex-direction:column;align-items:flex-start}}.competition-summary>div:not(:first-child){justify-content:space-between;gap:10px}.competition-summary>div:not(:first-child)>small{white-space:nowrap;margin:0}.competition-summary>div:not(:first-child)>strong,.competition-summary>div:not(:first-child)>.badge{white-space:nowrap;flex:none}.inline-loading{color:#8d98af;justify-content:center;align-items:center;gap:9px;min-height:120px;font-size:12px;font-weight:650;display:flex}.inline-loading>i{border:2px solid #dbe3f2;border-top-color:#3b70e2;border-radius:50px;width:18px;height:18px;animation:.7s linear infinite genio-spin}.chat-loading{min-height:160px}.conversation-loading{height:100%;min-height:220px}.attendance-loading{min-height:260px}@keyframes genio-spin{to{transform:rotate(360deg)}}.rolling-range-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:-10px 0 16px;display:flex}.rolling-range-toolbar form{align-items:flex-end;gap:10px;display:flex}.rolling-range-toolbar label{color:#68738c;flex-direction:column;gap:5px;font-size:10.5px;font-weight:750;display:flex}.rolling-range-toolbar input{color:#25324e;background:#fff;border:1px solid #dde2ec;border-radius:10px;height:40px;padding:0 11px}.rolling-range-toolbar>strong{color:#8b93a8;padding-bottom:10px;font-size:12px}.rolling-calendar-pager{justify-content:flex-end;align-items:center;gap:9px;margin-bottom:10px;display:flex}.rolling-calendar-pager span{color:#68738c;text-align:center;min-width:110px;font-size:11.5px;font-weight:700}.rolling-calendar-pager .icon-button:disabled{opacity:.45;cursor:not-allowed}.rolling-calendar-grid{min-width:calc(76px + var(--calendar-days,7)*140px);grid-template-columns:76px repeat(var(--calendar-days,7),minmax(140px,1fr))}.rolling-calendar-row{grid-template-columns:76px repeat(var(--calendar-days,7),minmax(140px,1fr))}@media (max-width:760px){.rolling-range-toolbar{flex-direction:column;align-items:stretch}.rolling-range-toolbar form{grid-template-columns:1fr 1fr;display:grid}.rolling-range-toolbar form .button{grid-column:1/-1}.rolling-range-toolbar input{width:100%}.rolling-range-toolbar>strong{padding:0}.rolling-calendar-grid,.rolling-calendar-row{grid-template-columns:64px repeat(var(--calendar-days,7),140px)}}.finished-sessions-page .clickable-row{cursor:pointer}.finished-sessions-page .clickable-row:hover{background:#f8fafe}.finished-sessions-page td strong,.finished-sessions-page td small{display:block}.finished-sessions-page td small{color:#9aa1b4;margin-top:3px;font-size:11px}.finished-sessions-page .attendance-present{color:#16815b;font-weight:800}.finished-sessions-page .attendance-absent{color:#c42435;font-weight:800}.group-capacity-field .capacity-advisory{color:#9a6508;background:#fff9ed;border:1px solid #f2d9a6;border-radius:7px;grid-column:1/-1;align-items:flex-start;margin-top:1px;padding:7px 9px;font-size:10.5px;font-weight:650;line-height:1.4;display:flex}.competition-eligibility-note{color:#6b7893;background:#f4f7fd;border-radius:8px;margin:-8px 18px 12px;padding:8px 10px;font-size:10.5px;line-height:1.4}.table-pagination{color:#8b93a8;background:#fbfcfe;border-top:1px solid #f0f2f8;justify-content:flex-end;align-items:center;gap:14px;padding:14px 18px;font-size:12px;font-weight:700;display:flex}.table-pagination .button{min-width:92px;height:34px}.enrollment-conflict{color:#6f5318;background:#fff8e9;border:1px solid #f3d39a;border-left:3px solid #d58a00;border-radius:10px;flex-direction:column;gap:8px;margin:16px 0;padding:16px 20px;font-size:12px;line-height:1.45;display:flex}.enrollment-conflict strong{color:#9a6500;font-size:12px}.enrollment-conflict span{color:#665b47}.sales-add-student>.enrollment-conflict{margin:16px 18px}.group-create-conflict{margin:0 24px 16px}.admin-group-summary-horizontal{background:#fff;border:1px solid #eceef5;border-radius:16px;grid-template-columns:minmax(240px,1.25fr) minmax(250px,1.1fr) minmax(190px,.85fr) minmax(220px,1fr);align-items:stretch;margin-bottom:18px;display:grid;overflow:hidden;box-shadow:0 1px 2px #25324e0a,0 14px 34px -24px #25324e33}.admin-group-summary-horizontal>section{border-left:1px solid #f0f2f7;padding:21px}.admin-group-summary-horizontal>section:first-child{border-left:0}.admin-group-summary-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-group-summary-top>span{color:#9aa1b4;font-size:12px;font-weight:700}.admin-group-summary-identity h1{color:#25324e;margin:15px 0 3px;font-size:22px}.admin-group-summary-identity p{color:#9aa1b4;margin:0;font-size:13px}.admin-group-summary-pay{align-items:center;display:flex}.admin-group-summary-pay.is-hidden{visibility:hidden;pointer-events:none}.admin-group-summary-pay .group-quick-pay{width:100%;margin:0}.admin-group-summary-progress{flex-direction:column;justify-content:center;gap:10px;display:flex}.admin-group-summary-progress>div{grid-template-columns:1fr auto;align-items:baseline;column-gap:12px;display:grid}.admin-group-summary-progress span,.admin-group-summary-progress small{color:#9aa1b4;font-size:11px}.admin-group-summary-progress strong{color:#25324e;text-align:right;font-size:16px}.admin-group-summary-progress small{text-align:right;grid-column:2;margin-top:-3px}.admin-group-summary-facts{flex-direction:column;justify-content:center;gap:9px;display:flex}.admin-group-summary-facts>div{justify-content:space-between;gap:12px;display:flex}.admin-group-summary-facts span{color:#9aa1b4;font-size:12px}.admin-group-summary-facts strong{color:#414b62;text-align:right;font-size:12px}.admin-group-sessions-card{overflow:hidden}.admin-group-session-table{overflow-x:auto}.admin-group-session-table table{min-width:1080px}.admin-group-session-table th,.admin-group-session-table td{white-space:nowrap}.admin-group-session-table td select{min-width:150px}.session-actions{white-space:nowrap;align-items:center;gap:7px;display:flex}.session-actions .button{height:32px;padding:0 10px;font-size:11px}.cancel-session-copy{color:#5a6480;margin:0 0 12px;font-size:13px;line-height:1.6}.cancel-session-copy:first-of-type{color:#25324e;font-weight:800}.session-number{color:#356ee8;background:#edf2fe;border-radius:9px;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.admin-group-students-card{margin-top:18px;overflow:hidden}.admin-group-students-header{border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.admin-group-students-header h2{color:#25324e;margin:0;font-size:16px}.admin-group-students-header p{color:#9aa1b4;margin:4px 0 0;font-size:12px}.admin-group-students-card .table-scroll{overflow-x:auto}.admin-group-students-card table{min-width:1050px}.admin-group-students-card th,.admin-group-students-card td{vertical-align:middle;white-space:nowrap}.admin-group-student-row{cursor:pointer}.admin-group-student-row:hover{background:#fafbfe}.admin-group-student-link{color:#25324e;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:0;display:flex}.admin-group-student-link>span{flex-direction:column;gap:3px;display:flex}.admin-group-student-link strong{font-size:13px}.admin-group-student-link small{color:#9aa4b8;font-size:10.5px}.admin-group-student-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-group-student-actions .button{height:32px;padding:0 13px;font-size:11px}.admin-group-student-actions .icon-button{color:#356ee8;cursor:pointer;background:#fff;border:1px solid #dce7fd;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.admin-group-student-actions .icon-button:disabled{color:#a8b0c2;cursor:not-allowed;background:#f5f6f9;border-color:#e7eaf1}.admin-group-students-card .amount-due{color:#c8870c;font-weight:700}.admin-group-students-card .amount-paid{color:#1f9d6b;font-weight:700}@media (max-width:1200px){.admin-group-summary-horizontal{grid-template-columns:1fr 1fr}.admin-group-summary-horizontal>section:nth-child(3){border-top:1px solid #f0f2f7;border-left:0}.admin-group-summary-horizontal>section:nth-child(4){border-top:1px solid #f0f2f7}}@media (max-width:700px){.admin-group-summary-horizontal{grid-template-columns:1fr}.admin-group-summary-horizontal>section{border-top:1px solid #f0f2f7;border-left:0}.admin-group-summary-horizontal>section:first-child{border-top:0}.admin-group-detail-page{padding-left:12px;padding-right:12px}}.conflict-group-link{color:#2c58cc;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.conflict-group-link:hover{color:#1f46a8}.content-mode-control{border:0;margin:0 0 2px;padding:0}.content-mode-control legend{color:#5a6480;margin-bottom:8px;font-size:12px;font-weight:700}.content-mode-control .segmented{width:max-content;max-width:100%}.group-problem-summary{color:#8a5a00;background:#fff8e9;border:1px solid #f3d7a4;border-radius:9px;flex-direction:column;gap:4px;margin-top:12px;padding:9px 10px;font-size:11px;line-height:1.35;display:flex}.group-problem-summary strong{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.group-problem-summary span{color:#6e604b}.group-problem-summary .conflict-group-link{color:#8a5a00}.group-retry-button,.group-edit-button{width:100%;margin-top:10px}.group-status-toggle{width:100%;margin-top:12px}.group-status-confirmation{color:#25324e;margin:0;font-size:14px;line-height:1.55}.group-status-confirmation-detail{color:#8b93a8;margin:8px 0 0;font-size:12.5px;line-height:1.55}.group-content-picker{position:relative}.group-content-results{z-index:20;background:#fff;border:1px solid #e3e7f1;border-radius:10px;max-height:190px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 12px 24px #25324e24}.group-content-results button{color:#25324e;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:7px;width:100%;padding:10px 11px;font-size:12.5px;font-weight:700}.group-content-results button:hover{color:#2c58cc;background:#edf2fe}.group-content-results span{color:#9aa1b4;padding:10px 11px;font-size:12px;display:block}.admin-group-previous-attendance{margin-top:18px;overflow:hidden}.admin-group-previous-attendance>.admin-group-students-header{border-bottom:1px solid #edf0f5;padding:18px 20px}.previous-attendance-list>section{border-bottom:1px solid #edf0f5}.previous-attendance-list>section:last-child{border-bottom:0}.previous-attendance-list>section>header{color:#687591;background:#f8f9fc;justify-content:space-between;gap:12px;padding:12px 20px;font-size:12px;display:flex}.previous-attendance-list>section>header span{color:#9aa5b9}.previous-attendance-row{border-top:1px solid #f0f2f6;align-items:center;gap:10px;padding:12px 20px;display:flex}.previous-attendance-row>span:not(.avatar){flex-direction:column;flex:1;min-width:0;display:flex}.previous-attendance-row>span strong{color:#273553;font-size:13px}.previous-attendance-row>span small{color:#9aa5b9;margin-top:3px;font-size:11px}.previous-attendance-row>.button{flex:none}@media (max-width:700px){.previous-attendance-row{padding:11px 14px}.admin-group-previous-attendance>.admin-group-students-header{padding:15px 14px}}input:disabled,select:disabled,textarea:disabled{color:#9aa4b8;cursor:not-allowed;opacity:1;background:#eef1f5;border-color:#d9dee8}.payroll-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.payroll-pagination{justify-content:center}.payroll-page tbody td>small{color:#9aa4b8;margin-top:3px;font-size:10.5px;display:block}@media (max-width:700px){.payroll-filters{flex-direction:column;align-items:stretch}.payroll-filters .payment-finished-date-filter{width:100%}}.students-filters{background:#fbfcfe;border-bottom:1px solid #eef1f6;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 18px;display:flex}.students-filters .search-input{flex:1;min-width:220px}.students-filters .segmented{flex:none}.students-filters .button{height:40px}.students-age-filter{color:#68738c;align-items:center;gap:7px;font-size:11px;font-weight:750;display:flex}.students-age-filter input{color:#25324e;background:#fff;border:1px solid #dde2ec;border-radius:10px;width:76px;height:40px;padding:0 9px}.students-age-filter i{color:#a0a9bd;font-style:normal}.students-pagination{justify-content:center}.students-pagination>span:first-child{margin-right:auto}@media (max-width:760px){.students-filters{align-items:stretch}.students-filters .segmented,.students-filters .search-input,.students-age-filter,.students-filters>.button{width:100%}.students-age-filter input{flex:1}.students-pagination{flex-wrap:wrap;justify-content:space-between;gap:8px}.students-pagination>span:first-child{text-align:center;width:100%;margin-right:0}}.followup-filters{background:#fbfcfe;border-bottom:1px solid #eef1f6;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:16px 18px;display:flex}.followup-filters .search-input{flex:1;min-width:220px}.followup-filters>span:last-child{color:#8b93a8;padding-bottom:11px;font-size:12px;font-weight:700}.followup-date-filter{align-items:flex-end;gap:7px;display:flex}.followup-date-filter label{color:#8b93a8;text-transform:uppercase;flex-direction:column;gap:4px;font-size:10px;font-weight:800;display:flex}.followup-date-filter input{color:#25324e;height:40px;font:inherit;text-transform:none;background:#fff;border:1px solid #e7eaf3;border-radius:10px;padding:0 10px;font-size:12px}.followup-date-filter>span{color:#a0a9bd;padding-bottom:12px;font-size:11px;font-weight:700}.followup-pagination{justify-content:center}.followup-pagination>span:first-child{margin-right:auto}@media (max-width:760px){.followup-filters{align-items:stretch}.followup-filters .payment-status-filter,.followup-filters .search-input,.followup-date-filter,.followup-filters>.button{width:100%}.followup-date-filter label{flex:1}.followup-date-filter input{width:100%}.followup-pagination{flex-wrap:wrap;justify-content:space-between;gap:8px}.followup-pagination>span:first-child{text-align:center;width:100%;margin-right:0}}.group-student-filters{align-items:flex-end;gap:9px;margin-bottom:12px;display:flex}.group-student-filters .search-input{flex:1;min-width:180px}.group-student-filters>label{color:#8b93a8;text-transform:uppercase;align-items:flex-end;gap:6px;font-size:10px;font-weight:800;display:flex}.group-student-filters>label input{color:#25324e;background:#f8f9fc;border:1px solid #e3e7f1;border-radius:9px;width:68px;height:40px;padding:0 8px;font-size:12px}.group-student-filters>label i{color:#a0a9bd;padding-bottom:12px;font-style:normal}.group-student-filters>.button{height:40px}.group-student-pagination{justify-content:center}@media (max-width:700px){.group-student-filters{flex-wrap:wrap;align-items:stretch}.group-student-filters .search-input{flex:none;width:100%}.group-student-filters>label{flex:1}.group-student-filters>label input{width:100%}.group-student-filters>.button{flex:none}.group-student-pagination{flex-wrap:wrap;justify-content:space-between;gap:8px}.group-student-pagination>span:first-child{text-align:center;width:100%;margin-right:0}}.sales-add-student{margin:0}.sales-add-student>p{color:#9aa1b4;margin:0 0 16px;font-size:12px;line-height:1.4}.sales-add-student .add-student-tabs{width:max-content;max-width:100%;margin:0 0 16px}.group-student-filters{align-items:flex-end;gap:10px;width:100%;margin:0 0 14px;display:flex}.group-student-filters>.search-input{flex:auto;width:auto;min-width:0;height:42px;margin:0}.group-student-age{color:#8b93a8;text-transform:uppercase;flex:none;align-items:flex-end;gap:7px;width:auto;font-size:10px;font-weight:800;display:flex!important}.group-student-age input{color:#25324e;background:#f8f9fc;border:1px solid #dde3ee;border-radius:10px;width:68px;height:42px;padding:0 9px;font-size:12px}.group-student-age i{color:#a0a9bd;padding-bottom:13px;font-style:normal}.group-student-filters>.button{flex:none;height:42px;padding:0 18px}.sales-add-student .competition-eligibility-note,.sales-add-student .previous-level-note{margin:0 0 14px}.sales-add-student .table-scroll{overflow-x:auto}.sales-add-student table{table-layout:fixed;width:100%;min-width:0}.sales-add-student table th,.sales-add-student table td{vertical-align:middle;padding-left:12px;padding-right:12px}.sales-add-student table th:first-child,.sales-add-student table td:first-child{width:38%;padding-left:14px}.sales-add-student table th:nth-child(2),.sales-add-student table td:nth-child(2){width:9%}.sales-add-student table th:nth-child(3),.sales-add-student table td:nth-child(3){width:18%}.sales-add-student table th:nth-child(4),.sales-add-student table td:nth-child(4){width:19%}.sales-add-student table th:last-child,.sales-add-student table td:last-child{width:24%}.sales-add-student .person-cell,.sales-add-student .person-cell>span{min-width:0}.sales-add-student .student-source-actions{gap:6px}.sales-add-student .student-source-actions>button:not(.button),.sales-add-student .student-source-actions .button{flex:none}.group-student-pagination{background:#fff;border-top:1px solid #f0f2f8;align-items:center;gap:10px;padding:14px 0 0;display:flex}.group-student-pagination>span:first-child{margin-right:auto}@media (max-width:700px){.sales-add-student .add-student-tabs{width:100%;margin:0 0 14px}.group-student-filters{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.group-student-filters>.search-input{grid-column:1/-1;width:100%}.group-student-age{min-width:0}.group-student-age input{width:64px}.group-student-filters>.button{width:auto}.sales-add-student table{table-layout:auto;min-width:760px}.group-student-pagination{flex-wrap:wrap}.group-student-pagination>span:first-child{width:100%;margin-right:0}}.group-student-filters{align-items:center}.group-student-age{align-items:center!important}.group-student-age i{padding-bottom:0}.group-student-filters>.button{align-self:center}@media (max-width:700px){.group-student-filters{align-items:center}.group-student-age{align-items:center!important}}.group-student-filters>.search-input{align-items:center!important}.group-student-filters>.search-input input{background:0 0!important;border:0!important;width:auto!important;height:auto!important;padding:0!important}.invoice-filters{background:#fbfcfe;border-bottom:1px solid #eef1f6;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:16px 18px;display:flex}.invoice-filters .search-input{flex:1;min-width:220px}.invoice-filters>span:last-child{color:#8b93a8;padding-bottom:11px;font-size:12px;font-weight:700}.invoice-date-filter{align-items:flex-end;gap:7px;display:flex}.invoice-date-filter label{color:#8b93a8;text-transform:uppercase;flex-direction:column;gap:4px;font-size:10px;font-weight:800;display:flex}.invoice-date-filter input{color:#25324e;height:40px;font:inherit;text-transform:none;background:#fff;border:1px solid #e7eaf3;border-radius:10px;padding:0 10px;font-size:12px}.invoice-date-filter>span{color:#a0a9bd;padding-bottom:12px;font-size:11px;font-weight:700}.invoice-pagination{justify-content:center}.invoice-pagination>span:first-child{margin-right:auto}@media (max-width:760px){.invoice-filters{align-items:stretch}.invoice-filters .search-input,.invoice-date-filter,.invoice-filters>.button{width:100%}.invoice-date-filter label{flex:1}.invoice-date-filter input{width:100%}.invoice-pagination{flex-wrap:wrap;justify-content:space-between;gap:8px}.invoice-pagination>span:first-child{text-align:center;width:100%;margin-right:0}}
