*{box-sizing:border-box}body{margin:0;background:#f6f7f9;color:#182b29;font:14px Manrope,system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{border:0}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}aside{width:236px;background:white;border-right:1px solid #e5eae8;padding:35px 23px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;font-size:25px;font-weight:800;letter-spacing:-1px}.branddot{color:#31947c}.logo{display:grid;place-items:center;width:37px;height:37px;background:#183d34;color:white;border-radius:12px;margin-right:10px}.sidecaption{font-size:10px;letter-spacing:1.5px;color:#94a09b;margin:57px 11px 18px}nav button{display:flex;width:100%;gap:12px;padding:15px 13px;align-items:center;background:transparent;color:#798681;border-radius:9px;margin-bottom:8px;text-align:left}nav button.active{background:#e9f3ef;color:#25664e;font-weight:700}nav small{margin-left:auto;background:white;padding:2px 6px;border-radius:4px}.sidebottom{margin-top:auto;padding:30px 10px 0;color:#80918a;font-size:12px;line-height:1.8}.location{display:flex;gap:7px;color:#344b42}.sidebottom a{display:flex;gap:8px;margin-top:25px}main{margin-left:236px;flex:1;min-width:0}header{height:91px;border-bottom:1px solid #e4e9e6;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:12px}.muted{color:#96a19c;margin-left:10px}.profile{display:flex;align-items:center;gap:10px;max-width:45%;overflow:hidden}.profile small{display:block;font-size:10px;color:#8b9790;margin-top:4px}.avatar{background:#e8f0e7;border-radius:50%;min-width:35px;height:35px;display:grid;place-items:center;font-weight:700}.content{max-width:1380px;margin:auto;padding:44px 42px 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.8px;color:#629380}h1{font-size:36px;line-height:1.2;letter-spacing:-1.6px;margin:12px 0}p{color:#84918b;line-height:1.7}.intro p{margin:0}.city{font-size:11px;background:white;border:1px solid #e1e7e2;border-radius:30px;padding:10px 14px;display:flex;gap:7px;white-space:nowrap}.stats{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:18px;margin-bottom:30px}.stats>div{background:white;border:1px solid #e4e9e5;border-radius:12px;padding:22px}.stats span{color:#7e8c85;font-size:11px}.stats strong{display:flex;align-items:baseline;gap:12px;font-size:32px;margin-top:10px}.stats strong small{font-size:10px;font-weight:400;color:#96a099}.stats .statgreen{background:#e7f0e8;border-color:#dae6dc}.stats strong.quote{font-size:16px;align-items:center;justify-content:space-between;margin-top:19px}.columns{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:24px}.calendar,.panel{border:1px solid #e1e7e3;background:white;border-radius:13px}.sectionhead{padding:25px 25px 20px;display:flex;justify-content:space-between;align-items:center}h2{font-size:19px;letter-spacing:-.5px;margin:8px 0}.refresh{background:transparent;color:#7b8a81;font-size:10px}.month{padding:12px 25px 20px;display:flex;align-items:center;justify-content:space-between}.month strong{text-transform:capitalize;font-size:13px}.month button{padding:5px;background:white;border:1px solid #e3e8e4;border-radius:6px;margin-left:8px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;padding:0 25px 24px;border-bottom:1px solid #edf0ec}.days button{background:#f7f9f7;border:1px solid transparent;border-radius:10px;display:flex;flex-direction:column;align-items:center;padding:12px 3px 9px;gap:8px}.days small{font-size:10px;color:#94a098}.days strong{font-size:18px}.days .chosen{background:#234f40;color:white}.days .chosen small{color:#c2d5c8}.days i{width:4px;height:4px;border-radius:50%}.days i.available{background:#8eb89c}.list{padding:0 25px;min-height:220px}.slot{display:flex;gap:17px;align-items:center;padding:22px 0;border-bottom:1px solid #edf0ec}.times{font-size:19px;font-weight:700}.times small{display:block;font-size:10px;color:#9aa69e;font-weight:400;margin-top:5px}.slotinfo{flex:1}.slotinfo strong{font-size:12px}.slotinfo span{display:flex;align-items:center;gap:5px;font-size:10px;color:#83958a;margin-top:7px}.slotinfo small{display:block;color:#6f8478;font-size:11px;margin-top:5px}.book,.primary{background:#24543f;color:white;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 16px;border-radius:7px;font-size:11px;font-weight:600}.book{background:#edf4ee;color:#386247}.textbutton{background:transparent;color:#9c7161;font-size:10px}.busy{color:#a6aea7;font-size:11px}.empty{padding:45px 10px;text-align:center;color:#9baa9f}.empty h3{font-size:14px;color:#566e60}.empty p{font-size:12px}.legend{padding:20px 25px;display:flex;align-items:center;gap:7px;font-size:9px;color:#98a59a}.legend i{width:5px;height:5px;background:#73a185;border-radius:50%}.legend span{margin-left:auto}.panel{padding:24px}.panelicon{display:grid;place-items:center;background:#edf4ed;color:#698d72;width:38px;height:38px;border-radius:10px;margin-bottom:18px}.panel p{font-size:11px;margin:10px 0 21px}label{display:block;font-size:11px;color:#67806e;margin:15px 0}input,select{display:block;width:100%;margin-top:8px;padding:11px;background:#fafbf9;color:#334c3b;border:1px solid #e0e7de;border-radius:7px;min-width:0}.panel .primary{width:100%;margin-top:20px}.note{margin-top:18px;background:#eceee5;border-radius:13px;padding:24px;overflow:hidden}.note>span{font-size:8px;letter-spacing:1.5px;color:#8b977e}.note h3{font-size:17px;line-height:1.5;margin-bottom:8px}.note p{font-size:11px;color:#89947c}.road{margin-top:24px;display:flex;align-items:center;gap:12px;color:#68806a}.road i{height:2px;width:25px;background:#bcc7ae}.road svg{margin-left:auto}.tip{font-size:12px;line-height:1.8;background:#f4f7f0;padding:15px;border-radius:9px;color:#69805d}footer{display:flex;justify-content:space-between;font-size:9px;color:#a4afa5;padding:32px 0 5px}.setup{background:#e8f0e8;padding:40px;border-radius:16px;max-width:730px}.tag{font-size:10px;letter-spacing:2px;color:#6b8a66}.setup h2{font-size:27px}.setup p{max-width:530px}.setup small{display:block;margin-top:20px;color:#7b8f78;font-size:11px}.alert{background:#fff0eb;color:#9a4d37;padding:14px;border-radius:9px;margin-bottom:16px}.notice{display:flex;justify-content:space-between;background:#e8f3e6;color:#427144;padding:12px 16px;margin-bottom:15px;border-radius:9px}.notice button{background:none;color:inherit}.overlay{position:fixed;inset:0;background:#142b2580;display:grid;place-items:center;padding:20px;z-index:20;backdrop-filter:blur(4px)}.modal{position:relative;background:white;padding:35px;border-radius:17px;width:100%;max-width:430px}.close{position:absolute;right:15px;top:10px;background:none;font-size:25px;color:#83968a}.modal p{font-size:12px}.modal form>small{font-size:10px;color:#8a9a8d;line-height:1.6;display:block}.modal .primary{width:100%;margin-top:20px}button:focus-visible,a:focus-visible{outline:3px solid #9bc9ab;outline-offset:3px}@media(min-width:1500px){.content{padding-top:60px}}@media(max-width:1100px){aside{width:195px;padding:30px 14px}.brand{font-size:22px}main{margin-left:195px}.content{padding:30px 24px}header{padding:0 24px}.columns{grid-template-columns:minmax(0,1fr) 250px;gap:15px}.stats{gap:12px}.stats>div{padding:18px}h1{font-size:30px}.city{display:none}.sectionhead,.panel{padding:20px}.list{padding:0 17px}.days{padding:0 15px 20px}}@media(max-width:780px){aside{position:static;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid #e2e9df}.shell{display:block}.brand{font-size:24px}.sidecaption,.sidebottom{display:none}nav{display:flex;gap:5px;margin-top:18px;overflow:auto}nav button{font-size:11px;white-space:nowrap;margin:0;padding:10px;width:auto}nav button svg{width:16px}main{margin:0}header{height:65px;padding:0 20px}header>span{font-size:10px}.muted{display:none}.profile{font-size:10px;max-width:55%}.content{padding:28px 18px}.intro{margin-bottom:25px}h1{font-size:30px}.eyebrow{font-size:8px}.intro p{font-size:12px}.stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.stats .statgreen{display:none}.stats>div{padding:17px}.stats strong{font-size:27px}.stats strong small{font-size:9px}.columns{display:flex;flex-direction:column}.right{display:flex;flex-direction:column}.note{display:none}.sectionhead{padding:22px 17px}.sectionhead h2{font-size:18px}.month{padding:10px 17px 20px}.days{gap:5px}.days button{padding:10px 2px}.slot{gap:12px}.times{font-size:17px}.slotinfo strong{font-size:11px}.book{padding:10px;font-size:10px}.book svg{display:none}.legend{padding:18px 15px;font-size:8px}.setup{padding:25px}.setup h2{font-size:24px}.setup p{font-size:13px}footer{font-size:8px}.modal{padding:28px}}.loading{padding:40px}.loginwrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fff}.login{width:100%;max-width:460px;padding:60px 35px;margin:auto}.login .brand{margin-bottom:62px}.login h1{font-size:36px}.login>p{font-size:13px}.loginroles{display:flex;gap:8px;margin:28px 0 20px}.loginroles span{font-size:11px;background:#edf3ee;color:#617a66;border-radius:20px;padding:7px 13px}.login .primary{width:100%;font-size:13px;padding:15px;margin:20px 0}.login .tip{font-size:11px}.login>small{display:block;color:#94a292;font-size:10px;margin-top:22px}.loginart{background:#224b3c;color:#edf4e6;padding:100px 65px;display:flex;flex-direction:column;justify-content:center}.loginart>span{font-size:10px;letter-spacing:2px;color:#a4c4ab}.loginart h2{font-size:clamp(30px,4vw,64px);font-weight:500;line-height:1.25;letter-spacing:-2px;margin:30px 0 60px}.loginart p{color:#a3baaa;font-size:12px}.bigroad{display:flex;gap:20px;align-items:center;margin-bottom:35px}.bigroad i{width:50px;height:3px;background:#8daa86}.bigroad b{font-size:75px;color:#c7dbad;margin-left:20px}.passwordfield{display:flex;align-items:center;position:relative}.passwordfield input{padding-right:75px}.passwordfield button{position:absolute;right:10px;top:20px;font-size:10px;color:#749175;background:none}.formerror{color:#a14f3a;font-size:12px;line-height:1.6}.userrow{padding:24px 0;border-bottom:1px solid #e9ede7;display:flex;align-items:center;justify-content:space-between;gap:15px}.userrow small{display:block;color:#8a9a8c;font-size:11px;margin-top:7px}.useractions{display:flex;align-items:center;gap:12px}.panel form>small{font-size:10px;line-height:1.6;color:#8b9c8b}.modal{border:0;color:#234333}.modal::backdrop{background:#182d2570;backdrop-filter:blur(4px)}.modal .primary{width:100%;margin-top:20px}.mobilelogout{display:none;background:#edf3eb;border-radius:6px;padding:7px;color:#51724f;font-size:10px}header .profile{max-width:65%}@media(max-width:780px){.loginwrap{display:block}.loginart{display:none}.login{padding:35px 25px}.login .brand{margin-bottom:50px}.userrow{align-items:start;flex-direction:column}.useractions{width:100%;justify-content:space-between}.mobilelogout{display:block}.profile>div{max-width:140px;overflow-wrap:anywhere}header .profile{max-width:70%}.modal{max-width:calc(100% - 32px)}}
.userrow{align-items:flex-start;flex-direction:column}.useractions{flex-wrap:wrap}.settingspanel{max-width:650px}.settingspanel li{margin:14px 0;line-height:1.6;color:#6f8472}.settingspanel form{max-width:420px}.slotinfo small{line-height:1.6;overflow-wrap:anywhere}.slotinfo .textbutton{padding:5px 0}.days{min-width:0}.stats strong small{line-height:1.5}.modal{max-height:90vh;overflow:auto}nav{overflow:auto}header .profile>div{overflow-wrap:anywhere}.slot{flex-wrap:wrap}.slotinfo{min-width:110px}
.scopebar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e7f0e8;border:1px solid #d6e4d8;padding:15px 20px;border-radius:10px;margin:-8px 0 24px}.scopebar strong{font-size:12px}.scopebar small{display:block;font-size:10px;color:#6f8773;margin-top:5px}.scopebar label{margin:0;min-width:230px}.scopebar select{background:white}.reportcontrols{gap:16px;flex-wrap:wrap}.reportcontrols label{margin:0 0 0 auto;max-width:180px}.reportbody{padding:0 25px 30px}.reporttitle{font-size:23px;margin-top:20px}.reportmeta{font-size:12px;line-height:1.9;color:#526b58}.reporttotals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.reporttotals>div{padding:16px;border:1px solid #dfe7de;border-radius:8px;background:#f6f9f3}.reporttotals span{display:block;color:#7e907e;font-size:10px}.reporttotals strong{display:block;font-size:25px;margin-top:10px}.reportnote{font-size:11px;color:#7b8d7b;line-height:1.7}.report h3{font-size:15px;margin:28px 0 13px}.tablewrap{overflow-x:auto}.reporttable{width:100%;border-collapse:collapse;font-size:11px}.reporttable th{text-align:left;background:#edf3e9;color:#56704f;font-size:10px}.reporttable th,.reporttable td{border:1px solid #dfe5dc;padding:10px 9px;vertical-align:top}.reporttable td small{display:block;color:#8d9c86;font-size:9px;margin-top:4px}.signature{font-size:12px;margin-top:40px;line-height:1.8}.reporttable tfoot{font-weight:bold}.reporttable td{overflow-wrap:anywhere}@media(max-width:780px){.scopebar{flex-direction:column;align-items:stretch;padding:16px}.scopebar label{min-width:0}.reportbody{padding:0 15px 20px}.reporttotals{grid-template-columns:1fr 1fr}.reportcontrols label{margin:0;max-width:100%}.reportcontrols{align-items:flex-start}.reporttitle{font-size:19px}.reporttable{min-width:560px}}@media print{@page{size:A4 landscape;margin:12mm}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:white;font-family:Arial,sans-serif;color:#111;font-size:10pt}.shell{display:block}aside,header,.intro,.scopebar,.stats,footer,.reportcontrols,dialog,.notice,.alert{display:none!important}main{margin:0}.content{padding:0;max-width:none}.report{border:0;border-radius:0}.reportbody{padding:0}.reporttitle{font-size:17pt}.reportmeta{font-size:10pt;color:#222}.reporttotals{grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.reporttotals>div{padding:8px}.reporttotals strong{font-size:17pt}.reporttotals span{font-size:8pt}.reportnote{font-size:8pt;color:#333}.report h3{font-size:11pt;margin:18px 0 8px;break-after:avoid}.tablewrap{overflow:visible}.reporttable{min-width:0;table-layout:fixed;font-size:8pt}.reporttable th,.reporttable td{padding:5px;border-color:#aaa}.reporttable th{font-size:8pt}.reporttable td small{font-size:7pt;color:#555}.detail th:first-child{width:6%}.detail th:nth-child(2){width:16%}.detail th:nth-child(3){width:18%}.detail th:nth-child(4){width:28%}.detail th:nth-child(5){width:10%}.detail th:nth-child(6){width:22%}thead{display:table-header-group}tfoot{display:table-row-group}tr{break-inside:avoid}.signature{font-size:10pt;break-inside:avoid}}
.balances{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.balances>div{padding:12px;background:#f2f6ed;border:1px solid #e0e9da;border-radius:8px}.balances strong{font-size:11px;display:block}.balances small{display:block;font-size:10px;margin-top:5px;line-height:1.6;color:#7a8e72}.slotbuttons{display:flex;flex-direction:column;gap:7px;min-width:135px}.slotbuttons button{font-size:10px;padding:8px}.userrow .balances{min-width:300px}.right .balances{grid-template-columns:1fr}.modal input[type=hidden]{display:none}@media(max-width:780px){.userrow .balances{min-width:0;grid-template-columns:1fr}.slotbuttons{flex-direction:row;flex-wrap:wrap;min-width:0;width:100%}.slotbuttons button{flex:1}.balances{grid-template-columns:1fr}}@media print{.detail th:first-child{width:5%}.detail th:nth-child(2){width:15%}.detail th:nth-child(3){width:17%}.detail th:nth-child(4){width:24%}.detail th:nth-child(5){width:9%}.detail th:nth-child(6){width:12%}.detail th:nth-child(7){width:18%}}
textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #e0e7de;border-radius:8px;font:inherit;background:#fafbf9;resize:vertical}.announcement,.auditrow{padding:20px 0;border-bottom:1px solid #e4eadf}.announcement p{white-space:pre-wrap;color:#516b56;overflow-wrap:anywhere}.announcement>small,.auditrow>small{color:#87967c;font-size:10px;display:block;margin:6px 0}.auditrow>strong{font-size:12px}.auditrow details{margin-top:12px;color:#71836a;font-size:11px}.auditrow pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f7ee;padding:12px;border-radius:6px;font-size:10px}
.brandname{display:block;line-height:1.1;font-size:25px;letter-spacing:-.6px}.brandname small{display:block;font-size:8px;letter-spacing:1.8px;color:#81967d;margin-bottom:4px}.reporttotals{grid-template-columns:repeat(3,1fr)}@media print{.reporttotals{grid-template-columns:repeat(3,1fr)}.detail th:first-child{width:5%}.detail th:nth-child(2){width:17%}.detail th:nth-child(3){width:18%}.detail th:nth-child(4){width:29%}.detail th:nth-child(5){width:13%}.detail th:nth-child(6){width:18%}}
.schedule-types,.report-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.schedule-type{border:1px solid #dce6d9;border-radius:9px;padding:12px;min-width:0}.schedule-type.extra{border-color:#e9dbc7;background:#fffdfa}.typeheading{display:flex;gap:8px;align-items:center;justify-content:space-between}.typeheading h3,.free-times h3{font-size:13px;margin:4px 0}.typeheading span{border-radius:5px;padding:4px 8px;background:#e5efe0;font-size:12px;font-weight:bold}.extra .typeheading span{background:#f4e9d5}.typedslot{display:block;padding:14px 0}.typedslot .slotinfo{margin-top:10px}.typedslot .slotbuttons{margin-top:12px;min-width:0;flex-direction:row;flex-wrap:wrap}.typedslot .slotbuttons button{font-size:9px;flex:1;padding:8px}.typeempty{font-size:10px;line-height:1.6;color:#89967f}.free-times{border-top:1px solid #e3e9df;padding:20px 0}.report-type{min-width:0}.report-type h3{padding:12px;background:#edf3e8;border-radius:5px}.report-type.extra h3{background:#f4ead8}.report-type .reporttable{min-width:0;table-layout:fixed}.report-type .reporttable th,.report-type .reporttable td{font-size:9px;padding:7px 5px}@media(max-width:780px){.calendar>.list:has(.schedule-types){padding:0 10px}.schedule-types{gap:8px}.schedule-type{padding:9px}.typeheading h3{font-size:11px}.typedslot .slotinfo strong{font-size:10px}.report-types{gap:8px}.report-type .reporttable{font-size:9px}.report-type .reporttable th,.report-type .reporttable td{padding:5px 3px}.report-type h3{font-size:12px!important}}@media print{.report-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8mm}.report-type .reporttable{font-size:8pt}.report-type .reporttable th,.report-type .reporttable td{font-size:8pt;padding:4px}.report-type h3{font-size:11pt!important}.report-type .reporttable td small{font-size:7pt}.report-type{min-width:0}}

.schedule-date{display:flex;align-items:center;gap:12px;margin:15px 25px}.schedule-date input{width:auto}.lesson-marks{display:flex;flex-wrap:wrap;gap:6px;width:100%}.lesson-marks button{flex:1}.lesson-marks .marked{background:#24674e;color:#fff;opacity:1;cursor:default}.danger{color:#a52c31}.primary.danger{background:#a52c31;color:#fff}.cancelledslot{opacity:.75;border-left:3px solid #c99191;padding-left:8px}.cancelledslot .slotinfo{margin-top:8px}

.student-summary th:first-child{width:55%}.student-summary th:not(:first-child){width:15%}.all-students .userrow{gap:20px}.all-students label{max-width:650px}@media print{.report-type .reporttable th:first-child{width:25%}.report-type .reporttable th:nth-child(2){width:50%}.report-type .reporttable th:nth-child(3){width:25%}.reporttable td,.reporttable th{overflow-wrap:anywhere}}

.theory-link{display:inline-block;text-align:center}.theory p{line-height:1.7}
