/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}}:root{--ink:#17221d;--muted:#6c7771;--line:#e4e9e6;--green:#176b4a;--orange:#ec8b43}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#f5f7f5;margin:0;font-family:Tahoma,Noto Sans Thai,Arial,sans-serif}button,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:245px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#173f32;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:1fr;gap:8px 12px;height:100vh;padding:25px 22px;display:grid;position:sticky;top:0}.sidebar-logo{object-fit:contain;background:#fff;border-radius:14px;width:100%;height:68px;padding:9px}.brand-mark{color:#173f32;background:#f0a057;border-radius:13px;place-items:center;width:42px;height:42px;font-size:21px;font-weight:900;display:grid}.brand-copy{flex-direction:column;align-self:center;display:flex}.brand-copy strong{font-size:18px}.brand-copy span{color:#b9cec5;margin-top:2px;font-size:11px}nav{flex-direction:column;grid-column:1/-1;gap:7px;margin-top:35px;display:flex}.nav-item{color:#c4d5ce;border-radius:11px;justify-content:space-between;align-items:center;padding:12px 13px;font-size:14px;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#285a49}.nav-item.active{box-shadow:inset 3px 0 #f0a057}.nav-item b{color:#173f32;background:#f0a057;border-radius:20px;place-items:center;min-width:23px;height:23px;font-size:11px;display:grid}.sidebar-note{background:#ffffff0d;border:1px solid #ffffff26;border-radius:14px;flex-direction:column;grid-column:1/-1;gap:5px;padding:15px;display:flex}.sidebar-note span,.sidebar-note small{color:#b9cec5;font-size:11px}.sidebar-note strong{font-size:14px}.sidebar-note small:before{content:"";background:#f0a057;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.main-content{width:100%;min-width:0;max-width:1600px;margin:auto;padding:38px 44px 50px}.topbar{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:1.6px;margin:0 0 7px;font-size:10px;font-weight:800}h1{letter-spacing:-.8px;margin:0;font-size:30px}.topbar p:last-child{color:var(--muted);margin:8px 0 0;font-size:13px}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.month-select{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;display:flex}select,input,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:10px 32px 10px 12px}.primary-button,.secondary-button,.export-button,.student-button,.bulk-button,.account-button,.manage-button,.copy-month-button,.changes-button{border:0;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:700}.primary-button{color:#fff;background:#e30613;box-shadow:0 7px 18px #e306132e}.primary-button:disabled{opacity:.55;cursor:wait}.export-button{border:1px solid var(--line);color:var(--green);background:#fff}.student-button{color:var(--green);background:#e5f2eb;border:1px solid #c7dfd3}.bulk-button{background:var(--green);color:#fff;border:1px solid var(--green)}.account-button{color:#fff;background:#334df4;border:1px solid #334df4}.manage-button{color:#9a5d20;background:#fff0dc;border:1px solid #f0d7b6}.copy-month-button{color:#fff;background:#173f32;border:1px solid #173f32}.copy-month-button:disabled{opacity:.5;cursor:not-allowed}.changes-button{color:#9a5d20;background:#fff7e9;border:1px solid #efd6ad}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:17px;flex-direction:column;justify-content:space-between;min-height:135px;padding:20px;display:flex;box-shadow:0 5px 22px #26372f09}.stat-card.revenue{background:#f2eee2;border-color:#eae2ce}.dark-card{color:#fff;background:#1b493a;border-color:#1b493a}.stat-top{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.dark-card .stat-top{color:#bad0c7}.stat-top i{color:#665746;background:#ffffffa6;border-radius:20px;padding:4px 7px;font-size:10px;font-style:normal}.stat-top i.green{color:#16724d;background:#e5f5ec}.stat-top i.amber{color:#9a5d20;background:#fff0dc}.stat-card strong{letter-spacing:-.5px;font-size:25px}.stat-card small{color:var(--muted);font-size:11px}.dark-card small{color:#bad0c7}.progress{background:#e8ecea;border-radius:9px;height:6px;overflow:hidden}.progress span{background:#2d9368;border-radius:9px;height:100%;display:block}.content-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;margin-top:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px;box-shadow:0 5px 22px #26372f09}.panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0;font-size:17px}.segmented{background:#f0f3f1;border-radius:9px;padding:3px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:11px}.segmented .selected{color:var(--ink);background:#fff;box-shadow:0 1px 5px #00000014}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th{color:#87918c;text-align:left;border-bottom:1px solid var(--line);padding:10px;font-size:10px;font-weight:700}td{white-space:nowrap;border-bottom:1px solid #eef1ef;padding:12px 10px;font-size:12px}.student-cell{align-items:center;gap:10px;display:flex}.student-cell>span{color:#295846;background:#e4efe9;border-radius:9px;place-items:center;width:31px;height:31px;font-weight:800;display:grid}.student-cell div{flex-direction:column;gap:3px;display:flex}.student-cell small{color:var(--muted);font-size:10px}.due{color:#c45c42;font-weight:700}.status{border-radius:20px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex}.status:before{content:"";border-radius:50%;width:6px;height:6px}.status.paid{color:#176b4a;background:#e6f3ec}.status.paid:before{background:#2a9a6b}.status.partial{color:#93621d;background:#fff1d8}.status.partial:before{background:#e5a241}.status.unpaid{color:#b04e3c;background:#fdebe6}.status.unpaid:before{background:#d26751}.text-button{color:var(--green);background:0 0;border:0;margin-top:15px;padding:0;font-size:11px;font-weight:700}.student-cell.grouped{align-items:flex-start;min-width:300px}.student-cell.grouped>span{flex:none;margin-top:2px}.student-cell .subject-list{gap:5px;margin-top:6px}.subject-list>span{background:#f4f7f5;border-radius:7px;align-items:center;gap:7px;width:max-content;max-width:100%;padding:5px 8px;display:flex}.subject-list>span>b{color:var(--green);font-size:10px}.subject-list>span>small{text-overflow:ellipsis;overflow:hidden}.payment-course-note{color:var(--muted);background:#f4f7f5;border-radius:8px;margin:-6px 0 0;padding:8px 10px;font-size:10px}.filter-result-count{color:var(--green);white-space:nowrap;background:#e5f2eb;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:800}.student-filters{background:#f4f7f5;border:1px solid #e5ebe7;border-radius:12px;grid-template-columns:repeat(3,minmax(125px,1fr)) auto;align-items:end;gap:10px;margin:-3px 0 17px;padding:12px;display:grid}.student-filters label{color:var(--muted);flex-direction:column;gap:5px;font-size:10px;display:flex}.student-filters select{background:#fff;width:100%;padding-block:9px;font-size:11px}.clear-filter{color:var(--green);white-space:nowrap;background:#fff;border:1px solid #d8e0dc;border-radius:9px;padding:10px 12px;font-size:10px;font-weight:800}.clear-filter:disabled{opacity:.4;cursor:not-allowed}@media (max-width:760px){.student-filters{grid-template-columns:1fr 1fr}.clear-filter{align-self:end;height:38px}}@media (max-width:500px){.student-filters{grid-template-columns:1fr}.clear-filter{width:100%}}.compact{margin-bottom:4px}.ready-dot{color:#176b4a;background:#e5f5ec;border-radius:20px;padding:5px 8px;font-size:10px}.donut{background:conic-gradient(var(--orange) 0 43.8%,#e9eeeb 43.8% 100%);border-radius:50%;place-items:center;width:142px;height:142px;margin:18px auto 20px;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;width:100px;height:100px;position:absolute}.donut div{z-index:1;text-align:center;flex-direction:column;display:flex}.donut strong{font-size:23px}.donut span{color:var(--muted);font-size:10px}.tutor-summary{border-top:1px solid var(--line);flex-direction:column;gap:11px;padding-top:15px;display:flex}.tutor-summary div{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.tutor-summary strong{color:var(--ink);font-size:12px}.tutor-summary strong.due{color:#c45c42}.secondary-button{color:#194b39;background:#e5efe9;width:100%;margin-top:19px}.row-action{color:var(--green);background:#eef5f1;border:1px solid #cdded5;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800}.empty-state{text-align:center;color:var(--muted);padding:32px}.alert,.notice{border-radius:11px;justify-content:space-between;gap:14px;margin-top:18px;padding:11px 14px;font-size:12px;display:flex}.alert{color:#9a4636;background:#fff1ed;border:1px solid #efc3b6}.notice{color:#176b4a;background:#eaf6ef;border:1px solid #b9dbc9}.alert button,.notice button{color:inherit;background:0 0;border:0;font-weight:800}.loading-bar{background:linear-gradient(90deg,transparent,var(--orange),transparent);background-size:200% 100%;border-radius:5px;height:3px;margin-top:15px;animation:1.2s linear infinite loading}@keyframes loading{to{background-position:-200% 0}}.tutor-list{border-top:1px solid var(--line);flex-direction:column;margin-top:8px;display:flex}.tutor-list>div{border-bottom:1px solid #eef1ef;justify-content:space-between;align-items:center;padding:9px 0;display:flex}.tutor-list span{flex-direction:column;gap:3px;display:flex}.tutor-list b{font-size:11px}.tutor-list small{color:var(--muted);font-size:9px}.tutor-list strong{font-size:11px}.tutor-summary{margin-top:14px}.checks-panel{justify-content:space-between;align-items:center;gap:30px;margin-top:18px;display:flex}.checks-panel h2{margin:0 0 5px;font-size:17px}.checks-panel p:last-child{color:var(--muted);margin:0;font-size:11px}.check-actions{align-items:center;gap:12px;display:flex}.check-result{border-radius:13px;align-items:center;gap:12px;min-width:300px;padding:13px 15px;display:flex}.check-result.pass{color:#176b4a;background:#e7f3ec}.check-result.fail{color:#a84938;background:#fdebe6}.check-result>span{background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.check-result div{flex-direction:column;gap:3px;display:flex}.check-result strong{font-size:12px}.check-result small{opacity:.8;font-size:10px}.publish-button{color:#fff;background:#e30613;border:0;border-radius:11px;padding:13px 15px;font-size:11px;font-weight:800}.publish-button:disabled{color:#77817c;cursor:not-allowed;background:#d9dfdc}.issue-count{color:#fff;background:#e30613;border-radius:20px;margin-left:6px;padding:2px 6px;font-size:8px;font-style:normal}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12231d94;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.payment-modal{background:#fff;border-radius:19px;width:min(480px,100%);max-height:calc(100vh - 36px);padding:24px;overflow:auto;box-shadow:0 25px 80px #00000040}.student-modal{width:min(620px,100%)}.bulk-modal{width:min(1400px,100%)}.modal-heading{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.modal-heading h2{margin:0;font-size:21px}.modal-heading small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.modal-heading>button{width:31px;height:31px;color:var(--muted);background:#eef1ef;border:0;border-radius:50%;font-size:20px}.payment-modal form,.payment-modal label{flex-direction:column;display:flex}.payment-modal form{gap:14px}.payment-modal label{color:var(--muted);gap:6px;font-size:11px}.payment-modal input,.payment-modal select{width:100%;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bulk-due-date{max-width:220px}.bulk-table{border:1px solid var(--line);background:#fafbfa;border-radius:12px;overflow-x:auto}.bulk-head,.bulk-row{grid-template-columns:1.15fr .8fr .8fr 1fr .68fr .52fr 1fr 32px;align-items:start;gap:8px;min-width:1250px;padding:9px 11px;display:grid}.bulk-head{color:var(--muted);border-bottom:1px solid var(--line);background:#f0f4f2;font-size:10px;font-weight:800}.bulk-row+.bulk-row{border-top:1px solid #edf0ee}.bulk-row input,.bulk-row select{min-width:0;padding:9px 10px}.bulk-choice{flex-direction:column;gap:6px;min-width:0;display:flex}.remove-row{color:#a24b39;background:#f6e9e5;border:0;border-radius:8px;width:29px;height:29px;font-size:18px}.remove-row:disabled{opacity:.35;cursor:not-allowed}.add-row-button{color:var(--green);background:#f1f8f4;border:1px dashed #9fc5b3;border-radius:9px;align-self:flex-start;padding:8px 13px;font-size:11px;font-weight:800}.form-note{color:var(--muted);background:#f4f7f5;border-radius:9px;margin:0;padding:9px 11px;font-size:10px;line-height:1.55}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.cancel-button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;padding:10px 16px;font-weight:700}.account-loading,.account-denied{text-align:center;background:#f5f7f5;place-content:center;justify-items:center;gap:15px;min-height:100vh;padding:24px;display:grid}.account-loading img,.account-denied img{background:#fff;border-radius:18px;width:min(360px,80vw);padding:14px}.account-loading .loading-bar{width:260px}.account-denied h1{margin:8px 0 0}.account-denied p{color:var(--muted);max-width:480px}.account-denied a,.signout-link{color:#e30613;font-weight:800;text-decoration:none}.account-help{color:#314364;background:#f0f5ff;border-radius:10px;padding:11px 13px;font-size:11px}.account-list{flex-direction:column;gap:8px;margin-top:14px;display:flex}.account-list article{border:1px solid var(--line);border-radius:12px;grid-template-columns:1.15fr 2fr .55fr .55fr auto;align-items:end;gap:10px;padding:11px;display:grid}.account-list label{font-size:10px!important}.account-person{flex-direction:column;gap:3px;display:flex}.account-person strong{font-size:12px}.account-person span{color:var(--muted);font-size:9px}.account-person i{color:#e30613;font-size:9px;font-style:normal}.row-save{color:#fff;background:#176b4a;border:0;border-radius:9px;padding:10px 12px;font-size:10px;font-weight:800}.changes-modal{width:min(960px,100%)}.change-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}.change-summary article{border-radius:13px;grid-template-columns:1fr auto;align-items:end;padding:14px 16px;display:grid}.change-summary article span{grid-column:1/-1;font-size:10px;font-weight:800}.change-summary article strong{font-size:25px}.change-summary article small{margin-bottom:4px;font-size:10px}.change-summary .added{color:#176b4a;background:#e8f5ee}.change-summary .removed{color:#a84938;background:#fff0ed}.change-summary .changed{color:#94601d;background:#fff4df}.change-sections{gap:15px;display:grid}.change-sections>section{border:1px solid var(--line);border-radius:14px;padding:14px}.change-sections h3{align-items:center;gap:7px;margin:0 0 10px;font-size:13px;display:flex}.change-sections h3 i{border-radius:50%;place-items:center;width:22px;height:22px;font-style:normal;display:grid}.change-sections h3 i.added{color:#176b4a;background:#e8f5ee}.change-sections h3 i.removed{color:#a84938;background:#fff0ed}.change-sections h3 i.changed{color:#94601d;background:#fff4df}.change-student{border-top:1px solid #edf0ee;padding:11px 0}.change-student:first-of-type{border-top:0}.change-student>header{align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.change-student>header strong{font-size:12px}.change-student>header small{color:var(--muted);font-size:9px}.change-course-list{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.change-course-list>span{background:#f4f7f5;border-radius:8px;flex-wrap:wrap;gap:6px;padding:6px 8px;display:flex}.change-course-list b{color:var(--green);font-size:10px}.change-course-list small{color:var(--muted);font-size:9px}.change-before-after{grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;display:grid}.change-before-after>div{min-width:0}.change-before-after>div>b{color:var(--muted);margin-bottom:6px;font-size:9px;display:block}.change-before-after>span{color:#9aa39e;margin-top:24px}.changes-modal>.form-note{margin-top:16px}.teacher-shell{background:#f5f7f5;grid-template-columns:250px 1fr;min-height:100vh;display:grid}.teacher-sidebar{color:#fff;background:#173f32;flex-direction:column;gap:22px;height:100vh;padding:26px 22px;display:flex;position:sticky;top:0}.brand-logo-wide{object-fit:contain;background:#fff;border-radius:14px;width:100%;height:74px;padding:9px}.teacher-account{border:1px solid #ffffff26;border-radius:12px;flex-direction:column;gap:5px;padding:14px;display:flex}.teacher-account span,.teacher-account small{color:#bad0c7;font-size:10px}.teacher-account strong{font-size:17px}.teacher-sidebar nav{margin:0}.signout-link{color:#ffd3d6;margin-top:auto;font-size:12px}.teacher-content{min-width:0;padding:38px 44px 60px}.teacher-header{justify-content:space-between;align-items:flex-end;gap:25px;display:flex}.teacher-header h1{margin:0}.teacher-header p:last-child{color:var(--muted);font-size:12px}.teacher-branch-bar{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;margin-top:24px;padding:14px 17px;display:flex}.teacher-branch-bar>span{color:var(--muted);font-size:10px}.teacher-branch-bar strong{font-size:13px}.teacher-branch-bar i{border-radius:20px;margin-left:auto;padding:6px 9px;font-size:9px;font-style:normal;font-weight:800}.teacher-branch-bar i.published{color:#176b4a;background:#e5f5ec}.teacher-branch-bar i.waiting{color:#9a5d20;background:#fff0dc}.waiting-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;margin-top:20px;padding:55px 30px}.waiting-card div{font-size:38px}.waiting-card h2{margin:15px 0 8px}.waiting-card p{color:var(--muted);max-width:580px;margin:auto;font-size:12px;line-height:1.7}.teacher-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;display:grid}.teacher-stats article{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;gap:7px;padding:18px;display:flex}.teacher-stats span{color:var(--muted);font-size:11px}.teacher-stats strong{font-size:24px}.teacher-stats small{color:var(--muted);font-size:9px}.teacher-stats .income-card{color:#fff;background:#e30613;border-color:#e30613}.teacher-stats .income-card span,.teacher-stats .income-card small{color:#ffe1e3}.teacher-table-panel{margin-top:18px}.issue-button{color:#e30613;background:#fff0f1;border:0;border-radius:10px;padding:10px 12px;font-size:10px;font-weight:800}.table-sub{color:var(--muted);margin-top:3px;font-size:9px;display:block}.teacher-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:10px;padding-top:15px;display:flex}.teacher-total span{color:var(--muted);font-size:11px}.teacher-total strong{font-size:16px}.issue-history{margin-top:18px}.issue-history h2{margin:0}.issue-history>div:last-child{gap:8px;margin-top:14px;display:grid}.issue-history article{border:1px solid var(--line);border-radius:11px;grid-template-columns:auto 1fr;gap:5px 10px;padding:12px;display:grid}.issue-history article p{color:var(--muted);grid-column:2;margin:0;font-size:11px}.issue-status{color:#9a5d20;background:#fff0dc;border-radius:20px;grid-row:1/3;align-self:start;padding:5px 8px;font-size:8px}.empty-copy{color:var(--muted);font-size:11px}.payment-modal textarea{resize:vertical;width:100%;min-height:110px;font:inherit}@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.tutor-panel{grid-template-columns:1fr 160px 1fr;align-items:center;gap:20px;display:grid}.tutor-panel .panel-heading,.donut{margin:0}.tutor-list{border-top:0;margin:0}.tutor-summary{grid-column:1/-1}.secondary-button{grid-column:1/-1;margin:0}.teacher-stats{grid-template-columns:repeat(2,1fr)}.account-list article{grid-template-columns:1fr 1.6fr .6fr .6fr auto}}@media (max-width:760px){.app-shell{display:block}.sidebar{grid-template-columns:1fr;height:auto;padding:18px;position:static}.sidebar-logo{max-width:240px}.sidebar nav{grid-template-columns:repeat(2,1fr);margin:16px -4px 0;display:grid}.sidebar-note{display:none}.main-content{padding:24px 16px}.topbar{flex-direction:column;align-items:flex-start}.top-actions{flex-wrap:wrap;width:100%}.month-select{flex:1}.month-select select{width:100%}.stats-grid{grid-template-columns:1fr 1fr}.content-grid{display:block}.tutor-panel{margin-top:18px;display:block}.donut{margin:18px auto}.panel{padding:17px}.payment-panel .panel-heading{flex-direction:column;align-items:flex-start}.segmented{align-self:stretch}.segmented button{flex:1}.checks-panel,.check-actions{flex-direction:column;align-items:flex-start}.check-result{width:100%;min-width:0}.teacher-shell{display:block}.teacher-sidebar{height:auto;position:static}.teacher-sidebar nav{grid-template-columns:repeat(2,1fr);display:grid}.teacher-content{padding:24px 16px}.teacher-header{flex-direction:column;align-items:flex-start}.teacher-header .month-select{width:100%}.teacher-branch-bar{flex-wrap:wrap;align-items:flex-start}.teacher-branch-bar i{margin-left:0}.account-list article{grid-template-columns:1fr 1fr}.account-person{grid-column:1/-1}.row-save{align-self:end}}@media (max-width:500px){.stats-grid,.teacher-stats{grid-template-columns:1fr}.top-actions{flex-direction:column;align-items:stretch}.primary-button,.export-button,.student-button,.bulk-button,.account-button,.manage-button,.copy-month-button,.changes-button{width:100%}.sidebar nav{grid-template-columns:1fr 1fr}.nav-item{padding:10px;font-size:12px}h1{font-size:25px}.form-grid{grid-template-columns:1fr}.payment-modal{padding:19px}.bulk-due-date{max-width:none}.teacher-sidebar nav{grid-template-columns:1fr}.teacher-total{flex-direction:column;align-items:flex-start;gap:8px}.account-list article{grid-template-columns:1fr 1fr}.row-save{grid-column:1/-1}.change-summary,.change-before-after{grid-template-columns:1fr}.change-before-after>span{text-align:center;margin:0;transform:rotate(90deg)}}.login-shell{background:radial-gradient(circle at top,#e9f4ee 0,#f5f7f5 48%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:24px;width:min(430px,100%);padding:32px;box-shadow:0 22px 70px #183f321f}.login-card img{object-fit:contain;width:100%;height:92px;margin-bottom:20px}.login-card h1{font-size:26px}.login-card>p:not(.eyebrow){color:var(--muted);font-size:12px}.login-card form{text-align:left;flex-direction:column;gap:14px;margin-top:22px;display:flex}.login-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;display:flex}.login-card input{width:100%;font-size:14px}.login-card form button{width:100%;margin-top:4px;font-size:14px}.login-card>small{color:var(--muted);margin-top:17px;line-height:1.6;display:block}.login-error{color:#9a4636;background:#fff0ed;border-radius:10px;margin-top:14px;padding:10px;font-size:11px}.password-card{width:min(470px,100%)}.password-input{grid-template-columns:1fr auto;align-items:stretch;display:grid}.password-input input{grid-area:1/1/auto/-1;padding-right:74px}.password-input button{color:var(--green);background:0 0;border:0;grid-area:1/2;padding:0 16px;font-weight:800;width:auto!important;margin:0!important;font-size:11px!important}.account-modal{width:min(1180px,100%)}.account-list article{grid-template-columns:1.1fr 1fr 1.45fr .48fr .48fr .8fr auto}.password-field{grid-template-columns:1fr auto;gap:5px;display:grid}.password-field button{border:1px solid var(--line);color:var(--green);background:#f3f6f4;border-radius:8px;padding:0 9px;font-size:9px;font-weight:800}.active-switch{white-space:nowrap;padding-bottom:10px;flex-direction:row!important;align-items:center!important;display:flex!important}.active-switch input{width:auto!important}.signout-link{text-align:left;background:0 0;border:0;padding:0}.sidebar>.signout-link{color:#ffd3d6;text-align:center;background:#e306131f;border:1px solid #ffd3d647;border-radius:10px;width:100%;margin-top:4px;padding:10px 12px}@media (max-width:1100px){.account-list article{grid-template-columns:1fr 1fr 1.4fr .5fr .5fr}.active-switch,.row-save{align-self:end}}@media (max-width:760px){.account-list article{grid-template-columns:1fr 1fr}.account-person{grid-column:1/-1}}@media (max-width:500px){.login-card{padding:24px}.account-list article{grid-template-columns:1fr}.account-list article>*{grid-column:1}.active-switch{padding:4px 0}}.row-actions{gap:6px;display:flex}.row-action.manage{color:#9a5d20;background:#fff5e8;border-color:#edd5b5}.student-manager-modal{width:min(760px,100%)}.student-manager-modal>label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;display:flex}.student-manager-modal select{width:100%}.student-profile-box{border:1px solid var(--line);background:#f5f8f6;border-radius:13px;margin-top:14px;padding:14px}.student-profile-actions{gap:8px;margin-top:11px;display:flex}.stop-study,.resume-study{border:0;border-radius:9px;padding:10px 13px;font-size:10px;font-weight:800}.stop-study{color:#a84938;background:#fdebe6}.resume-study{color:#176b4a;background:#e5f5ec}.course-manager{margin-top:18px}.course-manager h3,.add-course-form h3{margin:0 0 10px;font-size:13px}.course-manager article{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-top:7px;padding:11px 13px;display:flex}.course-manager article div{flex-direction:column;gap:4px;display:flex}.course-manager article strong{font-size:12px}.course-manager article small{color:var(--muted);font-size:10px}.course-manager article button{color:#a84938;background:#fff0ed;border:0;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800}.course-manager article button:disabled{color:#929b96;cursor:not-allowed;background:#eef1ef}.add-course-form{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.add-course-form>.primary-button{align-self:flex-start}.student-manager-modal>.form-note{margin-top:14px}@media (max-width:500px){.manage-button{width:100%}.student-profile-actions{flex-direction:column;align-items:stretch}.course-manager article{align-items:flex-start}.row-actions{flex-direction:column}}.tutor-detail-link{color:var(--ink);text-align:left;background:0 0;border:0;padding:0;font-size:11px;font-weight:800}.tutor-detail-link:hover{color:var(--green);text-decoration:underline}.tutor-detail-modal{width:min(1100px,100%)}.tutor-detail-loading{text-align:center;color:var(--muted);padding:45px;font-size:11px}.tutor-detail-loading .loading-bar{margin-bottom:14px}.tutor-student-section,.weekend-schedule-section{border:1px solid var(--line);border-radius:14px;padding:16px}.weekend-schedule-section{margin-top:15px}.detail-section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.detail-section-heading h3{margin:0;font-size:14px}.detail-section-heading p{color:var(--muted);margin:4px 0 0;font-size:10px}.detail-section-heading>strong{color:var(--green);white-space:nowrap;background:#e5f2eb;border-radius:20px;padding:7px 10px;font-size:10px}.tutor-student-table{min-width:680px}.tutor-student-table td strong,.tutor-student-table td small{display:block}.tutor-student-table td small{color:var(--muted);margin-top:3px;font-size:9px}.weekend-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.weekend-head,.weekend-row{grid-template-columns:.65fr 1fr .75fr 2fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.weekend-head{color:var(--muted);background:#f0f4f2;font-size:9px;font-weight:800}.weekend-row{background:#fff;border-top:1px solid #edf0ee}.weekend-row.on-leave{background:#fff8f5}.weekend-row>strong{font-size:10px}.session-date{flex-direction:column;gap:3px;display:flex}.session-date b{font-size:11px}.session-date small{color:var(--muted);font-size:9px}.leave-check{align-items:center;color:var(--ink)!important;flex-direction:row!important;gap:7px!important;font-size:11px!important;display:flex!important}.leave-check input{width:auto!important}.leave-check span{font-weight:800}.on-leave .leave-check span{color:#b04e3c}.substitute-fields{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr);gap:7px;display:grid}.substitute-fields select,.substitute-fields input{width:100%;padding:8px 30px 8px 10px;font-size:10px}.substitute-fields select:disabled{color:#9aa39e;background:#f2f4f3}.locked-note{color:#9a5d20;background:#fff0dc;border-radius:9px;margin:11px 0 0;padding:9px 11px;font-size:10px}.tutor-detail-actions{margin-top:16px}.salary-editor-section{background:#fbfdfc;border:1px solid #d6e4dc;border-radius:14px;margin-top:15px;padding:16px}.salary-rate-row{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:18px;display:grid}.salary-rate-row>label{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;display:flex}.salary-rate-row>label>small{font-size:9px}.percent-input{max-width:220px;position:relative}.percent-input input{width:100%;padding-right:38px;font-size:16px;font-weight:800}.percent-input>span{color:var(--green);font-weight:900;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.salary-preview{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.salary-preview span{color:var(--muted);font-size:9px}.salary-preview strong{font-size:15px}.salary-summary-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.salary-summary-grid article{background:#eef3f0;border-radius:11px;flex-direction:column;gap:5px;padding:12px;display:flex}.salary-summary-grid span{color:var(--muted);font-size:9px}.salary-summary-grid strong{font-size:14px}.salary-summary-grid .income{color:#176b4a;background:#e8f5ee}.salary-summary-grid .deduction{color:#a84938;background:#fff0ed}.salary-summary-grid .net{color:#fff;background:#173f32}.salary-summary-grid .net span{color:#c6d8d0}.adjustment-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-top:18px;display:flex}.adjustment-heading h4{margin:0;font-size:12px}.adjustment-heading small{color:var(--muted);font-size:9px}.adjustment-heading>div:last-child{gap:7px;display:flex}.adjustment-heading button{color:#176b4a;background:#edf7f1;border:1px solid #bad8c9;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800}.adjustment-heading .deduction-button{color:#a84938;background:#fff3ef;border-color:#edc9c0}.adjustment-heading button:disabled{opacity:.5}.adjustment-list{gap:7px;margin-top:10px;display:grid}.adjustment-row{grid-template-columns:90px 1fr 150px 30px;align-items:center;gap:7px;display:grid}.adjustment-row>span{color:#176b4a;font-size:9px;font-weight:800}.adjustment-row.deduction>span{color:#a84938}.adjustment-row input{width:100%;padding:8px 10px;font-size:10px}.amount-input{position:relative}.amount-input>span{color:var(--muted);font-size:10px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.amount-input input{padding-left:25px}.adjustment-row>button{color:#a84938;background:#f5e9e6;border:0;border-radius:8px;width:30px;height:30px;font-size:16px}.empty-adjustments{text-align:center;color:var(--muted);background:#f2f5f3;border-radius:9px;margin:0;padding:11px;font-size:9px}.salary-save-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-top:14px;padding-top:13px;display:flex}.salary-save-row small{color:var(--muted);font-size:9px}@media (max-width:760px){.weekend-head{display:none}.weekend-row{grid-template-columns:1fr 1fr}.substitute-fields{grid-column:1/-1}.tutor-detail-modal{padding:18px}.salary-summary-grid{grid-template-columns:1fr 1fr}.adjustment-row{grid-template-columns:85px 1fr}.amount-input{grid-column:2}.adjustment-row>button{grid-area:2/1}.salary-rate-row{grid-template-columns:1fr}.salary-preview{align-items:flex-start}}@media (max-width:500px){.detail-section-heading{align-items:flex-start}.weekend-row{grid-template-columns:1fr}.substitute-fields{grid-column:auto;grid-template-columns:1fr}.leave-check{padding:5px 0}.tutor-detail-actions{flex-direction:column-reverse}.tutor-detail-actions button{width:100%}.salary-summary-grid{grid-template-columns:1fr}.adjustment-heading,.salary-save-row{flex-direction:column;align-items:stretch}.adjustment-heading>div:last-child{grid-template-columns:1fr 1fr;display:grid}.salary-save-row button{width:100%}}
