/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.block{display:block}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}: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}.line-access-nav{background:#06c75514;border:1px solid #06c75547;justify-content:flex-start;gap:10px}.line-access-nav:hover{background:#06c75533;border-color:#06c7558c}.line-menu-icon{color:#fff;background:#06c755;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;font-weight:900;display:grid;box-shadow:0 2px 7px #06c75540}.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,.privacy-toggle{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}.privacy-toggle{color:var(--green);white-space:nowrap;background:#edf4f0;border:1px solid #c8ddd2;align-items:center;gap:8px;display:flex}.privacy-toggle:hover,.privacy-toggle.is-visible{background:#dcece4}.privacy-eye{border:2px solid;border-radius:75% 15%;width:17px;height:12px;display:inline-block;position:relative;transform:rotate(45deg)}.privacy-eye:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;left:4px}.amounts-hidden .stat-card>strong,.amounts-hidden .stat-card .stat-top i.green,.amounts-hidden .dark-card>small,.amounts-hidden .payment-panel tbody td:nth-child(2),.amounts-hidden .payment-panel tbody td:nth-child(3),.amounts-hidden .payment-panel tbody td:nth-child(4),.amounts-hidden .tutor-panel .donut strong,.amounts-hidden .tutor-list>div>strong,.amounts-hidden .tutor-summary strong{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .18s}.amounts-hidden .progress span{opacity:0}.amounts-hidden .tutor-panel .donut{background:#e9eeeb!important}.amounts-visible .stat-card>strong,.amounts-visible .stat-card .stat-top i.green,.amounts-visible .dark-card>small,.amounts-visible .payment-panel tbody td:nth-child(2),.amounts-visible .payment-panel tbody td:nth-child(3),.amounts-visible .payment-panel tbody td:nth-child(4),.amounts-visible .tutor-panel .donut strong,.amounts-visible .tutor-list>div>strong,.amounts-visible .tutor-summary strong{transition:filter .18s}.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}.payment-multi-modal{width:min(620px,100%)}.payment-course-picker{border:1px solid var(--line);border-radius:12px;gap:7px;margin:0;padding:9px;display:grid}.payment-course-picker legend{color:var(--muted);padding:0 6px;font-size:11px}.payment-modal .payment-course-option{color:var(--ink);cursor:pointer;background:#fafbfa;border:1px solid #e5ebe7;border-radius:10px;grid-template-columns:20px minmax(0,1fr) 135px;align-items:center;gap:10px;padding:10px;display:grid}.payment-modal .payment-course-option.selected{background:#eef7f2;border-color:#9fcbb7}.payment-modal .payment-course-option>input{width:17px;height:17px;accent-color:var(--green);margin:0}.payment-course-option>span{flex-direction:column;gap:3px;min-width:0;display:flex}.payment-course-option strong{font-size:12px}.payment-course-option small{color:var(--muted);font-size:9px}.payment-course-amount input{width:100%;padding:8px 9px;font-size:11px}.payment-course-amount input:disabled{color:#929b96;background:#edf0ee}.payment-total-row{color:#fff;background:#173f32;border-radius:11px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.payment-total-row span{color:#cfe0d9;font-size:10px}.payment-total-row strong{font-size:16px}.student-avatar-button{cursor:pointer;background:#e4efe9;border:1px solid #cfe2d8;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;margin-top:2px;transition:transform .15s,background .15s,box-shadow .15s;display:grid}.student-avatar-button:hover{background:#d7e9df;transform:translateY(-1px);box-shadow:0 4px 10px #173f321f}.student-avatar-button:focus-visible{outline-offset:2px;outline:3px solid #23795738}.student-avatar-button>span{width:21px;height:22px;display:block;position:relative}.student-avatar-button>span:before{content:"";background:#237957;border-radius:50%;width:8px;height:8px;position:absolute;top:1px;left:7px}.student-avatar-button>span:after{content:"";background:#237957;border-radius:9px 9px 4px 4px;width:16px;height:10px;position:absolute;bottom:1px;left:3px}.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:minmax(180px,1.3fr) 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,.student-filters input{background:#fff;width:100%;padding-block:9px;font-size:11px}.student-search-filter input{padding-inline:12px}.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 .75fr .72fr .9fr 1.05fr .62fr .5fr .9fr 32px;align-items:start;gap:8px;min-width:1450px;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,.bulk-name-field{flex-direction:column;gap:6px;min-width:0;display:flex}.bulk-name-field small{color:#8a6110;align-items:flex-start;gap:5px;font-size:9px;line-height:1.35;display:flex}.bulk-name-field small b{color:#fff;background:#e4ad24;border-radius:50%;flex:0 0 15px;place-items:center;height:15px;font-size:9px;display:grid}.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}.course-type-help{color:#6d7c73;font-size:10px;line-height:1.4;display:block}.course-type-badge{vertical-align:middle;color:#176b4a;background:#eaf4ef;border-radius:999px;align-items:center;margin-left:5px;padding:2px 7px;font-size:8px;font-style:normal;font-weight:800;line-height:1.35;display:inline-flex}.course-type-badge.private{color:#3e57a7;background:#eef2ff}.course-type-badge.monthly_buffet{color:#0d6f67;background:#e2f7f4}.course-type-badge.package{color:#865f08;background:#fff3d6}.course-type-badge.online_term{color:#6844a7;background:#f1eaff}.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}.teacher-student-directory{margin-top:18px}.teacher-directory-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.teacher-directory-heading h2{margin:0}.teacher-directory-heading p:last-child{color:var(--muted);margin:5px 0 0;font-size:11px}.teacher-directory-heading>span{color:#176b4a;background:#e5f5ec;border-radius:999px;flex:none;padding:7px 11px;font-size:10px;font-weight:800}.teacher-student-filters{border:1px solid var(--line);background:#f3f6f4;border-radius:14px;grid-template-columns:minmax(230px,1.5fr) repeat(2,minmax(145px,1fr)) auto;align-items:end;gap:10px;margin-top:18px;padding:14px;display:grid}.teacher-student-filters label{gap:6px;display:grid}.teacher-student-filters label>span{color:var(--muted);font-size:9px}.teacher-student-filters input,.teacher-student-filters select{border:1px solid var(--line);width:100%;height:42px;font:inherit;color:var(--ink);background:#fff;border-radius:10px;padding:0 12px;font-size:11px}.teacher-student-filters button{color:#176b4a;background:#fff;border:1px solid #bdd5ca;border-radius:10px;height:42px;padding:0 13px;font-size:10px;font-weight:800}.teacher-student-filters button:disabled{opacity:.45;cursor:not-allowed}.teacher-directory-table{margin-top:14px}.teacher-directory-table table{min-width:680px}.teacher-directory-tags{flex-wrap:wrap;gap:5px;display:flex}.teacher-directory-tags span{color:#52645c;white-space:nowrap;background:#eef3f0;border-radius:999px;padding:5px 8px;font-size:9px;display:inline-flex}.teacher-directory-tags.subjects span{color:#176b4a;background:#e8f5ee;font-weight:700}.teacher-directory-empty{text-align:center;min-height:190px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.teacher-directory-empty>span{font-size:34px}.teacher-directory-empty strong{color:var(--ink);margin-top:10px;font-size:13px}.teacher-directory-empty p{margin:5px 0 0;font-size:10px}.teacher-estimate-section{background:linear-gradient(135deg,#fff 0%,#f8fbf9 100%);margin-top:18px}.teacher-estimate-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.teacher-estimate-heading h2{margin:0}.teacher-estimate-heading p:last-child{color:var(--muted);margin:5px 0 0;font-size:11px}.teacher-estimate-heading>div:last-child{align-items:center;gap:8px;display:flex}.teacher-estimate-heading>div:last-child>span{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}.teacher-estimate-heading .draft{color:#9a5d20;background:#fff0dc}.teacher-estimate-heading .confirmed{color:#176b4a;background:#e5f5ec}.teacher-estimate-overview{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.teacher-estimate-overview article{border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;gap:5px;padding:14px;display:flex}.teacher-estimate-overview span{color:var(--muted);font-size:9px}.teacher-estimate-overview strong{font-size:22px}.teacher-estimate-overview small{color:var(--muted);font-size:9px}.teacher-estimate-money{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;display:grid}.teacher-estimate-money article{background:#eef3f0;border-radius:13px;flex-direction:column;gap:6px;padding:15px;display:flex}.teacher-estimate-money span{color:var(--muted);font-size:9px}.teacher-estimate-money strong{font-size:16px}.teacher-estimate-money .extra{color:#176b4a;background:#e8f5ee}.teacher-estimate-money .deduction{color:#a84938;background:#fff0ed}.teacher-estimate-money .net{color:#fff;background:#173f32}.teacher-estimate-money .net span{color:#c6d8d0}.teacher-estimate-note{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding-top:13px;display:flex}.teacher-estimate-note span{color:#176b4a;white-space:nowrap;font-size:10px;font-weight:800}.teacher-estimate-note p{max-width:760px;color:var(--muted);text-align:right;margin:0;font-size:9px;line-height:1.6}.teacher-estimate-section.amounts-hidden .estimated-money{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none}.teacher-estimate-section .estimated-money{transition:filter .18s}@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,.privacy-toggle{justify-content:center;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)}}.payment-inline-error{color:#9a2f27;background:#fff0ee;border:1px solid #efaaa3;border-radius:10px;flex-direction:column;gap:4px;padding:11px 13px;display:flex}.payment-inline-error strong{font-size:12px}.payment-inline-error span{font-size:10px;line-height:1.5}.payment-input-hint{color:#8a5b00;background:#fff7e5;border-radius:9px;margin:0;padding:9px 11px;font-size:10px;line-height:1.45}.payment-late-info{color:#77540b;background:#fff8e7;border:1px solid #e0bc63;border-radius:10px;flex-direction:column;gap:4px;padding:11px 13px;display:flex}.payment-late-info strong{font-size:12px}.payment-late-info span{font-size:10px;line-height:1.5}.receipt-late-banner{color:#77540b;background:#fff8e7;border:1px solid #e0bc63;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 0;padding:10px 13px;display:flex}.receipt-late-banner strong{font-size:11px}.receipt-late-banner span{text-align:right;font-size:9px}@media (max-width:500px){.payment-modal .payment-course-option{grid-template-columns:20px minmax(0,1fr)}.payment-course-amount{grid-column:2}.payment-total-row{flex-direction:column;align-items:flex-start;gap:4px}}.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}.course-form-message,.course-duplicate-warning{border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:11px;line-height:1.55}.course-form-message.error,.course-duplicate-warning.blocked{color:#943f31;background:#fff1ed;border:1px solid #efc3b6}.course-form-message.success{color:#176b4a;background:#eaf7f0;border:1px solid #abd6bf}.course-duplicate-warning.caution{color:#755414;background:#fff8df;border:1px solid #e8cd86}.course-duplicate-warning{grid-template-columns:24px 1fr;align-items:start;gap:8px 10px;display:grid}.course-duplicate-warning .duplicate-mark{color:#fff;background:#e4ad24;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.course-duplicate-warning.blocked .duplicate-mark{background:#c75b49}.course-duplicate-warning strong,.course-duplicate-warning small{display:block}.course-duplicate-warning small{margin-top:2px}.cross-branch-confirm{grid-column:1/-1;align-items:flex-start;gap:8px;font-weight:700;color:inherit!important;display:flex!important}.cross-branch-confirm input{accent-color:#a47508;width:17px;height:17px;margin-top:1px}.add-course-form>.primary-button:disabled{color:#fff;cursor:not-allowed;background:#aab4af}.student-duplicate-warning{border-radius:10px;grid-template-columns:24px 1fr;align-items:start;gap:8px 10px;margin:12px 0;padding:10px 12px;font-size:11px;line-height:1.5;display:grid}.student-duplicate-warning>span{color:#fff;background:#e4ad24;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.student-duplicate-warning strong,.student-duplicate-warning small{display:block}.student-duplicate-warning small{margin-top:2px}.student-duplicate-warning.caution{color:#755414;background:#fff8df;border:1px solid #e8cd86}.student-duplicate-warning.blocked{color:#943f31;background:#fff1ed;border:1px solid #efc3b6}.student-duplicate-warning.blocked>span{background:#c75b49}.student-duplicate-warning>label{color:inherit;grid-column:1/-1;align-items:center;gap:8px;font-weight:800;display:flex}.student-duplicate-warning>label input{accent-color:#a47508;width:17px;height:17px}.row-action.receipt{color:#176b4a;background:#e8f5ee;border-color:#bddbcb}.receipt-modal{width:min(980px,100%)}.receipt-loading{text-align:center;min-height:260px;color:var(--muted);flex-direction:column;justify-content:center;gap:12px;font-size:11px;display:flex}.receipt-workspace{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:16px;display:grid}.receipt-workspace>.receipt-paper:only-child{grid-column:1/-1;width:100%;max-width:720px;margin:auto}.receipt-history{gap:7px;max-height:610px;display:grid;overflow:auto}.receipt-history h3{margin:0 0 4px;font-size:11px}.receipt-history button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#f7f9f8;border-radius:10px;gap:3px;padding:10px;display:grid}.receipt-history button.active{background:#eaf5ef;border-color:#86b99f}.receipt-history button span,.receipt-history button small{color:var(--muted);font-size:8px}.receipt-history button strong{font-size:13px}.receipt-paper{background:#fff;border:1px solid #dce5e0;border-radius:15px;padding:30px;box-shadow:0 12px 35px #173f3212}.receipt-paper>header{border-bottom:3px solid #173f32;justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;display:flex}.receipt-paper>header img{object-fit:contain;width:180px;height:58px}.receipt-paper>header div{text-align:right}.receipt-paper>header p{color:#176b4a;margin:0;font-size:12px;font-weight:900}.receipt-paper>header h3{letter-spacing:2px;margin:3px 0 0;font-size:24px}.receipt-meta{background:#f5f8f6;border-radius:11px;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:20px;padding:14px;display:grid}.receipt-meta div{justify-content:space-between;gap:12px;display:flex}.receipt-meta span,.receipt-student>span,.receipt-note span,.receipt-paper footer span{color:var(--muted);font-size:9px}.receipt-meta strong{text-align:right;font-size:10px}.receipt-student{grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;margin:18px 0;display:grid}.receipt-student>span{grid-row:1/3}.receipt-student strong{font-size:15px}.receipt-student small{color:var(--muted);font-size:9px}.receipt-paper table{border-collapse:collapse;width:100%}.receipt-paper th,.receipt-paper td{text-align:left;border-bottom:1px solid #e5ebe7;padding:11px 8px;font-size:10px}.receipt-paper th{color:#fff;background:#173f32}.receipt-paper th:last-child,.receipt-paper td:last-child{text-align:right}.receipt-paper tfoot td{background:#eef6f1;border:0;font-size:13px;font-weight:900}.receipt-note{background:#fff9ec;border-radius:9px;margin-top:15px;padding:12px}.receipt-note p{margin:4px 0 0;font-size:10px}.receipt-paper footer{border-top:1px solid #dce5e0;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:24px;padding-top:14px;display:flex}.receipt-paper footer div{gap:4px;display:grid}.receipt-paper footer strong{font-size:11px}.receipt-paper footer p{color:var(--muted);margin:0;font-size:8px}.receipt-controls{margin-top:16px}.student-profile-box>h3{margin:0 0 11px;font-size:13px}.student-profile-box input[readonly]{color:#5f6964;cursor:not-allowed;background:#edf1ef}.student-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.student-contact-grid label{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;display:flex}.student-contact-grid input{width:100%}.student-status-editor{background:#fbfdfc;border:1px solid #dce7e1;border-radius:13px;margin-top:14px;padding:14px}.student-status-editor>div:first-child{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.student-status-editor h3{margin:0;font-size:13px}.student-status-editor p{color:var(--muted);margin:0;font-size:10px}.student-status-fields{grid-template-columns:minmax(150px,.7fr) minmax(220px,1.5fr) auto;align-items:end;gap:10px;margin-top:11px;display:grid}.student-status-fields label{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;display:flex}.student-status-fields button{color:#fff;white-space:nowrap;background:#153f30;border:0;border-radius:9px;padding:11px 14px;font-size:10px;font-weight:800}.student-status-fields button:disabled{cursor:not-allowed;background:#aab4af}@media (max-width:500px){.manage-button{width:100%}.student-contact-grid{grid-template-columns:1fr}.student-profile-actions{flex-direction:column;align-items:stretch}.student-status-editor>div:first-child{display:block}.student-status-editor p{margin-top:4px}.student-status-fields{grid-template-columns:1fr}.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%}}.bulk-error{z-index:3;color:#9a4636;background:#fff0ed;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;padding:11px 13px;font-size:11px;display:flex;position:sticky;top:0;box-shadow:0 5px 16px #9a46361f}.bulk-error strong{margin-bottom:3px;display:block}.bulk-error button{color:#9a4636;background:0 0;border:0;font-weight:900}.line-access-modal{width:min(820px,100vw - 32px)}.line-access-list{gap:12px;max-height:60vh;padding:4px;display:grid;overflow:auto}.line-access-row{border:1px solid #e4e7ec;border-radius:16px;grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr);align-items:center;gap:16px;padding:14px;display:grid}.line-access-person{align-items:center;gap:12px;display:flex}.line-access-person>img,.line-access-person>span{object-fit:cover;color:#fff;background:#06c755;border-radius:50%;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.line-access-person div{gap:3px;display:grid}.line-access-person small,.line-access-person b{color:#667085;font-size:12px}.line-access-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.line-access-actions select{flex:1;min-width:0}.reject-line-button{color:#b42318;background:#fff1f0;border:1px solid #fda29b}.line-status{border-radius:999px;padding:7px 11px;font-size:13px;font-weight:700}.line-status.approved{color:#067647;background:#ecfdf3}.line-status.rejected{color:#b42318;background:#fef3f2}.code-generator{background:#f8fafc;border:1px solid #e4e7ec;border-radius:16px;margin-bottom:18px;padding:16px}.code-generator-controls{gap:10px;display:flex}.code-student-filters{grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(130px,.7fr) auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.code-student-filters label{color:#667085;gap:5px;font-size:12px;font-weight:700;display:grid}.code-student-filters input,.code-student-filters select{width:100%}.code-filter-count{color:#667085;margin:0 0 10px;font-size:12px}.code-generator-controls select{flex:1}.generated-code{background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 14px;margin-top:14px;padding:12px;display:grid}.generated-code strong{letter-spacing:2px;color:#067647;font-size:22px}.generated-code small{color:#667085;grid-column:1/-1}.active-code-list{gap:7px;margin-top:14px;display:grid}.active-code-list>span{border-top:1px solid #e4e7ec;justify-content:space-between;gap:12px;padding-top:7px;font-size:12px;display:flex}.active-code-list em{color:#667085;font-style:normal}.line-request-heading{margin:8px 0 12px}.line-request-heading h3{margin:0 0 3px}.line-request-heading small{color:#667085}@media (max-width:700px){.line-access-row{grid-template-columns:1fr}.line-access-actions{flex-wrap:wrap;justify-content:stretch}.line-access-actions select{flex-basis:100%}.code-student-filters{grid-template-columns:1fr}.code-generator-controls{flex-direction:column}}@media (max-width:980px){.teacher-student-filters{grid-template-columns:1fr 1fr}.teacher-student-filters label:first-child{grid-column:1/-1}.teacher-estimate-overview,.teacher-estimate-money{grid-template-columns:1fr 1fr}}@media (max-width:560px){.teacher-directory-heading,.teacher-estimate-heading{align-items:flex-start}.teacher-estimate-heading{flex-direction:column}.teacher-estimate-heading>div:last-child{justify-content:space-between;width:100%}.teacher-estimate-overview,.teacher-estimate-money{grid-template-columns:1fr}.teacher-estimate-note{flex-direction:column;align-items:flex-start}.teacher-estimate-note p{text-align:left}.teacher-student-filters{grid-template-columns:1fr}.teacher-student-filters label:first-child{grid-column:auto}.teacher-student-filters button{width:100%}}.void-receipt-button{color:#a84938;background:#fff0ed;border:1px solid #e8b9ad;border-radius:10px;margin-right:auto;padding:10px 14px;font-size:10px;font-weight:800}.void-receipt-button:disabled{opacity:.55}.receipt-history button.void{color:#8f5a50;background:#f7f1ef}.receipt-history button.void strong{text-decoration:line-through}.receipt-paper.void{position:relative}.receipt-paper.void table,.receipt-paper.void .receipt-meta,.receipt-paper.void .receipt-student{opacity:.68}.monthly-preview-nav{background:#f0a05714;border:1px solid #f0a05759}.monthly-preview-nav:after{content:"ร่าง";color:#173f32;background:#f7c18f;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900}.monthly-preview-backdrop{align-items:flex-start;overflow:auto}.monthly-preview-modal{width:min(1240px,100%);max-height:none;margin:auto;overflow:visible}.monthly-preview-heading small{color:#6d7c73}.monthly-preview-safety{color:#17553e;background:#edf8f2;border:1px solid #b9d9c9;border-radius:13px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.monthly-preview-safety>span{font-size:22px}.monthly-preview-safety strong{font-size:12px}.monthly-preview-safety p{color:#4b6d5d;margin:4px 0 0;font-size:10px;line-height:1.6}.monthly-preview-loading{text-align:center;min-height:260px;color:var(--muted);flex-direction:column;justify-content:center;gap:14px;font-size:11px;display:flex}.monthly-preview-unavailable{text-align:center;background:#f7f9f8;border:1px dashed #cbd8d1;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:25px;display:flex}.monthly-preview-unavailable>span{font-size:33px}.monthly-preview-unavailable strong{margin-top:10px;font-size:15px}.monthly-preview-unavailable p{max-width:540px;color:var(--muted);margin:7px 0 16px;font-size:11px;line-height:1.6}.monthly-preview-unavailable button{color:#176b4a;background:#fff;border:1px solid #a9c9b9;border-radius:9px;padding:8px 13px;font-size:10px;font-weight:800}.monthly-preview-readiness{border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:15px 17px;display:flex}.monthly-preview-readiness.pending{background:#fff6e5;border:1px solid #f0d5a2}.monthly-preview-readiness.ready{background:#e9f7ef;border:1px solid #b8ddc7}.monthly-preview-readiness div{gap:3px;display:grid}.monthly-preview-readiness span{color:var(--muted);font-size:9px}.monthly-preview-readiness strong{font-size:14px}.monthly-preview-readiness em{color:#946218;white-space:nowrap;background:#fff;border-radius:999px;padding:6px 10px;font-size:9px;font-style:normal;font-weight:800}.monthly-preview-readiness.ready em{color:#176b4a}.monthly-preview-stats{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;display:grid}.monthly-preview-stats article{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;gap:5px;padding:14px;display:grid}.monthly-preview-stats article.attention{background:#fffaf0;border-color:#f0d5a2}.monthly-preview-stats span{color:var(--muted);font-size:9px}.monthly-preview-stats strong{font-size:20px}.monthly-preview-stats small{color:var(--muted);font-size:8px}.monthly-preview-issues,.monthly-preview-slots{border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:16px}.monthly-preview-section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.monthly-preview-section-heading h3{margin:0;font-size:14px}.monthly-preview-section-heading p{color:var(--muted);margin:4px 0 0;font-size:9px}.monthly-preview-section-heading>b{color:#9a5d20;background:#fff0dc;border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 7px;font-size:10px;display:grid}.monthly-preview-section-heading label{color:var(--muted);align-items:center;gap:7px;font-size:9px;display:flex}.monthly-preview-section-heading select{padding:8px 30px 8px 10px;font-size:10px}.monthly-preview-issue-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.monthly-preview-issue-list article{background:#fff8eb;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:10px;display:grid}.monthly-preview-issue-list article>span{color:#7f5615;background:#f3d8a7;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900}.monthly-preview-issue-list article.error{background:#fff0ed}.monthly-preview-issue-list article.error>span{color:#a23f30;background:#f1c2ba}.monthly-preview-issue-list article div{gap:3px;min-width:0;display:grid}.monthly-preview-issue-list strong{word-break:break-word;font-size:10px}.monthly-preview-issue-list small{color:var(--muted);word-break:break-word;font-size:8px}.monthly-preview-table{min-width:980px}.monthly-preview-table tr.needs-review{background:#fffcf5}.monthly-preview-table td strong,.monthly-preview-table td small{display:block}.monthly-preview-table td small{color:var(--muted);margin-top:3px;font-size:8px}.monthly-preview-pending-pill,.monthly-preview-ok-pill{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-flex}.monthly-preview-pending-pill{color:#9a5d20;background:#fff0dc}.monthly-preview-ok-pill{color:#176b4a;background:#e8f4ed}.monthly-preview-legacy{background:#f5f8f6;border:1px solid #dce6e0;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;padding:13px;display:grid}.monthly-preview-legacy div{gap:4px;display:grid}.monthly-preview-legacy span{color:var(--muted);font-size:8px}.monthly-preview-legacy strong{font-size:11px}.monthly-preview-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:17px;padding-top:14px;display:flex}.monthly-preview-footer p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.monthly-preview-footer p b{color:var(--ink)}.monthly-preview-footer-actions{flex-shrink:0;align-items:center;gap:9px;display:flex}.amounts-hidden .monthly-preview-money{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none}.monthly-preview-money{transition:filter .18s}.monthly-matching-modal{width:min(1480px,100%)}.monthly-matching-safety{margin-bottom:12px}.monthly-matching-warning{color:#754d0c;background:#fff8e8;border:1px solid #efc777;border-radius:12px;flex-direction:column;gap:4px;margin:0 0 12px;padding:12px 15px;display:flex}.monthly-matching-warning strong{font-size:13px}.monthly-matching-warning span{font-size:12px;line-height:1.5}.monthly-matching-stats{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.monthly-matching-stats button{text-align:left;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fbfcfb;border-radius:12px;gap:5px;padding:12px 13px;display:grid}.monthly-matching-stats button:hover,.monthly-matching-stats button.active{background:#eef8f2;border-color:#76b79b}.monthly-matching-stats button.danger.active{background:#fff1ee;border-color:#e8a395}.monthly-matching-stats span{color:var(--muted);font-size:12px}.monthly-matching-stats strong{font-size:22px}.monthly-matching-toolbar{border:1px solid var(--line);background:#f7faf8;border-radius:13px;grid-template-columns:minmax(250px,1.4fr) minmax(150px,.6fr) minmax(170px,.7fr) auto;align-items:end;gap:10px;margin-bottom:12px;padding:13px;display:grid}.monthly-matching-toolbar label{gap:5px;display:grid}.monthly-matching-toolbar label>span{color:#53675d;font-size:12px;font-weight:800}.monthly-matching-toolbar input,.monthly-matching-toolbar select{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #cbd8d1;border-radius:9px;padding:9px 11px;font-size:14px}.monthly-matching-auto{color:#176b4a;cursor:pointer;background:#e9f7ef;border:1px solid #76b79b;border-radius:9px;min-height:40px;padding:9px 14px;font-size:13px;font-weight:900}.monthly-matching-auto:disabled{opacity:.5;cursor:not-allowed}.monthly-matching-table-wrap{border:1px solid var(--line);border-radius:13px;max-height:58vh;overflow:auto}.monthly-matching-table{min-width:1220px;margin:0}.monthly-matching-table thead{z-index:2;background:#f4f8f5;position:sticky;top:0}.monthly-matching-table tr.matched{background:#f7fcf9}.monthly-matching-table tr.excluded{background:#f7f8f7}.monthly-matching-table tr.conflict{background:#fff0ed}.monthly-matching-table th{white-space:nowrap;font-size:12px}.monthly-matching-table td{vertical-align:top;font-size:13px;line-height:1.45}.monthly-matching-table td:first-child{min-width:190px}.monthly-matching-table td:nth-child(2){min-width:220px}.monthly-matching-table td:nth-child(3){min-width:235px}.monthly-matching-table td:nth-child(4){min-width:390px}.monthly-matching-table td:nth-child(5){min-width:120px}.monthly-matching-table td strong,.monthly-matching-table td small{display:block}.monthly-matching-table td small{color:var(--muted);margin-top:4px;font-size:11px}.monthly-matching-table select{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #baccc2;border-radius:9px;padding:8px 28px 8px 9px;font-size:12px}.monthly-matching-excluded-note{color:#53675d;background:#f4f6f5;border:1px dashed #c7d0cb;border-radius:9px;padding:9px 11px}.matching-badge{border-radius:999px;width:max-content;margin-bottom:5px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-flex}.matching-badge.high,.matching-badge.matched{color:#176b4a;background:#e4f4eb}.matching-badge.ambiguous,.matching-badge.pending{color:#8a5a12;background:#fff0d7}.matching-badge.none{color:#5d6e65;background:#edf1ef}.matching-badge.excluded{color:#4f6258;background:#e8ecea}.matching-badge.conflict{color:#9b3226;background:#f8d8d1}.matching-clear{color:#a64739;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:0;font-size:11px;font-weight:800;text-decoration:underline}.monthly-matching-more{color:#176b4a;cursor:pointer;background:#fff;border:1px solid #b9cbc1;border-radius:9px;margin:12px auto 0;padding:9px 15px;font-size:12px;font-weight:800;display:block}.monthly-matching-footer{z-index:3;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border-radius:0 0 18px 18px;justify-content:space-between;align-items:center;gap:18px;margin:15px -24px -24px;padding:14px 24px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #18392b12}.monthly-matching-footer>div:first-child{gap:4px;display:grid}.monthly-matching-footer>div:first-child strong{font-size:13px}.monthly-matching-footer>div:first-child span{color:var(--muted);font-size:12px}.monthly-matching-footer>div:last-child{flex-shrink:0;gap:9px;display:flex}@media (max-width:900px){.monthly-preview-stats,.monthly-preview-legacy{grid-template-columns:repeat(2,1fr)}.monthly-preview-issue-list{grid-template-columns:1fr}}@media (max-width:1100px){.monthly-matching-stats{grid-template-columns:repeat(3,1fr)}.monthly-matching-toolbar{grid-template-columns:1fr 1fr}.monthly-matching-search{grid-column:1/-1}}@media (max-width:720px){.monthly-matching-stats{grid-template-columns:repeat(2,1fr)}.monthly-matching-toolbar{grid-template-columns:1fr}.monthly-matching-search{grid-column:auto}.monthly-matching-table-wrap{border:0;max-height:none;overflow:visible}.monthly-matching-table{min-width:0;display:block}.monthly-matching-table thead{display:none}.monthly-matching-table tbody{gap:10px;display:grid}.monthly-matching-table tr{border:1px solid var(--line);border-radius:12px;padding:6px 12px;display:block}.monthly-matching-table td{border-bottom:1px solid #edf1ef;grid-template-columns:92px minmax(0,1fr);padding:10px 0;display:grid;min-width:0!important}.monthly-matching-table td:last-child{border-bottom:0}.monthly-matching-table td:before{content:attr(data-label);color:var(--muted);grid-row:1/span 8;font-size:11px;font-weight:800}.monthly-matching-table td>*{grid-column:2}.monthly-matching-table td.empty-state{display:block}.monthly-matching-table td.empty-state:before{content:none}.monthly-matching-footer{flex-direction:column;align-items:stretch;margin:15px -18px -18px;padding:14px 18px;position:static}.monthly-matching-footer>div:last-child{grid-template-columns:1fr 1fr;display:grid}.monthly-matching-footer button{width:100%}}@media (max-width:560px){.monthly-preview-stats,.monthly-preview-legacy{grid-template-columns:1fr}.monthly-preview-readiness,.monthly-preview-section-heading,.monthly-preview-footer{flex-direction:column;align-items:flex-start}.monthly-preview-footer-actions,.monthly-preview-footer .primary-button{width:100%}.monthly-preview-footer-actions{grid-template-columns:1fr 1fr;display:grid}.monthly-matching-stats{grid-template-columns:1fr 1fr}.monthly-matching-table td{grid-template-columns:78px minmax(0,1fr)}}.receipt-void-banner{color:#a84938;background:#fff0ed;border:2px solid #c86552;border-radius:10px;grid-template-columns:auto 1fr;gap:3px 12px;margin:14px 0 0;padding:10px 13px;display:grid}.receipt-void-banner strong{grid-row:1/3;font-size:16px}.receipt-void-banner span,.receipt-void-banner small{font-size:9px}@media (max-width:760px){.receipt-workspace{grid-template-columns:1fr}.receipt-history{max-height:none;display:flex;overflow:auto}.receipt-history h3{display:none}.receipt-history button{min-width:150px}.receipt-paper{padding:20px 16px}.receipt-paper>header img{width:145px}.receipt-meta{grid-template-columns:1fr}}@media print{@page{size:A4;margin:12mm}body{background:#fff!important}body *{visibility:hidden!important}.receipt-backdrop,.receipt-modal,.receipt-paper,.receipt-paper *{visibility:visible!important}.receipt-backdrop{background:#fff!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important}.receipt-modal{width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;position:absolute!important;inset:0!important;overflow:visible!important}.receipt-screen-heading,.receipt-history,.receipt-controls{display:none!important}.receipt-workspace{display:block!important}.receipt-paper{width:100%!important;max-width:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}}.course-catalog-button{color:#76560e;background:#fff8df;border:1px solid #d5b55d;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:800}.course-catalog-button:hover{background:#fff1bd}.private-pricing-grid{grid-template-columns:1fr 1fr 1fr}.calculated-total{background:#eef8f2;border:1px solid #b8d9c8;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:3px 14px;padding:13px 15px;display:grid}.calculated-total span{color:#315e49;font-size:11px;font-weight:800}.calculated-total strong{color:#176b4a;grid-area:1/2/3;font-size:22px}.calculated-total small{color:#64756c;font-size:9px}.catalog-enrollment{gap:10px;display:grid}.offering-empty{color:#715a19;background:#fffae9;border:1px dashed #d6bf77;border-radius:10px;margin:0;padding:11px 13px;font-size:10px;line-height:1.5}.catalog-inline-button{color:#755414;background:#fff8df;border:1px solid #c9b367;border-radius:9px;justify-self:start;padding:9px 12px;font-size:10px;font-weight:800}.offering-summary{background:#f7faf8;border:1px solid #dce7e1;border-radius:12px;grid-template-columns:1fr 1fr;gap:9px;padding:12px;display:grid}.offering-summary>div{gap:3px;display:grid}.offering-summary span{color:var(--muted);font-size:9px}.offering-summary strong{font-size:11px}.offering-summary p{color:#76560e;background:#fff4d9;border-radius:8px;grid-column:1/-1;margin:2px 0 0;padding:8px 10px;font-size:10px}.offering-summary p b{margin-right:5px}.promotion-note{font-weight:800;color:#8a6110!important}.private-session-editor{background:#f8faf9;border:1px solid #dce7e1;border-radius:12px;gap:10px;padding:13px;display:grid}.private-session-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.private-session-heading>div{gap:2px;display:grid}.private-session-heading strong{color:#263b31;font-size:12px}.private-session-heading small{color:var(--muted);font-size:9px}.private-session-heading>span{color:#176b4a;background:#e5f5ec;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900}.private-session-list{gap:8px;display:grid}.private-session-row{grid-template-columns:minmax(0,1fr) 112px auto;align-items:end;gap:8px;display:grid}.private-session-row label{grid-template-columns:62px 1fr;align-items:center;gap:8px;display:grid}.private-session-row label span{color:#557065;font-size:10px;font-weight:800}.private-session-row .private-period-field{grid-template-columns:1fr}.private-session-row input{margin:0}.private-session-row button{color:#a84938;background:#fff4f1;border:1px solid #ebc8bf;border-radius:9px;height:39px;padding:0 11px;font-size:10px;font-weight:800}.private-session-row button:disabled{color:#aab2ae;background:#f1f4f2;border-color:#e1e6e3}.add-session-date{color:#176b4a;background:#edf8f2;border:1px dashed #78b394;border-radius:9px;justify-self:start;padding:9px 12px;font-size:10px;font-weight:900}.private-price-row{grid-template-columns:1fr 1fr}.private-price-row input[readonly]{color:#506159;background:#eef2f0;font-weight:800}.private-session-summary{font-weight:700;line-height:1.45;color:#176b4a!important}.course-duplicate-warning.continuation{color:#176b4a;background:#edf8f2;border:1px solid #9bcbb1}.course-duplicate-warning.continuation .duplicate-mark{background:#21845d}.course-catalog-backdrop{z-index:70}.course-catalog-modal{width:min(1180px,100%)}.course-catalog-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start;gap:18px;display:grid}.offering-list-panel,.offering-form{border:1px solid var(--line);background:#fafcfa;border-radius:14px;padding:15px}.catalog-section-title{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px;display:flex}.catalog-section-title h3{margin:0;font-size:14px}.catalog-section-title small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.catalog-section-title button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800}.offering-list{gap:9px;max-height:660px;display:grid;overflow:auto}.offering-list article{background:#fff;border:1px solid #e0e8e3;border-radius:12px;padding:12px}.offering-list article header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.offering-list article h4{margin:5px 0 3px;font-size:13px}.offering-list article header small{color:var(--muted);font-size:9px}.offering-list article header>strong{color:var(--green);white-space:nowrap;font-size:15px}.offering-facts{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.offering-facts span{color:#52635a;background:#eef3f0;border-radius:20px;padding:5px 7px;font-size:8px}.offering-list article>p{color:#775a16;background:#fff8df;border-radius:8px;margin:9px 0 0;padding:7px 9px;font-size:9px}.offering-form{flex-direction:column;gap:12px;display:flex}.offering-number-grid{grid-template-columns:1fr 1fr 1fr;gap:9px;display:grid}.promotion-fields{background:#fffbec;border:1px solid #e5d8ad;border-radius:12px;gap:10px;padding:12px;display:grid}.promotion-fields legend{color:#755414;padding:0 6px;font-size:10px;font-weight:800}.offering-form>.primary-button{align-self:flex-start}@media (max-width:900px){.course-catalog-layout{grid-template-columns:1fr}.offering-list{max-height:340px}.private-pricing-grid,.offering-number-grid{grid-template-columns:1fr 1fr}.course-catalog-modal{padding:18px}}@media (max-width:560px){.private-pricing-grid,.private-price-row,.offering-number-grid,.offering-summary{grid-template-columns:1fr}.private-session-heading{flex-direction:column;align-items:flex-start}.private-session-row{grid-template-columns:minmax(0,1fr) 88px}.private-session-row label{grid-template-columns:1fr}.private-session-row label span{margin-bottom:-4px}.private-session-row button{grid-column:1/-1;justify-self:end;height:32px}.calculated-total{grid-template-columns:1fr}.calculated-total strong{grid-area:auto}.course-catalog-button{width:100%}.offering-list article header{flex-direction:column}.offering-list article header>strong{align-self:flex-start}}.registry-modal{flex-direction:column;width:min(1180px,100vw - 32px);max-height:92vh;display:flex;overflow:hidden}.registry-tabs{gap:8px;padding:4px 2px 14px;display:flex;overflow-x:auto}.registry-tabs button{white-space:nowrap;color:#52615b;background:#f8faf9;border:1px solid #dfe7e2;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;display:flex}.registry-tabs button b{color:#243c33;background:#e7eeea;border-radius:999px;min-width:24px;padding:2px 7px}.registry-tabs button.active{color:#fff;background:#176b4c;border-color:#176b4c}.registry-tabs button.active b{color:#fff;background:#fff3}.registry-filters{background:#f7faf8;border:1px solid #e2e9e5;border-radius:16px;grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(140px,.6fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.registry-filters label{color:#516059;gap:5px;font-size:.82rem;display:grid}.registry-filters input,.registry-filters select{background:#fff;border:1px solid #d9e2dd;border-radius:10px;width:100%;padding:10px 12px}.registry-filters button,.registry-table button{color:#176b4c;background:#fff;border:1px solid #cad8d0;border-radius:10px;padding:10px 13px;font-weight:700}.registry-status-note{color:#58665f;background:#f3f7f5;border-radius:10px;margin:12px 0 0;padding:10px 12px}.registry-table-wrap{border:1px solid #e1e7e3;border-radius:15px;min-height:250px;margin-top:14px;overflow:auto}.registry-table{border-collapse:collapse;width:100%;min-width:880px}.registry-table th{color:#617068;text-align:left;z-index:1;background:#f4f7f5;padding:11px 13px;font-size:.78rem;position:sticky;top:0}.registry-table td{vertical-align:middle;border-top:1px solid #edf1ef;padding:13px}.registry-table td strong,.registry-table td small{display:block}.registry-table td small{color:#77847d;margin-top:3px}.registry-status{border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.registry-status.studying{color:#176b4c;background:#e5f5ec}.registry-status.upcoming{color:#315fae;background:#eaf1ff}.registry-status.no_course{color:#856212;background:#fff3d5}.registry-status.paused{color:#9a5717;background:#fff0df}.registry-status.stopped{color:#a33b32;background:#fee8e6}.registry-status.completed{color:#5846a5;background:#ece9ff}.registry-status.archived{color:#5f6a65;background:#edf0ef}.registry-loading{text-align:center;color:#68766f;padding:44px}.registry-modal .modal-actions{justify-content:space-between}.registry-modal .modal-actions>span{color:#6b7972;font-size:.88rem}@media (max-width:760px){.registry-modal{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.registry-filters{grid-template-columns:1fr 1fr}.registry-filters label:first-child{grid-column:1/-1}.registry-tabs{padding-bottom:10px}.registry-modal .modal-actions>span{display:none}}.program-list{gap:12px;max-height:690px;display:grid;overflow:auto}.program-card{background:#fff;border:1px solid #dfe8e3;border-radius:14px;padding:14px}.program-card>header{justify-content:space-between;gap:14px;display:flex}.program-card h4{margin:5px 0 2px}.program-card header small{color:var(--muted);font-size:9px}.program-card header>strong{color:var(--green);white-space:nowrap}.program-promotion{color:#795b17;background:#fff8df;border-radius:8px;margin:10px 0;padding:8px 10px;font-size:9px}.program-subjects{gap:7px;display:grid}.program-subjects>div{background:#f5f8f6;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.program-subjects span,.program-subjects small{display:block}.program-subjects small{color:var(--muted);margin-top:2px;font-size:8px}.program-subjects>div>strong{color:#176b4c}.program-step{border-top:1px solid #e4ebe7;align-items:center;gap:10px;padding-top:13px;display:flex}.program-step:first-child{border-top:0;padding-top:0}.program-step>span{color:#fff;background:#176b4c;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.program-step h3{margin:0;font-size:12px}.program-step small{color:var(--muted);font-size:8px}.subject-draft-list{gap:10px;display:grid}.subject-draft{background:#f8faf9;border:1px solid #dfe7e2;border-radius:12px;gap:10px;padding:12px;display:grid}.subject-draft legend{color:#176b4c;padding:0 6px;font-size:9px;font-weight:900}.remove-subject{color:#a44838;background:#fff0ed;border:0;border-radius:8px;justify-self:end;padding:7px 9px;font-size:9px;font-weight:800}.add-subject{color:#176b4c;background:#edf8f2;border:1px dashed #70aa8d;border-radius:9px;align-self:flex-start;padding:9px 12px;font-weight:800}.program-total{background:#edf8f2;border:1px solid #cfe3d8;border-radius:12px;grid-template-columns:1fr auto;gap:3px 12px;padding:12px;display:grid}.program-total span{font-size:10px;font-weight:800}.program-total strong{color:#176b4c;grid-area:1/2/3;font-size:18px}.program-total small{color:#64766d;font-size:8px}@media (max-width:560px){.program-subjects>div{align-items:flex-start}.program-card>header{flex-direction:column}.program-total{grid-template-columns:1fr}.program-total strong{grid-area:auto}}.student-modal:has(.monthly-course-picker){width:min(760px,100%)}.monthly-course-picker{background:#f8fbf9;border:1px solid #cfe1d8;border-radius:15px;gap:12px;padding:15px;display:grid}.monthly-course-picker-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.monthly-course-picker-heading>div{gap:3px;display:grid}.monthly-course-picker-heading strong{color:#1f3b30;font-size:13px}.monthly-course-picker-heading small{color:var(--muted);font-size:10px;line-height:1.45}.monthly-course-picker-heading>span{color:#176b4a;background:#dff1e7;border-radius:999px;flex:none;padding:5px 9px;font-size:10px;font-weight:900}.monthly-course-options{gap:8px;display:grid}.monthly-course-option{cursor:pointer;background:#fff;border:1px solid #dbe6e0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid!important}.monthly-course-option:hover{border-color:#8fbea7}.monthly-course-option.selected{background:#eef8f2;border-color:#4b9a74;box-shadow:0 0 0 1px #4b9a741f}.monthly-course-option>input{accent-color:#176b4a;height:18px;width:18px!important}.monthly-course-option-main,.monthly-course-option-price{gap:2px;display:grid}.monthly-course-option-main>b{color:#176b4a;letter-spacing:.02em;font-size:11px}.monthly-course-option-main>strong{color:#1f3029;font-size:13px}.monthly-course-option-main>small,.monthly-course-option-price>small{color:var(--muted);font-size:10px}.monthly-course-option-price{text-align:right}.monthly-course-option-price>b{color:#176b4a;font-size:16px}.monthly-course-option-price del{color:#8d9993;font-size:9px}.monthly-course-picker-state{color:#607168;background:#fff;border:1px dashed #cbd9d1;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:74px;font-size:11px;display:flex}.monthly-course-picker-state.error{color:#9b3f31;background:#fff5f2;border-color:#e6b2a7;justify-content:space-between;padding:12px}.monthly-course-picker-state.error button{color:#973f32;background:#fff;border:1px solid #dba99f;border-radius:8px;padding:7px 10px;font-weight:800}.monthly-course-picker-state.empty{text-align:center;gap:3px;display:grid}.monthly-course-picker-state.empty strong{color:#4f6258}.monthly-course-picker-state.empty span{font-size:9px}.monthly-course-spinner{border:2px solid #c8dbd1;border-top-color:#176b4a;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite monthly-course-spin}@keyframes monthly-course-spin{to{transform:rotate(360deg)}}.monthly-course-partial-toggle{cursor:pointer;border-top:1px solid #dfe8e3;align-items:flex-start;padding-top:12px;flex-direction:row!important;gap:9px!important;display:flex!important}.monthly-course-partial-toggle>input{accent-color:#176b4a;height:18px;width:18px!important}.monthly-course-partial-toggle>span{gap:2px;display:grid}.monthly-course-partial-toggle strong{color:#294338;font-size:11px}.monthly-course-partial-toggle small,.monthly-course-date-help{color:var(--muted);font-size:9px;line-height:1.4}.monthly-course-total{color:#fff;background:#176b4a;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 14px;padding:12px 14px;display:grid}.monthly-course-total>span{gap:2px;display:grid}.monthly-course-total>span strong{font-size:11px}.monthly-course-total small{color:#d5eee1;font-size:9px}.monthly-course-total>b{grid-area:1/2/3;font-size:21px}.monthly-course-total>small{text-align:right;grid-column:1/-1}.monthly-bulk-modal{width:min(1040px,100%)}.monthly-bulk-list{gap:14px;display:grid}.monthly-bulk-student{background:#fbfcfb;border:1px solid #dce6e0;border-radius:15px;gap:12px;padding:14px;display:grid}.monthly-bulk-student>header{align-items:flex-start;gap:9px;display:flex}.monthly-bulk-student>header>span{color:#fff;background:#176b4a;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;font-weight:900;display:grid}.monthly-bulk-student>header>div{flex:1;gap:2px;display:grid}.monthly-bulk-student>header strong{font-size:12px}.monthly-bulk-student>header small{color:#8a6110;gap:5px;font-size:9px;display:flex}.monthly-bulk-identity{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(170px,.6fr);gap:10px;display:grid}.monthly-bulk-student .monthly-course-picker{background:#f5f9f7}.monthly-course-picker.compact .monthly-course-options{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-course-picker.compact .monthly-course-option{min-height:92px}.monthly-course-picker.compact .monthly-course-option-price b{font-size:14px}@media (max-width:720px){.monthly-course-option{grid-template-columns:auto minmax(0,1fr)}.monthly-course-option-price{text-align:left;grid-column:2;align-items:baseline;gap:7px;display:flex}.monthly-course-picker.compact .monthly-course-options,.monthly-bulk-identity{grid-template-columns:1fr}}@media (max-width:500px){.monthly-course-picker{padding:12px}.monthly-course-picker-heading{flex-direction:column}.monthly-course-total{grid-template-columns:1fr}.monthly-course-total>b{grid-area:auto}.monthly-course-total>small{text-align:left;grid-column:auto}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
