:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#21342c;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#f5f7f4;--surface:#fff;--surface2:#f7f9f6;--ink:#21342c;--muted:#7a877e;--line:#e3e9e3;--green:#1b634b;--soft:#edf5ed;--red:#a7463d;--shadow:0 2px 8px #1e392105;--sidebar:242px}:root[data-theme=dark]{color-scheme:dark;--bg:#131d19;--surface:#1c2922;--surface2:#223127;--ink:#e2ece4;--muted:#a1b2a5;--line:#334238;--green:#79c39e;--soft:#2b4133;--red:#e8a299;--shadow:none;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,.disabled{opacity:.5;cursor:not-allowed}input,select,textarea{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:42px;padding:10px 12px;min-width:0;max-width:100%}textarea{resize:vertical;min-height:100px;line-height:1.65}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:2px solid color-mix(in srgb,var(--green) 18%,transparent);outline-offset:1px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h2{font-size:17px;font-weight:650;letter-spacing:-.3px;margin-bottom:15px}h3{font-size:15px}small,.small{font-size:12px}.muted{color:var(--muted)}.positive{color:var(--green)}.negative,.danger-text{color:var(--red)}.full-width{width:100%}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);position:fixed;top:0;bottom:0;left:0;background:var(--surface);border-right:1px solid var(--line);z-index:20;display:flex;flex-direction:column;padding:29px 19px 0}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);margin-bottom:45px;padding:0 5px}.brand-mark{font-size:28px;font-style:italic;font-weight:750;background:#194e3a;color:#fff;display:grid;place-items:center;width:39px;height:43px;border-radius:10px;position:relative}.brand-mark>span{position:absolute;width:16px;height:2px;background:#95bd9d;top:10px;right:5px;transform:rotate(-45deg)}.brand strong{font-size:14px;font-weight:800;line-height:1.2;letter-spacing:.8px;display:block}.brand strong span{display:block;font-size:9px;letter-spacing:3.4px;margin-top:2px}.brand small{display:block;color:var(--muted);font-size:9px;margin-top:6px}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.3px;color:#97a297;margin:0 12px 12px}.side-nav{display:grid;gap:4px;margin-bottom:29px}.side-nav button{display:flex;align-items:center;gap:12px;background:none;border:0;border-radius:8px;color:var(--muted);padding:12px 14px;text-align:left;font-size:12px;font-weight:550;min-height:43px}.side-nav button.active{color:var(--green);background:var(--soft);font-weight:700}.side-nav button:hover{background:var(--surface2)}.side-nav button.active:hover{background:var(--soft)}.side-nav button small{margin-left:auto;font-size:10px;color:var(--green);background:var(--surface);padding:1px 7px;border-radius:5px}.sidebar-bottom{margin-top:auto;padding-bottom:18px}.local-card{background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:15px 11px;display:flex;gap:10px;align-items:center;color:var(--green);margin-bottom:13px}.local-card strong{font-size:10px;display:block}.local-card small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.sidebar-bottom>.button{font-size:10px;padding:10px 5px}.coach{display:flex;gap:10px;border-top:1px solid var(--line);padding:21px 1px 0;margin-top:20px;align-items:center}.coach>span{background:#eeeae0;color:#8a7251;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700}.coach strong{font-size:11px;display:block}.coach small{font-size:9px;color:var(--muted);display:block}.coach .icon-button{margin-left:auto}.main-area{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{height:73px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:15px}.breadcrumb{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:11px}.breadcrumb>span{color:var(--ink);font-weight:550}.topbar-right{display:flex;gap:23px;align-items:center;font-size:10px}.today-label{color:var(--muted)}.connection{display:flex;align-items:center;gap:7px;color:var(--green);font-size:10px}.mobile-theme{display:none!important}.page{padding:34px 36px 24px;max-width:1600px;width:100%;margin:0 auto;flex:1}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:1.6px;color:var(--green);margin:0 0 8px;text-transform:uppercase}.page-title{font-size:29px;font-weight:700;letter-spacing:-1px;line-height:1.2;margin:0 0 8px}.page-subtitle{font-size:12px;color:var(--muted);margin:0;line-height:1.65}.page-actions{flex-shrink:0}.button{border:1px solid transparent;border-radius:8px;min-height:40px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:650;text-decoration:none;line-height:1.5;cursor:pointer}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}[data-theme=dark] .button.primary{color:#10281b}.button.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.button.danger{background:var(--red);color:#fff}.button.white{background:#fff;color:#21553f}.button.ghost-white{background:transparent;border-color:#ffffff30;color:#fff}.button.small{min-height:34px;padding:7px 11px;font-size:11px}.button:hover:not(:disabled){filter:brightness(.96)}.icon-button{width:34px;height:34px;border:0;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--soft);color:var(--green)}.text-button{border:0;background:none;color:var(--green);padding:4px 0;display:inline-flex;gap:6px;align-items:center;justify-content:center;font-weight:600;font-size:11px;cursor:pointer}.danger-text{color:var(--red)}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.toolbar>div:first-child:has(.page-title){flex:1}.toolbar h2{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:23px;box-shadow:var(--shadow);min-width:0}.card+.card{margin-top:20px}.grid{display:grid;gap:20px}.grid-2,.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-4,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.grid>.card,.data-grid>.card,.dashboard-columns .card{margin-top:0}.grid .card h2{margin-bottom:12px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-title h2{margin:0}.period-picker{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);padding-left:12px;border-radius:8px;color:var(--muted)}.period-picker input{border:0;padding:9px 11px 9px 0;font-size:11px;min-height:39px;background:none;width:165px}.welcome-card{background:#1e513b;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 32px;margin-bottom:23px;color:#fff;position:relative;overflow:hidden}.welcome-card .badge{font-size:8px;letter-spacing:1.4px;color:#c2d7bb;background:#ffffff10;padding:4px 8px;margin-bottom:12px}.welcome-card h2{font-size:26px;letter-spacing:-.6px;margin-bottom:11px}.welcome-card p{font-size:12px;line-height:1.75;color:#c8d8ca;margin-bottom:19px}.welcome-card .toolbar{margin-bottom:0}.welcome-art{display:flex;align-items:center;flex-direction:column;justify-content:center;min-width:210px;opacity:.8}.welcome-art>span{font-family:serif;font-size:106px;color:#c4d8b0;line-height:1.1}.welcome-art small{font-size:7px;font-weight:550;letter-spacing:2px;color:#b5cdb2;margin-top:12px}.metric-grid{margin-bottom:23px}.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:20px 19px;min-width:0}.metric-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);align-items:center;margin-bottom:19px}.metric-top svg{color:var(--green);opacity:.8}.metric-card>strong{font-size:30px;letter-spacing:-1px;font-weight:650;display:flex;gap:10px;align-items:baseline;line-height:1.2}.metric-card>strong>span{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}.metric-card>small{color:var(--muted);font-size:9px;margin-top:8px;display:block}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:23px;align-items:start}.dashboard-main,.dashboard-aside{display:grid;gap:21px;min-width:0}.session-preview{display:flex;align-items:center;gap:16px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;padding:16px 0}.session-preview:first-of-type{border-top:0}.session-preview .session-time{min-width:55px;text-align:center;background:var(--surface2);border-radius:7px;padding:7px 6px}.session-time>strong{font-size:14px}.session-time>small{font-size:9px;color:var(--muted);display:block}.session-preview>div:nth-child(2){flex:1}.session-preview>div:nth-child(2)>strong{font-size:12px;display:block}.session-preview>div:nth-child(2)>span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.badge{display:inline-flex;align-items:center;width:fit-content;background:var(--soft);color:var(--green);border-radius:5px;font-size:9px;font-weight:600;line-height:1.4;padding:5px 8px;white-space:nowrap}.badge.neutral{background:var(--surface2);color:var(--muted)}.badge.success{color:var(--green)}.quick-actions h2{margin-bottom:17px}.quick-actions>button{display:flex;width:100%;gap:10px;align-items:center;text-align:left;border:0;border-top:1px solid var(--line);padding:13px 0;background:none;color:var(--ink);font-size:11px}.quick-actions>button:first-of-type{border:0}.quick-actions>button>svg:first-child{color:var(--green);background:var(--soft);box-sizing:content-box;padding:7px;border-radius:7px}.quick-actions>button>span{flex:1}.quick-actions>button>svg:last-child{color:var(--muted)}.finance-overview{display:flex;justify-content:space-between;gap:15px;align-items:center}.finance-overview p{font-size:10px;margin-bottom:7px}.finance-overview>div:first-child>strong{font-size:28px;font-weight:650;letter-spacing:-1px;display:block}.finance-overview>div:first-child>span{color:var(--muted);font-size:9px;display:block;margin-top:4px}.debt-summary{border-left:1px solid var(--line);padding-left:22px}.debt-summary>strong{font-size:20px;font-weight:600}.debt-summary small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.mini-chart{display:flex;gap:15px;align-items:end;justify-content:space-between;height:160px;padding-top:25px;margin-top:15px}.mini-chart>div{flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;height:100%;gap:5px;min-width:0}.mini-chart i{display:block;background:#73a383;border-radius:4px 4px 0 0;width:55%;max-width:42px;min-height:2px}.mini-chart small{font-size:9px;color:var(--muted)}.mini-chart span{font-size:8px;color:var(--muted);white-space:nowrap}.chart-empty{border:1px dashed var(--line);border-radius:7px;padding:36px 20px;margin:23px 0;color:var(--muted);font-size:11px;text-align:center}.finance-overview+.small{font-size:9px}.list-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row>div{flex:1;min-width:0}.list-row strong{font-size:11px;display:block}.list-row small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.payment-avatar{width:34px;height:34px;display:grid;place-items:center;background:var(--soft);color:var(--green);border-radius:50%;flex-shrink:0}.reminder{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.reminder:last-child{border:0;padding-bottom:0}.reminder>span{color:var(--green);padding:6px;background:var(--soft);height:32px;border-radius:7px}.reminder p{margin:0}.reminder strong{font-size:11px;display:block;font-weight:600}.reminder small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.reminder .text-button{font-size:9px;margin-top:7px}.quiet-card{border:1px dashed var(--line);border-radius:12px;padding:22px}.quiet-card .eyebrow{font-size:8px}.quiet-card h3{font-size:14px;margin:10px 0}.quiet-card p{font-size:11px;color:var(--muted);line-height:1.7}.app-footer{font-size:9px;color:var(--muted);padding:10px 36px 22px;display:flex;gap:5px;align-items:center}.app-footer>span{margin-left:auto}.bottom-nav{display:none}.empty-state{text-align:center;padding:37px 18px;color:var(--muted)}.empty-icon{display:grid;place-items:center;background:var(--soft);color:var(--green);border-radius:50%;width:48px;height:48px;margin:0 auto 15px}.empty-state h3{font-size:13px;color:var(--ink);margin:0 0 8px;font-weight:600}.empty-state p{font-size:11px;max-width:320px;margin:0 auto 18px;line-height:1.7}.empty-state .button{font-size:11px}.loading{padding:70px;text-align:center;color:var(--muted)}.alert,.warning,.notice{border-radius:8px;padding:13px 15px;margin:14px 0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.alert{color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 25%,var(--line))}.warning{color:#906b29;background:#b78a2010;border:1px solid #b78a2030}.notice{color:var(--green);background:var(--soft);border:1px solid color-mix(in srgb,var(--green) 18%,var(--line));display:flex;gap:15px;align-items:center;justify-content:space-between}.warning-text{color:#9a752f;font-size:11px}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-grid>.alert,.form-grid>.notice,.form-grid>.warning,.form-grid>p,.form-grid>fieldset,.form-grid>textarea,.form-grid>details,.form-grid>.toolbar,.form-grid>.button,.form-grid>.check,.form-grid>section{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:550;color:var(--muted);min-width:0}.field>input,.field>select,.field>textarea{width:100%;font-weight:400;font-size:12px;color:var(--ink)}.field:has(textarea){grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.7;margin:15px 0;cursor:pointer}.check>input{min-height:0;width:16px;height:16px;accent-color:var(--green);margin:3px 0 0;flex-shrink:0;padding:0}.form-grid fieldset{border:1px solid var(--line);border-radius:8px;padding:13px 17px}.form-grid legend{font-size:12px;font-weight:600;padding:0 6px}.form-grid fieldset label{font-size:12px}.modal-overlay{position:fixed;z-index:1000;inset:0;background:#102b2080;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:22px}.modal{margin:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:25px;box-shadow:0 20px 90px #10271d30;width:min(94vw,720px);max-height:90dvh;overflow:auto;overscroll-behavior:contain}.modal-wide{width:min(95vw,960px)}dialog.modal::backdrop{background:#102b2080;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.modal-heading h2{font-size:19px;margin:0}.modal .toolbar:first-child{justify-content:space-between}.modal p{font-size:12px;line-height:1.7}.modal .form-grid{margin-top:20px}.table-wrap{overflow-x:auto;max-width:100%;border-radius:8px}.table-wrap table,table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.table-wrap th,th{font-weight:600;color:var(--muted);background:var(--surface2);font-size:10px;white-space:nowrap;padding:13px 12px}.table-wrap td,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table-wrap td strong{font-size:12px}.table-wrap td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.table-wrap .button{font-size:10px;min-height:31px;padding:6px 10px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.tabs button{background:var(--surface2);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:600;border-radius:7px;padding:8px 11px}.tabs button.active,.tabs button[aria-selected=true]{background:var(--soft);color:var(--green);border-color:color-mix(in srgb,var(--green) 22%,var(--line))}.tabs.segmented{margin-bottom:0;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.tabs.segmented button{border:0;border-radius:0;background:var(--surface)}.tabs.segmented button.active{background:var(--soft)}dl{font-size:12px}dt{color:var(--muted);font-size:10px;margin-bottom:3px}dd{margin-left:0;margin-bottom:13px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-toolbar{padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.calendar-toolbar select{font-size:11px}.date-switch{display:flex;align-items:center;gap:4px}.date-switch input{border:0;background:transparent;padding:7px 4px;font-size:12px}.training-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:21px;align-items:start}.training-layout>.card{margin:0}.session-list{padding:18px}.session-list>h2{font-size:12px;display:flex;gap:9px;align-items:center;margin-bottom:18px;line-height:1.6}.training-list-item{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:9px;color:var(--ink);padding:14px;text-align:left;display:grid;gap:8px;margin-bottom:10px}.training-list-item.selected{border-color:var(--green);background:var(--soft)}.training-list-item>strong{font-size:12px}.training-list-item small{font-size:10px;color:var(--muted)}.training-list-item .badge{font-size:8px}.attendance-placeholder{height:350px;display:grid;place-items:center}.attendance-sheet>h2{font-size:18px}.mass-actions{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}.attendance-row{display:flex;gap:11px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.student-number{font-size:10px;color:var(--muted);width:17px;flex-shrink:0}.student-attendance-name{flex:1;min-width:0}.student-attendance-name strong{font-size:12px;display:block;overflow-wrap:anywhere}.student-attendance-name small{font-size:9px;display:block;color:var(--muted);margin-top:4px}.mark-buttons{display:flex;gap:6px}.mark{display:grid;place-items:center;min-width:40px;height:40px;background:var(--surface2);border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:13px;font-weight:650}.mark.present.selected{background:var(--green);color:#fff;border-color:var(--green)}[data-theme=dark] .mark.present.selected{color:#12301e}.mark.absent.selected{background:#ad5f5720;color:var(--red);border-color:var(--red)}.mark.trial.selected{background:#b3912820;color:#977328;border-color:#b39128}.attendance-footer{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:21px}.attendance-footer .primary{margin-left:auto}.history-list{padding:14px;border-radius:8px;background:var(--surface2);margin-bottom:12px;max-height:200px;overflow:auto}.more-menu{display:grid;gap:13px;margin-bottom:22px}.more-item{display:flex;gap:18px;align-items:center;text-align:left;color:var(--ink);width:100%;margin-top:0!important}.more-item>svg:first-child{color:var(--green);background:var(--soft);padding:10px;box-sizing:content-box;border-radius:10px}.more-item>div{flex:1}.more-item strong{display:block;font-size:14px}.more-item small{color:var(--muted);display:block;font-size:11px;margin-top:5px}.settings-card{margin-top:22px}.settings-card p{font-size:12px;line-height:1.7}.settings-card .toolbar{margin:20px 0}.roadmap>div{display:flex;gap:14px;padding:15px 0}.roadmap>div>svg{color:var(--green);flex-shrink:0}.roadmap p{margin:0}.roadmap strong,.roadmap span{display:block;font-size:12px}.roadmap span{color:var(--muted);font-size:11px;margin-top:5px}.roadmap>.small{border-top:1px solid var(--line);padding-top:17px;margin-top:15px}.feature-icon{background:var(--soft);color:var(--green);width:44px;height:44px;display:grid;place-items:center;border-radius:10px;margin-bottom:17px}.data-grid .card{display:flex;flex-direction:column;align-items:flex-start}.data-grid .card h2{font-size:15px}.data-grid .card>.muted{font-size:12px;line-height:1.8}.data-grid .card>.button{margin-top:auto}.data-grid .small{font-size:10px;margin:12px 0 0}.import-preview{margin:22px 0}.import-preview>details{margin:18px 0}.import-preview summary{color:var(--green);font-size:12px;cursor:pointer;margin-bottom:13px}.stat-strip{display:flex;gap:25px;flex-wrap:wrap;padding:17px;border-radius:8px;background:var(--surface2);margin:18px 0}.stat-strip span{font-size:10px;color:var(--muted)}.stat-strip strong{font-size:16px;display:block;color:var(--ink);margin-bottom:4px}.warning-list{font-size:11px;line-height:1.9;color:var(--muted);padding-left:18px;max-height:240px;overflow:auto}.identity-list{margin:18px 0;max-height:460px;overflow:auto;padding-right:4px}.identity-row{display:grid;grid-template-columns:1fr 240px;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.identity-row strong{font-size:12px}.identity-row small,.identity-row span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.identity-row select{font-size:11px}.source-row{display:flex;justify-content:space-between;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding:19px 0}.source-row>div:first-child{overflow-wrap:anywhere;min-width:0;flex:1}.source-row strong{font-size:11px;display:block}.source-row small{font-size:9px;color:var(--muted);display:block;margin-top:5px}.source-row .toolbar{margin:0;gap:9px}.storage-status{display:flex;align-items:center;gap:10px}.storage-status p{margin:0}.storage-status small{display:block}.status-dot{width:8px;height:8px;border-radius:50%;background:#b49c59;flex-shrink:0}.status-dot.ready{background:var(--green)}.change-list{max-height:420px;overflow:auto}.change-row{padding:13px 0;border-bottom:1px solid var(--line);margin:0}.change-row strong,.change-row span,.change-row small{display:block;font-size:12px}.change-row small{font-size:10px;color:var(--muted);margin-top:5px}.smart-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.smart-source{white-space:pre-wrap;overflow-wrap:anywhere}.screenshot-preview{max-width:100%;max-height:240px;object-fit:contain;border:1px solid var(--line);border-radius:9px}.smart-event{border:1px solid var(--line);border-radius:9px;padding:17px;margin-top:15px}.smart-event .source{font-size:11px;color:var(--muted)}.smart-event .form-grid{margin-top:12px}.fatal{max-width:650px;margin:80px auto;padding:30px}fieldset .check{margin:8px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.student-card,.group-card{min-width:0}.page>.toolbar:first-child{margin-bottom:26px}.page>.card.form-grid{margin-bottom:22px}.card h2:has(+.toolbar){margin-bottom:18px}@media(min-width:1500px){.page{padding-left:45px;padding-right:45px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 305px}.metric-card{padding:23px}.welcome-card{padding:32px 37px}}@media(max-width:1220px){:root{--sidebar:215px}.sidebar{padding-left:12px;padding-right:12px}.brand{padding:0 4px}.page{padding:27px 25px}.topbar{padding:0 25px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 245px;gap:17px}.metric-grid{gap:12px}.metric-card{padding:17px 14px}.metric-card>strong{font-size:26px}.metric-top{font-size:9px}.card{padding:20px}.session-preview{gap:10px}.session-preview>.badge{display:none}.data-grid{gap:17px}.training-layout{grid-template-columns:245px minmax(0,1fr);gap:16px}.attendance-row{gap:8px}.student-number{display:none}.mark{min-width:36px;height:38px}.identity-row{grid-template-columns:1fr 200px}.welcome-art{min-width:160px}}@media(max-width:1020px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}.dashboard-aside{grid-template-columns:1fr 1fr}.dashboard-aside>.quiet-card{grid-column:1/-1}.metric-grid,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.training-layout{grid-template-columns:1fr}.session-list{max-height:280px;overflow:auto}.attendance-placeholder{height:230px}.training-list-item{display:inline-grid;width:calc(50% - 6px);margin-right:6px;vertical-align:top}.source-row{flex-direction:column;align-items:flex-start}.page-title{font-size:26px}.topbar-right .today-label{display:none}.welcome-art{min-width:130px}.welcome-card{padding:25px}.welcome-art>span{font-size:85px}}@media(max-width:760px){:root{--sidebar:0px}.sidebar{display:none}.main-area{margin:0;padding-bottom:72px}.topbar{height:59px;padding:0 19px;background:var(--surface)}.topbar-right{gap:9px}.breadcrumb{font-size:10px;gap:6px}.breadcrumb>span{font-size:10px}.connection{font-size:9px}.mobile-theme{display:inline-flex!important}.page{padding:24px 19px 15px}.page-header{margin-bottom:23px;gap:15px;align-items:flex-start}.page-title{font-size:26px;letter-spacing:-.8px}.page-subtitle{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.5px}.page-actions .button{font-size:10px;padding:9px 11px}.period-picker input{width:139px;font-size:10px;min-height:36px}.period-picker{padding-left:8px}.period-picker svg{width:13px}.bottom-nav{position:fixed;display:flex;z-index:60;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:7px 7px max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #20342505}.bottom-nav>button{border:0;background:transparent;color:var(--muted);font-size:9px;display:flex;flex:1;flex-direction:column;align-items:center;gap:5px;padding:4px 3px;min-height:48px;justify-content:center;border-radius:8px}.bottom-nav>button.active{color:var(--green);background:var(--soft);font-weight:650}.app-footer{padding:15px 19px;font-size:9px}.welcome-card{padding:23px;margin-bottom:18px}.welcome-card h2{font-size:23px}.welcome-card p{font-size:11px;line-height:1.8}.welcome-art{display:none}.welcome-card .button{font-size:11px}.metric-grid{gap:11px;margin-bottom:18px}.metric-card{padding:16px 14px;border-radius:10px}.metric-top{font-size:9px;margin-bottom:16px;gap:5px}.metric-top svg{width:15px;flex-shrink:0}.metric-card>strong{font-size:28px}.metric-card>strong>span{font-size:10px}.metric-card>small{font-size:9px;line-height:1.6}.dashboard-columns,.dashboard-main{gap:17px}.dashboard-aside{grid-template-columns:1fr 1fr;gap:17px}.card{padding:19px;border-radius:11px}.section-title h2{font-size:15px}.section-title .text-button{font-size:10px}.session-preview>div:nth-child(2)>strong{font-size:12px}.session-preview>div:nth-child(2)>span{font-size:9px}.data-grid{grid-template-columns:1fr;gap:16px}.data-grid .card .button{margin-top:5px}.data-grid .card>.muted{font-size:12px}.data-grid .card h2{font-size:16px}.modal{width:min(96vw,700px);padding:22px;max-height:90dvh}.modal-overlay{padding:12px}.form-grid{gap:14px}.modal-heading h2{font-size:17px}.toolbar{gap:9px}.grid-2,.grid-3,.grid-4{gap:16px}.calendar-toolbar{gap:12px}.calendar-toolbar select{min-width:150px;flex:1}.date-switch{flex:1}.tabs.segmented{flex:none}.mass-actions{gap:9px;flex-wrap:wrap}.attendance-footer>.button.primary{margin-left:0;flex:1}.attendance-footer .secondary{font-size:10px}.training-list-item{width:calc(50% - 6px);padding:12px}.training-list-item .row-between{flex-wrap:wrap}.identity-row{grid-template-columns:1fr;gap:9px;padding:14px 0}.source-row .toolbar{gap:10px}.source-row .button{font-size:10px}.source-row>.toolbar .text-button{font-size:10px}.notice{align-items:flex-start}.page>.toolbar:first-child>.button{font-size:11px}.table-wrap{margin-left:-4px;width:calc(100% + 8px)}th{font-size:10px}td{font-size:11px}.more-item strong{font-size:13px}.more-item small{font-size:10px}.app-footer>span{font-size:8px}.feature-icon{width:39px;height:39px}.stat-strip{gap:17px}.stat-strip span{flex:1;min-width:100px}.stat-strip strong{font-size:17px}}@media(max-width:460px){.page-header{flex-wrap:wrap}.page-actions{margin-left:0}.page-header:has(.period-picker){flex-wrap:nowrap}.page-title{font-size:25px}.page-header:has(.period-picker) .page-title{font-size:23px}.period-picker input{width:127px;font-size:9px}.page-header:has(.period-picker) .page-subtitle{font-size:10px}.page-header:has(.period-picker) .eyebrow{font-size:7px}.dashboard-aside{grid-template-columns:1fr}.dashboard-aside>.quiet-card{grid-column:auto}.finance-overview{align-items:flex-start}.finance-overview>div:first-child>strong{font-size:24px}.debt-summary{padding-left:14px}.debt-summary strong{font-size:16px}.debt-summary small{font-size:8px;max-width:125px}.card{padding:17px}.page{padding:22px 15px 12px}.welcome-card{padding:22px}.welcome-card .toolbar{gap:10px}.welcome-card .button{width:100%;justify-content:center}.welcome-card br{display:none}.training-list-item{width:100%;margin-right:0}.session-list{max-height:270px}.form-grid,.grid-2,.grid-3,.grid-4,.detail-grid{grid-template-columns:1fr}.field{font-size:11px}.modal{padding:20px 17px}.modal .toolbar .button{font-size:10px;padding:8px 10px}.modal .toolbar h2{font-size:17px}.mark{min-width:39px;height:42px}.mark-buttons{gap:5px}.student-attendance-name strong{font-size:11px}.attendance-row{padding:14px 0}.mass-actions .button,.mass-actions .text-button{font-size:10px}.attendance-footer .primary{flex-basis:100%}.tabs button{font-size:10px;padding:8px}.table-wrap table{font-size:11px}.page>.toolbar:first-child{align-items:flex-start}.page>.toolbar:first-child>.button{margin-top:1px}.page>.toolbar:first-child>div{min-width:170px}.page>.card.form-grid{grid-template-columns:1fr}.source-row .toolbar{width:100%}.source-row .toolbar .button{flex:1}.source-row .text-button{width:100%;justify-content:flex-start}.app-footer{padding-left:15px;padding-right:15px}.breadcrumb{font-size:9px}.breadcrumb>span{font-size:9px}.connection>span{display:none}.change-row{font-size:11px}}.error{color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 25%,var(--line));padding:12px 15px;border-radius:8px;font-size:12px;line-height:1.7}
