@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";body{margin:0}:root{--blue:#0ea5e9;--teal:#14b8a6;--yellow:#facc15;--red:#ef4444;--green:#22c55e;--bg:#f6f8fc;--text:#1f2937;--muted:#64748b;--border:#e5e7eb}html,body,#root{width:100%;min-height:100%;margin:0}body{background-color:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,Arial,sans-serif}.login-page{background:radial-gradient(circle at 0 0,#0ea5e92e,#0000 35%),radial-gradient(circle at 100% 100%,#facc1533,#0000 35%),#f8fafc;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{text-align:center;border:1px solid var(--border);background-color:#fff;border-radius:28px;width:min(480px,100%);padding:42px 44px;box-shadow:0 24px 70px #0f172a1f}.login-brand{flex-direction:column;justify-content:center;align-items:center;gap:16px;margin-bottom:30px;display:flex}.login-logo-frame{background:#fff;border:1px solid #dbe3ee;border-radius:50%;width:190px;height:190px;position:relative;overflow:hidden;box-shadow:0 14px 36px #0f172a24}.login-logo-image{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.3)}.login-brand-text h1{color:#0f172a;letter-spacing:-.4px;text-align:center;margin:0;font-size:29px;font-weight:800;line-height:1.2}.login-brand-text p{color:var(--muted);text-align:center;margin:10px 0 0;font-size:15px;line-height:1.5}.login-form{text-align:left;flex-direction:column;display:flex}.login-form label{color:#334155;margin-bottom:8px;font-weight:700}.login-form input{color:#0f172a;font:inherit;border:1px solid var(--border);background-color:#f8fafc;border-radius:14px;margin-bottom:20px;padding:14px;font-size:15px}.login-form input:focus{border-color:var(--blue);background-color:#fff;outline:none;box-shadow:0 0 0 4px #0ea5e91f}.login-form button{color:#fff;font:inherit;background:linear-gradient(135deg, var(--blue), var(--teal));cursor:pointer;border:none;border-radius:14px;margin-top:2px;padding:15px;font-size:16px;font-weight:800;transition:transform .2s,filter .2s}.login-form button:hover:not(:disabled){filter:brightness(.98);transform:translateY(-1px)}.login-form button:disabled,.login-form input:disabled{cursor:not-allowed;opacity:.65}.login-error{color:#b91c1c;background:#fef2f2;border:1px solid #dc2626;border-radius:8px;width:100%;margin-bottom:16px;padding:10px 12px;font-size:14px;line-height:1.4}.login-authorized-note{color:var(--muted);text-align:center;margin-top:20px;font-size:14px;line-height:1.45;display:block}@media (width<=560px){.login-page{padding:16px}.login-card{border-radius:22px;padding:32px 24px}.login-logo-frame{width:160px;height:160px}.login-logo-image{transform:translate(-50%,-50%)scale(1.3)}.login-brand-text h1{font-size:24px}}.app{background:var(--bg);align-items:flex-start;min-height:100dvh;display:flex}.sidebar{z-index:50;background:#fff;border-right:1px solid #e7edf5;flex-direction:column;flex-shrink:0;width:248px;min-width:248px;height:100dvh;padding:22px 14px 16px;transition:width .22s,min-width .22s,padding .22s;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:4px 0 18px #0f172a08}.sidebar.collapsed{width:78px;min-width:78px;padding:22px 12px 16px}.brand{align-items:center;gap:10px;min-height:52px;margin-bottom:14px;padding:0 4px;display:flex}.sidebar.collapsed .brand{padding:0 1px}.brand-logo-frame{background:#fff;border:1px solid #dbe3ee;border-radius:50%;flex:0 0 48px;width:48px;height:48px;position:relative;overflow:hidden;box-shadow:0 6px 16px #0f172a1f}.brand-logo-image{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.2)}.brand-text{flex:1;min-width:0;transition:opacity .15s}.brand-text h2{color:#0f172a;white-space:nowrap;margin:0;font-size:15px;font-weight:800;line-height:1.2}.brand-text p{color:#64748b;white-space:nowrap;margin:3px 0 0;font-size:11px;font-weight:600;line-height:1.3}.sidebar-close-button{display:none}.sidebar-collapse-button{color:#94a3b8;width:100%;min-height:36px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px dashed #e2e8f0;border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:8px 15px;font-size:12.5px;font-weight:600;transition:color .18s,background-color .18s,border-color .18s;display:flex}.sidebar-collapse-button:hover{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.sidebar.collapsed .sidebar-collapse-button{justify-content:center;padding:8px 0}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent;flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:999px}.nav-item{color:#475569;width:100%;min-height:44px;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:12px;padding:11px 15px;font-size:14.5px;font-weight:600;transition:color .18s,background-color .18s;display:flex;position:relative;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding:11px 0}.nav-item:hover{color:#0284c7;background:#f1f5f9}.nav-item.active{color:#0369a1;background:linear-gradient(90deg,#e0f2fe,#ecfeff)}.nav-item.active:before{content:"";background:#facc15;border-radius:0 6px 6px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.nav-icon{flex:none;width:20px;height:20px}.nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .logout-label{display:none}.logout-button{color:#e11d48;width:100%;min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff1f2;border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:12px;margin-top:12px;padding:11px 15px;font-weight:700;transition:background-color .18s;display:flex;overflow:hidden}.sidebar.collapsed .logout-button{justify-content:center;padding:11px 0}.logout-button:hover{background:#ffe4e6}.logout-icon{flex:none;width:20px;height:20px}.dashboard{flex:1;min-width:0}.nav-item:focus-visible,.logout-button:focus-visible,.sidebar-collapse-button:focus-visible,.mobile-menu-button:focus-visible,.sidebar-close-button:focus-visible{outline-offset:2px;outline:3px solid #0ea5e940}.mobile-topbar,.sidebar-backdrop{display:none}@media (width<=900px){.app{flex-direction:column;align-items:stretch}.mobile-topbar{z-index:60;-webkit-backdrop-filter:blur(8px);background:#fffffff5;border-bottom:1px solid #e7edf5;align-items:center;gap:12px;min-height:58px;padding:8px 16px;display:flex;position:sticky;top:0}.mobile-menu-button{color:#0f172a;cursor:pointer;background:#f1f5f9;border:0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:flex}.mobile-topbar-title{align-items:center;gap:10px;min-width:0;display:flex}.mobile-topbar-logo{object-fit:cover;border:1px solid #dbe3ee;border-radius:50%;width:30px;height:30px}.mobile-topbar-title span{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;overflow:hidden}.sidebar-backdrop{z-index:90;background:#0f172a66;animation:.2s sidebarFadeIn;display:block;position:fixed;inset:0}.sidebar,.sidebar.collapsed{z-index:100;width:min(290px,86vw);min-width:0;height:100%;padding:18px 14px 16px;transition:transform .26s cubic-bezier(.22,1,.36,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:18px 0 48px #0f172a2e}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .logout-label{display:block}.sidebar.collapsed .nav-item,.sidebar.collapsed .logout-button{justify-content:flex-start;padding:11px 15px}.sidebar-collapse-button{display:none}.sidebar-close-button{color:#64748b;cursor:pointer;background:#f1f5f9;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}}@keyframes sidebarFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar.collapsed,.brand-text,.nav-item,.logout-button,.sidebar-collapse-button,.sidebar-backdrop{transition:none;animation:none}}@media (width<=1150px){.metric-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr}}@media (width<=650px){.dashboard{padding:16px}.page-card{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.metric-grid{grid-template-columns:1fr}.table-head{flex-direction:column;align-items:flex-start;gap:14px}}@media (width<=1150px){.dashboard-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.dashboard-home-bottom-grid{grid-template-columns:1fr}}@media (width<=650px){.dashboard-home-header{flex-direction:column;align-items:flex-start;padding:20px}.dashboard-home-date{align-items:flex-start}.dashboard-home-metrics{grid-template-columns:1fr}.dashboard-home-metric{min-height:112px}.dashboard-home-section-heading{align-items:flex-start;padding:18px}.dashboard-home-section-heading h2{font-size:17px}.dashboard-home-receivable-item span,.dashboard-home-alert-item span:not(.dashboard-home-alert-dot){white-space:normal}}@media (width<=850px){.student-status-toolbar{flex-direction:column;align-items:flex-start}.student-detail-actions{justify-content:flex-start}}@media (width<=650px){.student-status-filters{width:100%}.student-filter-button{flex:1}.student-passive-summary{flex-direction:column;align-items:flex-start}}@media (width<=980px){.student-status-toolbar{flex-direction:column;align-items:flex-start}.student-status-filters{width:100%}}@media (width<=720px){.student-lifecycle-summary{flex-direction:column;align-items:stretch}.student-lifecycle-dates{width:100%;min-width:0}.student-status-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=980px){.package-editor-button-row{flex-direction:column-reverse;align-items:stretch}.package-editor-button-row .package-add-button,.package-edit-cancel-button{width:100%}}@keyframes packageEditorOpen{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.package-editor-grid{grid-template-columns:1fr}.package-editor-header,.package-list-heading{align-items:flex-start}}@media (width<=650px){.package-editor-panel{padding:16px}.package-editor-footer,.package-new-button-row{flex-direction:column-reverse;align-items:stretch}.package-editor-footer .package-add-button,.package-editor-footer .package-edit-cancel-button,.package-new-button{width:100%}.package-list-heading{flex-direction:column}}@media (width<=650px){.section-title-row{flex-direction:column;align-items:stretch}.section-title-row .package-new-button,.package-inline-add-row .package-new-button{width:100%}}@media (width<=650px){.package-add-button-row .package-new-button{width:100%}}@media (width<=1150px){.student-list-query-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.student-list-query-grid{grid-template-columns:1fr}.student-list-query-actions,.student-list-pagination{flex-direction:column;align-items:flex-start}.student-list-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:3px;overflow-x:auto}}@media (width<=640px){.settlement-package-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.package-form-card{margin-bottom:22px;padding-bottom:26px}.package-form{margin:0}.table-actions{align-items:center;gap:10px;display:flex}.delete-button{color:#ef4444;cursor:pointer;background:#fef2f2;border:none;border-radius:12px;padding:9px 13px;font-weight:700}.delete-button:hover{background:#fee2e2}.package-form-card select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2333455f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:46px}.package-calculation-box{background:linear-gradient(135deg,#f8fafc,#ecfeff);border:1px solid #dbeafe;border-radius:18px;grid-template-columns:minmax(240px,1.1fr) minmax(0,2fr);align-items:center;gap:18px;margin-top:4px;padding:18px;display:grid}.package-calculation-box span{color:#0369a1;margin-bottom:6px;font-size:13px;font-weight:900;display:block}.package-calculation-box p{color:#64748b;margin:0;font-size:14px;line-height:1.5}.package-summary-description{min-width:0}.package-calculation-grid{grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;display:grid}.package-summary-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.package-calculation-item{background:#fff;border:1px solid #e2e8f0;border-radius:15px;min-width:0;padding:14px}.package-calculation-item small{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.package-summary-grid .package-calculation-item strong{color:#0f172a;word-break:break-word;font-size:16px;font-weight:800;line-height:1.25;display:block}.package-form-actions{box-shadow:none;background:0 0;border:none;justify-content:flex-end;align-items:center;gap:12px;margin-top:22px;padding:0;display:flex;position:static;transform:none}.package-form-actions:before,.package-form-actions:after,.package-form-card form:before,.package-form-card form:after{content:none;display:none}.package-form-card .form-actions{box-shadow:none;background:0 0;border:none;margin-top:22px;padding-top:0}.specialty-inline-row{align-items:stretch;gap:10px;display:flex}.specialty-inline-row>input{flex:1;min-width:0}.specialty-add-button{white-space:nowrap;min-width:max-content}.lesson-table.package-list-table{table-layout:fixed;width:100%;min-width:0}.lesson-table.package-list-table thead th,.lesson-table.package-list-table tbody td{box-sizing:border-box;vertical-align:middle;padding-left:12px;padding-right:12px;text-align:center!important}.lesson-table.package-list-table th:first-child,.lesson-table.package-list-table td:first-child{width:16%}.lesson-table.package-list-table th:nth-child(2),.lesson-table.package-list-table td:nth-child(2){width:11%}.lesson-table.package-list-table th:nth-child(3),.lesson-table.package-list-table td:nth-child(3){width:13%}.lesson-table.package-list-table th:nth-child(4),.lesson-table.package-list-table td:nth-child(4){width:10%}.lesson-table.package-list-table th:nth-child(5),.lesson-table.package-list-table td:nth-child(5){width:12%}.lesson-table.package-list-table th:nth-child(6),.lesson-table.package-list-table td:nth-child(6){width:14%}.lesson-table.package-list-table th:nth-child(7),.lesson-table.package-list-table td:nth-child(7){width:9%}.lesson-table.package-list-table th:nth-child(8),.lesson-table.package-list-table td:nth-child(8){width:15%}.lesson-table.package-list-table tbody td:first-child,.lesson-table.package-list-table tbody td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-table.package-list-table tbody td:last-child .table-actions{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.delete-button:focus-visible,.specialty-add-button:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5e929}@media (width<=1200px){.package-calculation-box{grid-template-columns:1fr}.package-summary-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (width<=1100px){.lesson-table.package-list-table th,.lesson-table.package-list-table td{padding-left:8px;padding-right:8px;font-size:12px}.lesson-table.package-list-table .table-actions{gap:6px}.lesson-table.package-list-table .detail-button,.lesson-table.package-list-table .delete-button{padding:8px 10px;font-size:12px}}@media (width<=900px){.package-calculation-grid,.package-summary-grid{grid-template-columns:1fr}}@media (width<=760px){.specialty-inline-row{flex-direction:column}.specialty-add-button{width:100%}}@media (width<=600px){.package-form-actions{gap:10px;margin-top:18px}.package-summary-grid .package-calculation-item strong{font-size:15px}}@media (width<=1050px){.teacher-commission-box{grid-template-columns:1fr}.specialty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.teacher-form-top{grid-template-columns:1fr}.teacher-photo-section{align-items:flex-start}.teacher-photo-upload,.teacher-photo-label{width:220px}}@media (width<=650px){.teacher-form-card{padding:20px}.teacher-photo-upload,.teacher-photo-label{width:180px}.teacher-photo-upload{height:180px}.specialty-grid,.teacher-payment-summary-grid{grid-template-columns:1fr}.teacher-cv-empty{text-align:center;flex-direction:column}.teacher-cv-selected{flex-wrap:wrap;align-items:flex-start}.teacher-cv-remove{width:100%}}@media (width<=650px){.teacher-status-filter-bar{flex-direction:column;align-items:stretch}.teacher-status-filter-button{width:100%}}@media (width<=650px){.teacher-page-actions{flex-direction:column;align-items:stretch;width:100%}.teacher-page-actions .excel-button,.teacher-page-actions .manage-button{width:100%}}@media (width<=1180px){.teacher-status-filter-bar+.payment-table-wrapper{overflow-x:auto}.teacher-list-table{table-layout:fixed;min-width:1050px}.teacher-list-table th,.teacher-list-table td{white-space:nowrap}}.teacher-list-table th:nth-child(5),.teacher-list-table td:nth-child(5),.teacher-list-table th:nth-child(6),.teacher-list-table td:nth-child(6){width:6%}@media (width<=1180px){.teacher-list-table{min-width:1150px}}.schedule-detail-table th:nth-child(3),.schedule-detail-table td:nth-child(3),.schedule-detail-table th:nth-child(4),.schedule-detail-table td:nth-child(4){width:17%}.schedule-detail-table th:nth-child(6),.schedule-detail-table td:nth-child(6),.schedule-detail-table th:nth-child(7),.schedule-detail-table td:nth-child(7){width:11%}@media (width<=1180px){.schedule-layout{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-filter-grid{grid-template-columns:1fr 1fr}.schedule-filter-grid .cancel-button{width:100%}.schedule-weekly-wrapper{overflow-x:auto}.schedule-weekly-table{table-layout:auto;min-width:1150px}.schedule-weekly-table th:not(:first-child){width:auto;min-width:145px}}@media (width<=900px){.schedule-filter-grid{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=650px){.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.package-mini-grid,.plan-summary-grid{grid-template-columns:1fr}.selected-plan-summary{margin:14px 16px 0}.schedule-detail-table{min-width:920px}}@media (width<=1180px){.schedule-weekly-table.day-column-table th,.schedule-weekly-table.day-column-table th:first-child,.schedule-weekly-table.day-column-table th:not(:first-child){width:auto;min-width:145px}}@media (width<=1180px){.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-time-section{grid-template-columns:minmax(0,1fr)}.schedule-day-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=650px){.schedule-form-card{padding:20px 16px}.schedule-form-grid{grid-template-columns:minmax(0,1fr)}.schedule-day-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-form-footer{flex-direction:column;align-items:stretch}.schedule-form-card .schedule-save-button{width:100%;min-width:0}}.payment-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.payment-metric-card{background:#fff;border:1px solid #e7edf5;border-top:4px solid #0000;border-radius:18px;min-height:105px;padding:18px;box-shadow:0 8px 24px #0f172a0a}.payment-metric-card span{color:#64748b;margin-bottom:12px;font-size:13px;font-weight:800;display:block}.payment-metric-card h3{color:#0f172a;margin:0;font-size:26px}.payment-metric-card.blue{border-top-color:#0ea5e9}.payment-metric-card.green{border-top-color:#22c55e}.payment-metric-card.red{border-top-color:#ef4444}.payment-metric-card.gray{border-top-color:#94a3b8}.payment-metric-card.green h3{color:#16a34a}.payment-metric-card.red h3{color:#dc2626}.payment-form-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;margin-bottom:22px;padding:26px;box-shadow:0 10px 28px #0f172a0d}.payment-form-heading{margin-bottom:20px}.payment-form-heading h2{color:#0f172a;margin:0 0 5px;font-size:21px}.payment-form-heading p{color:#64748b;margin:0;font-size:14px}.selected-payment-package{background:linear-gradient(135deg,#f8fafc,#ecfeff);border:1px solid #dbeafe;border-radius:18px;margin-top:20px;padding:20px}.selected-package-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.selected-package-heading>div>span{color:#0369a1;margin-bottom:5px;font-size:12px;font-weight:900;display:block}.selected-package-heading h3{color:#0f172a;margin:0 0 5px;font-size:18px}.selected-package-heading p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.selected-package-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.selected-package-finance-item{background:#fff;border:1px solid #e2e8f0;border-radius:15px;min-width:0;padding:15px}.selected-package-finance-item small{color:#64748b;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.selected-package-finance-item strong{color:#0f172a;font-size:20px;display:block}.selected-package-finance-item.remaining strong{color:#dc2626}.payment-entry-grid{margin-top:22px}.payment-field-help{color:#64748b;margin-top:7px;font-size:12px;display:block}.payment-form-actions{box-shadow:none;background:0 0;border:none;justify-content:flex-end;margin-top:20px;padding:0;display:flex;position:static;transform:none}.payment-form-actions:before,.payment-form-actions:after{content:none;display:none}.payment-form-actions .save-button:disabled{cursor:not-allowed;opacity:.55}.payment-list-card{overflow:hidden}.payment-list-top{border-bottom:1px solid #e7edf5;padding:24px}.payment-filter-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.payment-filter-header h2{color:#0f172a;margin:0 0 5px;font-size:21px}.payment-filter-header p{color:#64748b;margin:0;font-size:14px}.payment-filter-grid{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(150px,1fr));gap:16px;display:grid}.payment-list-head{border-bottom:1px solid #e7edf5;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;display:flex}.payment-list-head h3{color:#0f172a;margin:0 0 5px;font-size:18px}.payment-list-head p{color:#64748b;margin:0;font-size:14px}.payment-list-tools{align-items:center;gap:12px;display:flex}.payment-sort-box{align-items:center;gap:8px;display:flex}.payment-sort-box label{color:#64748b;font-size:13px;font-weight:800}.payment-sort-box select{color:#334155;background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;width:190px;padding:10px 38px 10px 12px;font-size:14px;font-weight:600}.payment-sort-box select:focus{background-color:#fff;border-color:#0ea5e9;outline:none;box-shadow:0 0 0 4px #0ea5e91a}.payment-table-wrapper{max-height:500px;overflow:auto}.payment-table{min-width:1250px}.payment-table thead th{z-index:2;background:#f8fafc;position:sticky;top:0}.payment-table th:nth-child(7),.payment-table td:nth-child(7),.payment-table th:nth-child(9),.payment-table td:nth-child(9){text-align:center;vertical-align:middle}.payment-status{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-block}.payment-status.paid{color:#16a34a;background:#dcfce7}.payment-action-row{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.payment-action-row button{margin:0}.edit-mini-button,.save-mini-button,.cancel-mini-button{cursor:pointer;white-space:nowrap;border:none;border-radius:11px;padding:9px 11px;font-size:13px;font-weight:800}.edit-mini-button{color:#0369a1;background:#e0f2fe}.edit-mini-button:hover{background:#bae6fd}.save-mini-button{color:#16a34a;background:#dcfce7}.save-mini-button:hover{background:#bbf7d0}.cancel-mini-button{color:#475569;background:#f1f5f9}.cancel-mini-button:hover{background:#e2e8f0}.table-edit-input{color:#334155;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;width:135px;padding:9px 10px;font-size:13px}.table-edit-input:focus{background:#fff;border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e91a}@media (width<=1200px){.payment-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.payment-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-package-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){.payment-list-head{flex-direction:column;align-items:flex-start}.payment-list-tools{justify-content:space-between;width:100%}.selected-package-heading{flex-direction:column}}@media (width<=700px){.payment-metric-grid,.payment-filter-grid,.selected-package-finance-grid{grid-template-columns:1fr}.payment-filter-header,.payment-list-tools{flex-direction:column;align-items:flex-start}.payment-sort-box,.payment-sort-box select{width:100%}}.payment-status.pending{color:#475569;background:#f1f5f9}.payment-status.partial{color:#a16207;background:#fef3c7}.payment-status.upcoming{color:#0369a1;background:#e0f2fe}.payment-status.today{color:#c2410c;background:#ffedd5}.payment-status.grace{color:#a16207;background:#fef3c7;box-shadow:inset 0 0 0 1px #fde68a}.payment-status.overdue{color:#dc2626;background:#fee2e2;box-shadow:inset 0 0 0 1px #fecaca}.payment-due-detail{color:#64748b;margin-top:12px;font-size:12px;font-weight:700;line-height:1.5;display:block}.payment-status-detail{color:#94a3b8;white-space:nowrap;margin-top:6px;font-size:11px;line-height:1.4;display:block}.payment-table td{vertical-align:middle}@media (width<=700px){.payment-status-detail{white-space:normal}}.payment-table-wrapper:has(.payment-movements-table){width:100%;max-height:520px;overflow:hidden auto}.lesson-table.payment-table.payment-movements-table{table-layout:fixed;width:100%;min-width:0}.lesson-table.payment-table.payment-movements-table thead th,.lesson-table.payment-table.payment-movements-table tbody td{box-sizing:border-box;vertical-align:middle;text-align:center!important}.lesson-table.payment-table.payment-movements-table th:first-child,.lesson-table.payment-table.payment-movements-table td:first-child{width:12%}.lesson-table.payment-table.payment-movements-table th:nth-child(2),.lesson-table.payment-table.payment-movements-table td:nth-child(2){width:17%}.lesson-table.payment-table.payment-movements-table th:nth-child(3),.lesson-table.payment-table.payment-movements-table td:nth-child(3){width:25%}.lesson-table.payment-table.payment-movements-table th:nth-child(4),.lesson-table.payment-table.payment-movements-table td:nth-child(4),.lesson-table.payment-table.payment-movements-table th:nth-child(5),.lesson-table.payment-table.payment-movements-table td:nth-child(5),.lesson-table.payment-table.payment-movements-table th:nth-child(6),.lesson-table.payment-table.payment-movements-table td:nth-child(6){width:12%}.lesson-table.payment-table.payment-movements-table th:nth-child(7),.lesson-table.payment-table.payment-movements-table td:nth-child(7){width:10%}.payment-package-period{min-width:0}.payment-package-period strong,.payment-package-period small{display:block}.payment-package-period strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payment-package-period small{color:#94a3b8;margin-top:5px;font-size:11px;font-weight:700}.payment-amount-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.payment-amount-summary>span{background:#f8fafc;border:1px solid #e7edf5;border-radius:10px;min-width:0;padding:8px 6px}.payment-amount-summary small,.payment-amount-summary strong{display:block}.payment-amount-summary small{color:#94a3b8;margin-bottom:4px;font-size:10px;font-weight:800;line-height:1.2}.payment-amount-summary strong{color:#334155;white-space:nowrap;font-size:12px}.payment-amount-edit-input{min-width:0;width:100%!important;padding:7px 6px!important}.lesson-table.payment-table.payment-movements-table .payment-action-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.lesson-table.payment-table.payment-movements-table .payment-status{margin-left:auto;margin-right:auto}@media (width<=1100px){.payment-table-wrapper:has(.payment-movements-table){overflow-x:auto}.lesson-table.payment-table.payment-movements-table{min-width:980px}}.payment-quick-date-row{align-items:center;gap:14px;margin-bottom:16px;display:flex}.payment-quick-date-row>span{color:#334155;flex-shrink:0;font-size:13px;font-weight:800}.payment-quick-date-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.payment-quick-date-buttons button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ee;border-radius:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:800}.payment-quick-date-buttons button:hover{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}@media (width<=700px){.payment-quick-date-row{flex-direction:column;align-items:flex-start}}.payment-page-size-box{align-items:center;gap:8px;display:flex}.payment-page-size-box label{color:#64748b;white-space:nowrap;font-size:13px;font-weight:800}.payment-page-size-box select{color:#334155;background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:11px;width:76px;padding:10px 30px 10px 11px;font-size:13px;font-weight:700}.payment-page-size-box select:focus{background-color:#fff;border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e91a}.payment-pagination{border-top:1px solid #e7edf5;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;display:flex}.payment-pagination-summary{color:#64748b;font-size:13px;font-weight:700}.payment-pagination-controls{justify-content:flex-end;align-items:center;gap:7px;display:flex}.payment-pagination-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:10px;min-width:38px;min-height:38px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:800}.payment-pagination-button:hover:not(:disabled){color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.payment-pagination-button.active{color:#fff;background:linear-gradient(135deg,#09a6d3,#12b8ad);border-color:#0000}.payment-pagination-button:disabled{cursor:not-allowed;opacity:.45}.payment-page-number{padding-left:10px;padding-right:10px}.payment-pagination-ellipsis{color:#94a3b8;text-align:center;min-width:24px;font-weight:800}@media (width<=800px){.payment-pagination{flex-direction:column;align-items:flex-start}.payment-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:3px;overflow-x:auto}}@media (width<=600px){.payment-page-size-box{justify-content:space-between;width:100%}}.detail-mini-button{color:#475569;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:none;border-radius:11px;padding:9px 11px;font-family:inherit;font-size:13px;font-weight:800}.detail-mini-button:hover{color:#334155;background:#e2e8f0}.payment-detail-row td{background:#f8fafc;padding:0!important}.payment-detail-panel{border-top:1px solid #e7edf5;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 22px;display:grid}.payment-detail-panel>div{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:0;padding:12px 14px}.payment-detail-panel small,.payment-detail-panel strong{display:block}.payment-detail-panel small{color:#94a3b8;margin-bottom:6px;font-size:11px;font-weight:800}.payment-detail-panel strong{overflow-wrap:anywhere;color:#334155;font-size:13px;line-height:1.45}.payment-detail-note{grid-column:1/-1}.payment-edit-modal-backdrop{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a7a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.payment-edit-modal{background:#fff;border:1px solid #e2e8f0;border-radius:22px;width:min(680px,100%);max-height:calc(100vh - 48px);padding:24px;overflow-y:auto;box-shadow:0 24px 70px #0f172a3d}.payment-edit-modal-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.payment-edit-modal-heading span{color:#0284c7;margin-bottom:5px;font-size:12px;font-weight:900;display:block}.payment-edit-modal-heading h2{color:#0f172a;margin:0 0 5px;font-size:22px}.payment-edit-modal-heading p{color:#64748b;margin:0;font-size:13px}.payment-modal-close-button{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:11px;flex-shrink:0;width:38px;height:38px;font-family:inherit;font-size:25px;line-height:1}.payment-modal-close-button:hover{color:#334155;background:#e2e8f0}.payment-edit-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.payment-edit-modal-grid .form-group{min-width:0;margin:0}.payment-edit-modal-grid .full-width{grid-column:1/-1}.payment-edit-modal-grid textarea{resize:vertical;min-height:110px}.payment-edit-modal-actions{border-top:1px solid #e7edf5;justify-content:flex-end;align-items:center;gap:11px;margin-top:22px;padding-top:18px;display:flex}@media (width<=760px){.payment-detail-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-edit-modal-grid{grid-template-columns:1fr}.payment-edit-modal-grid .full-width{grid-column:auto}}@media (width<=520px){.payment-detail-panel{grid-template-columns:1fr}.payment-detail-note{grid-column:auto}.payment-edit-modal-backdrop{padding:12px}.payment-edit-modal{border-radius:18px;padding:18px}.payment-edit-modal-actions{flex-direction:column-reverse;align-items:stretch}.payment-edit-modal-actions button{width:100%}}.settlement-list-card{margin-bottom:24px}.settlement-list-heading h2{margin:0 0 4px}.settlement-list-heading p{color:#64748b;margin:0 0 16px;font-size:13px}.settlement-list-error{color:#b91c1c}.settlement-table-wrap{overflow-x:auto}.settlement-table{border-collapse:collapse;width:100%;font-size:14px}.settlement-table th,.settlement-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e7edf5;padding:12px 10px}.settlement-table th{color:#64748b;font-size:12px;font-weight:800}.settlement-table td small{color:#64748b;margin-top:3px;font-size:12px;display:block}.settlement-status{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:800;display:inline-block}.settlement-status.receivable{color:#b45309;background:#fef3c7}.settlement-status.refund{color:#1d4ed8;background:#dbeafe}.settlement-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settlement-actions button{white-space:nowrap}.payment-form-card .payment-student-search{z-index:50;position:relative}.payment-form-card .payment-student-search .schedule-student-search-control input{width:100%;padding-left:44px;padding-right:44px}@media (width<=1150px){.finance-metric-grid,.finance-teacher-metric-grid,.finance-teacher-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.finance-overview-layout{grid-template-columns:1fr}.finance-overview-wide{grid-column:auto}}@media (width<=750px){.finance-metric-grid,.finance-teacher-metric-grid,.finance-teacher-summary-grid{grid-template-columns:1fr}.finance-section-heading,.finance-list-controls{flex-direction:column;align-items:flex-start}.finance-primary-button,.finance-search-box{width:100%}.finance-record-count{align-self:flex-end}}@media (width<=850px){.teacher-payment-summary-grid.compact{grid-template-columns:1fr}.teacher-package-list-item{flex-direction:column;align-items:flex-start}.teacher-package-amounts{align-items:flex-start}}@media (width<=650px){.teacher-payment-entry-grid{grid-template-columns:1fr}.teacher-payment-summary-head,.teacher-payment-summary-footer,.finance-payment-quick-row{flex-direction:column;align-items:flex-start}.finance-fill-remaining-button{align-self:flex-end}}.lesson-table.finance-table.finance-income-table th:nth-child(3),.lesson-table.finance-table.finance-income-table td:nth-child(3),.lesson-table.finance-table.finance-income-table th:nth-child(4),.lesson-table.finance-table.finance-income-table td:nth-child(4){width:14%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(7),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(7),.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(8),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(8){white-space:nowrap;width:11%}.lesson-table.finance-table.finance-teacher-history-table th:nth-child(2),.lesson-table.finance-table.finance-teacher-history-table td:nth-child(2),.lesson-table.finance-table.finance-teacher-history-table th:nth-child(3),.lesson-table.finance-table.finance-teacher-history-table td:nth-child(3){width:22%}@media (width<=900px){.finance-table-wrapper{overflow-x:auto}.lesson-table.finance-table.finance-income-table,.lesson-table.finance-table.finance-expense-table,.lesson-table.finance-table.finance-teacher-earnings-table{min-width:950px!important}.lesson-table.finance-table.finance-teacher-history-table{min-width:760px!important}}@media (width<=1150px){.teacher-history-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.teacher-history-filter-grid{grid-template-columns:1fr}.teacher-history-filter-actions,.finance-history-pagination{flex-direction:column;align-items:flex-start}.finance-history-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:3px;overflow-x:auto}}@media (width<=750px){.finance-subsection-heading{flex-direction:column}}@media (width<=1400px){.finance-income-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.finance-income-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.finance-income-filter-grid{grid-template-columns:1fr}.finance-income-filter-actions,.finance-income-pagination{flex-direction:column;align-items:flex-start}.finance-income-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:3px;overflow-x:auto}}@media (width<=760px){.finance-pagination{flex-direction:column;align-items:stretch}.finance-pagination>div{justify-content:space-between}}@media (width<=1180px){.finance-income-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.finance-income-filter-grid{grid-template-columns:1fr}.staff-payment-filter-footer,.staff-payment-filter-actions{flex-direction:column;align-items:stretch}.staff-payment-sort-control,.staff-payment-page-size-control{min-width:0}}:root{color:#1e293b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f8fc;font-family:DM Sans,Segoe UI,Arial,sans-serif}body{color:#1e293b;background:#f5f8fc;min-width:320px;min-height:100dvh;margin:0;font-size:14px;font-weight:400;line-height:1.55}#root{min-height:100dvh}*,:before,:after{box-sizing:border-box}button,input,select,textarea{font:inherit}button{letter-spacing:-.005em}input,select,textarea{color:#1e293b;font-weight:500}input::placeholder,textarea::placeholder{color:#94a3b8;font-weight:400}h1,h2,h3,h4,h5,h6{color:#0f172a;letter-spacing:-.025em;font-weight:700;line-height:1.25}p{line-height:1.65}table{font-variant-numeric:tabular-nums}th{letter-spacing:-.01em;font-weight:700}td{font-weight:500}.unsaved-changes-backdrop{z-index:100000;-webkit-backdrop-filter:blur(6px);background:#0f172a61;justify-content:center;align-items:center;padding:24px;animation:.18s unsavedBackdropIn;display:flex;position:fixed;inset:0}.unsaved-changes-modal{text-align:center;background:#fff;border:1px solid #e2e8f0e6;border-radius:24px;width:min(420px,100%);padding:34px 30px 26px;animation:.22s cubic-bezier(.22,1,.36,1) unsavedModalOpen;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 24px 64px #0f172a2e}.unsaved-changes-modal:before{content:"";background:linear-gradient(90deg,#0ea5e9,#14b8a6);height:4px;position:absolute;top:0;left:0;right:0}@keyframes unsavedBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes unsavedModalOpen{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.unsaved-changes-icon{color:#0284c7;background:linear-gradient(135deg,#e0f2fe,#ccfbf1);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 18px;display:flex;box-shadow:0 0 0 8px #e0f2fe8c}.unsaved-changes-content h2{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.3}.unsaved-changes-content p{color:#64748b;max-width:320px;margin:0 auto;font-size:14px;font-weight:400;line-height:1.6}.unsaved-source-list{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.unsaved-source-list span{color:#334155;background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.unsaved-source-list span:before{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px}.unsaved-changes-actions{flex-direction:column;gap:8px;margin-top:26px;display:flex}.unsaved-stay-button,.unsaved-leave-button{width:100%;min-height:46px;font:inherit;cursor:pointer;border-radius:13px;padding:0 16px;font-size:14px;font-weight:700;transition:color .18s,background-color .18s,border-color .18s,transform .18s,box-shadow .18s}.unsaved-stay-button{color:#fff;background:linear-gradient(135deg,#0ea5e9,#14b8a6);border:0;box-shadow:0 8px 18px #0ea5e93d}.unsaved-stay-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0ea5e952}.unsaved-leave-button{color:#dc2626;background:0 0;border:1px solid #0000}.unsaved-leave-button:hover{background:#fef2f2;border-color:#fecaca}.unsaved-stay-button:focus-visible,.unsaved-leave-button:focus-visible{outline-offset:2px;outline:3px solid #0ea5e947}.unsaved-stay-button:active,.unsaved-leave-button:active{transform:translateY(0)}.app-loading-screen{color:#64748b;background:#f5f8fc;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;display:flex}.app-loading-screen p{margin:0;font-size:14px;font-weight:600}.app-loading-spinner{border:4px solid #dbeafe;border-top-color:#0ea5e9;border-radius:50%;width:38px;height:38px;animation:.75s linear infinite appLoadingSpin}@keyframes appLoadingSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.unsaved-changes-modal,.unsaved-changes-backdrop,.app-loading-spinner{animation:none}.unsaved-stay-button,.unsaved-leave-button{transition:none}}@media (width<=520px){.unsaved-changes-backdrop{align-items:flex-end;padding:14px}.unsaved-changes-modal{border-radius:20px;width:100%;padding:21px}.unsaved-changes-content h2{font-size:19px}.unsaved-changes-actions{flex-direction:column;align-items:stretch}.unsaved-stay-button,.unsaved-leave-button{width:100%}}.dashboard{background:#f6f8fc;flex:1;padding:26px;overflow-y:auto}.dashboard-shell{width:100%;max-width:1280px;margin:0 auto}.page-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;justify-content:space-between;align-items:center;min-height:118px;margin-bottom:22px;padding:22px 26px;display:flex;box-shadow:0 10px 28px #0f172a0d}.page-badge{color:#0369a1;background:#e0f2fe;border-radius:999px;margin-bottom:10px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-block}.page-card h1{color:#0f172a;margin:0 0 6px;font-size:26px;line-height:1.2}.page-card p{color:#64748b;margin:0;font-size:14px}.manage-button{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:10px 16px;font-weight:700}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.metric-card{background:#fff;border:1px solid #e7edf5;border-top:4px solid #0000;border-radius:18px;justify-content:space-between;align-items:flex-start;min-height:112px;padding:18px;display:flex;box-shadow:0 8px 24px #0f172a0a}.metric-card span{color:#64748b;margin-bottom:10px;font-size:14px;font-weight:700;display:block}.metric-card h3{color:#1e293b;margin:0;font-size:28px;line-height:1}.metric-icon{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;font-weight:800;display:flex}.metric-card.blue{border-top-color:#0ea5e9}.metric-card.blue .metric-icon{color:#0284c7;background:#e0f2fe}.metric-card.green{border-top-color:#22c55e}.metric-card.green .metric-icon{color:#16a34a;background:#dcfce7}.metric-card.gray{border-top-color:#94a3b8}.metric-card.gray .metric-icon{color:#64748b;background:#f1f5f9}.metric-card.cyan{border-top-color:#06b6d4}.metric-card.cyan .metric-icon{color:#0891b2;background:#cffafe}.metric-card.orange{border-top-color:#fb923c}.metric-card.orange .metric-icon{color:#ea580c;background:#ffedd5}.metric-card.red{border-top-color:#ef4444}.metric-card.red .metric-icon{color:#dc2626;background:#fee2e2}.metric-card.red h3{color:#dc2626}.lesson-table-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;margin-top:4px;margin-bottom:22px;overflow:hidden;box-shadow:0 10px 28px #0f172a0d}.table-head{border-bottom:1px solid #e7edf5;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.table-head h2{color:#0f172a;margin:0 0 5px;font-size:19px}.table-head p{color:#64748b;margin:0;font-size:13px}.lesson-count{color:#65a30d;background:#ecfccb;border:none;border-radius:12px;padding:9px 13px;font-weight:800}.lesson-table{border-collapse:collapse;width:100%}.lesson-table th{color:#475569;text-align:left;letter-spacing:.6px;text-transform:uppercase;background:#f8fafc;border-bottom:1px solid #e7edf5;padding:14px 18px;font-size:12px}.lesson-table td{color:#64748b;border-bottom:1px solid #f1f5f9;padding:18px;font-size:14px}.empty-table{text-align:center;color:#94a3b8!important;padding:34px!important}.bottom-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:30px;display:grid}.small-panel{background:#fff;border:1px solid #e7edf5;border-radius:20px;padding:20px 22px;box-shadow:0 8px 24px #0f172a0a}.small-panel-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.small-panel-title h2{color:#0f172a;margin:0;font-size:18px}.small-panel-title span{color:#16a34a;background:#dcfce7;border-radius:10px;padding:5px 10px;font-size:13px;font-weight:800}.small-panel p{color:#64748b;margin:0;font-size:14px;line-height:1.6}@media (width<=1150px){.metric-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr}}@media (width<=650px){.dashboard{padding:16px}.page-card{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.metric-grid{grid-template-columns:1fr}.table-head{flex-direction:column;align-items:flex-start;gap:14px}}.dashboard-home{width:100%;max-width:1280px;margin:0 auto}.dashboard-home button{font:inherit}.dashboard-home-header{background:#fff;border:1px solid #e7edf5;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;min-height:118px;margin-bottom:22px;padding:22px 26px;display:flex;box-shadow:0 10px 28px #0f172a0d}.dashboard-home-badge{color:#0369a1;background:#e0f2fe;border-radius:999px;margin-bottom:10px;padding:6px 12px;font-size:12px;font-weight:800;display:inline-block}.dashboard-home-header h1{color:#0f172a;margin:0 0 6px;font-size:27px;line-height:1.2}.dashboard-home-header p{color:#64748b;margin:0;font-size:14px}.dashboard-home-date{color:#475569;background:#f1f5f9;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;padding:10px 15px;display:flex}.dashboard-home-date strong{color:#334155;text-transform:capitalize;font-size:14px}.dashboard-home-date span{color:#64748b;font-size:12px}.dashboard-home-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.dashboard-home-metric{text-align:left;cursor:pointer;background:#fff;border:1px solid #e7edf5;border-top:4px solid #0000;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;min-height:126px;padding:18px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 8px 24px #0f172a0a}.dashboard-home-metric:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0f172a14}.dashboard-home-metric:focus-visible,.dashboard-home-count-button:focus-visible,.dashboard-home-panel-count:focus-visible,.dashboard-home-receivable-item:focus-visible,.dashboard-home-alert-item:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5e929}.dashboard-home-metric>div:first-child{min-width:0}.dashboard-home-metric span{color:#64748b;margin-bottom:9px;font-size:13px;font-weight:800;display:block}.dashboard-home-metric strong{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;margin-bottom:9px;font-size:27px;line-height:1.05;display:block;overflow:hidden}.dashboard-home-metric small{color:#94a3b8;font-size:11px;line-height:1.35;display:block}.dashboard-home-metric-icon{border-radius:12px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;font-weight:900;display:flex}.dashboard-home-metric.green{border-top-color:#22c55e}.dashboard-home-metric.green .dashboard-home-metric-icon{color:#16a34a;background:#dcfce7}.dashboard-home-metric.blue{border-top-color:#0ea5e9}.dashboard-home-metric.blue .dashboard-home-metric-icon{color:#0284c7;background:#e0f2fe}.dashboard-home-metric.cyan{border-top-color:#06b6d4}.dashboard-home-metric.cyan .dashboard-home-metric-icon{color:#0891b2;background:#cffafe}.dashboard-home-metric.red{border-top-color:#ef4444}.dashboard-home-metric.red strong{color:#dc2626}.dashboard-home-metric.red .dashboard-home-metric-icon{color:#dc2626;background:#fee2e2}.dashboard-home-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;box-shadow:0 10px 28px #0f172a0d}.dashboard-home-lessons{margin-bottom:22px;overflow:hidden}.dashboard-home-section-heading{border-bottom:1px solid #e7edf5;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.dashboard-home-section-heading.compact{padding:20px 22px 16px}.dashboard-home-section-heading h2{color:#0f172a;margin:0 0 5px;font-size:19px}.dashboard-home-section-heading p{color:#64748b;margin:0;font-size:13px}.dashboard-home-count-button,.dashboard-home-panel-count{color:#65a30d;cursor:pointer;background:#ecfccb;border:0;border-radius:12px;flex-shrink:0;padding:9px 13px;font-size:13px;font-weight:900}.dashboard-home-panel-count{color:#16a34a;background:#dcfce7;min-width:34px;padding:7px 10px}.dashboard-home-panel-count.static{cursor:default;justify-content:center;align-items:center;display:inline-flex}.dashboard-home-table-wrapper{overflow-x:auto}.dashboard-home-table{border-collapse:collapse;width:100%;min-width:930px}.dashboard-home-table th{color:#475569;text-align:left;text-transform:uppercase;letter-spacing:.55px;background:#f8fafc;border-bottom:1px solid #e7edf5;padding:14px 18px;font-size:12px;font-weight:800}.dashboard-home-table td{color:#64748b;border-bottom:1px solid #f1f5f9;padding:16px 18px;font-size:13px}.dashboard-home-table tbody tr:last-child td{border-bottom:0}.dashboard-home-table tbody tr:hover td{background:#fbfdff}.dashboard-home-time-cell{font-weight:800;color:#0f172a!important}.dashboard-home-table-title{color:#334155;font-weight:800}.dashboard-home-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.dashboard-home-status.planned{color:#0369a1;background:#e0f2fe}.dashboard-home-status.completed{color:#15803d;background:#dcfce7}.dashboard-home-status.cancelled{color:#dc2626;background:#fee2e2}.dashboard-home-status.makeup-waiting{color:#a16207;background:#fef3c7}.dashboard-home-status.makeup-completed{color:#c2410c;background:#ffedd5}.dashboard-home-empty-table{text-align:center;color:#94a3b8!important;padding:34px!important}.dashboard-home-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:30px;display:grid}.dashboard-home-small-panel{min-width:0;overflow:hidden}.dashboard-home-panel-content{padding:6px 14px 14px}.dashboard-home-receivable-item,.dashboard-home-alert-item{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f1f5f9;border-radius:10px;align-items:center;gap:14px;width:100%;padding:13px 10px;transition:background .2s;display:flex}.dashboard-home-receivable-item:last-child,.dashboard-home-alert-item:last-child{border-bottom:0}.dashboard-home-receivable-item:hover,.dashboard-home-alert-item:hover{background:#f8fafc}.dashboard-home-receivable-item>div,.dashboard-home-alert-item>div{flex:1;min-width:0}.dashboard-home-receivable-item strong,.dashboard-home-alert-item strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:13px;display:block;overflow:hidden}.dashboard-home-receivable-item span,.dashboard-home-alert-item span:not(.dashboard-home-alert-dot){color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;display:block;overflow:hidden}.dashboard-home-receivable-item small{color:#94a3b8;margin-top:4px;font-size:11px;display:block}.dashboard-home-receivable-item small.overdue{color:#dc2626;font-weight:800}.dashboard-home-receivable-item>b{color:#dc2626;flex-shrink:0;font-size:13px}.dashboard-home-alert-item>b{color:#94a3b8;flex-shrink:0;font-size:22px;line-height:1}.dashboard-home-alert-dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px}.dashboard-home-alert-dot.danger{background:#ef4444;box-shadow:0 0 0 4px #fee2e2}.dashboard-home-alert-dot.warning{background:#f59e0b;box-shadow:0 0 0 4px #fef3c7}.dashboard-home-alert-dot.info{background:#0ea5e9;box-shadow:0 0 0 4px #e0f2fe}.dashboard-home-empty-panel{color:#94a3b8;text-align:center;padding:30px 14px;font-size:13px}.dashboard-home-success-panel{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;align-items:center;gap:13px;margin:10px;padding:16px;display:flex}.dashboard-home-success-panel>span{color:#15803d;background:#dcfce7;border-radius:10px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:900;display:flex}.dashboard-home-success-panel strong{color:#166534;margin-bottom:4px;font-size:13px;display:block}.dashboard-home-success-panel p{color:#4d7c5b;margin:0;font-size:12px;line-height:1.4}@media (width<=1150px){.dashboard-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.dashboard-home-bottom-grid{grid-template-columns:1fr}}@media (width<=650px){.dashboard-home-header{flex-direction:column;align-items:flex-start;padding:20px}.dashboard-home-date{align-items:flex-start}.dashboard-home-metrics{grid-template-columns:1fr}.dashboard-home-metric{min-height:112px}.dashboard-home-section-heading{align-items:flex-start;padding:18px}.dashboard-home-section-heading h2{font-size:17px}.dashboard-home-receivable-item span,.dashboard-home-alert-item span:not(.dashboard-home-alert-dot){white-space:normal}}.dashboard-home-receivable-item small.upcoming{color:#0369a1;font-weight:800}.dashboard-home-receivable-item small.due-today{color:#c2410c;font-weight:800}.dashboard-home-receivable-item small.grace{color:#a16207;font-weight:800}.async-state{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;min-height:220px;padding:32px 20px;display:flex}.async-state h3{color:#1e293b;margin:0;font-size:18px}.async-state p{color:#64748b;max-width:460px;margin:0;font-size:14px;line-height:1.6}.async-spinner{border:4px solid #dbeafe;border-top-color:#0ea5e9;border-radius:50%;width:38px;height:38px;animation:.75s linear infinite asyncSpin}.async-state-icon{color:#475569;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:800;display:flex}.async-error-state .async-state-icon{color:#dc2626;background:#fee2e2}.async-retry-button,.async-action-button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#0ea5e9;border:0;border-radius:9px;margin-top:4px;padding:0 18px;font-size:14px;font-weight:700}.async-retry-button:hover,.async-action-button:hover{background:#0284c7}.async-loading-button{justify-content:center;align-items:center;gap:9px;display:inline-flex}.async-loading-button:disabled{cursor:not-allowed;opacity:.7}.async-button-spinner{border:2px solid #ffffff73;border-top-color:currentColor;border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite asyncSpin}@keyframes asyncSpin{to{transform:rotate(360deg)}}.sidebar-nav button{text-align:left;cursor:pointer;background:0 0;border:none}.primary-button,.save-button,.pdf-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#14b8a6);border:none;border-radius:12px;padding:11px 16px;font-weight:700}.student-table-card,.student-form-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;margin-bottom:22px;overflow:hidden;box-shadow:0 10px 28px #0f172a0d}.student-form-card{padding:24px}.form-section{margin-bottom:26px}.form-section h2{color:#0f172a;margin:0 0 16px;font-size:19px}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px 18px;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:#475569;align-items:center;gap:4px;margin-bottom:7px;font-size:13px;font-weight:700;display:flex}.form-group input,.form-group select,.form-group textarea{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:12px;font-size:14px}.form-group textarea{resize:vertical;min-height:80px}.form-actions,.detail-actions{justify-content:flex-end;gap:12px;display:flex}.cancel-button{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:11px 16px;font-weight:700}.detail-button{color:#0369a1;cursor:pointer;background:#e0f2fe;border:none;border-radius:10px;padding:8px 12px;font-weight:700}.status-badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-block}.status-badge.paid{color:#16a34a;background:#dcfce7}.status-badge.pending{color:#ea580c;background:#fff7ed}.student-actions{align-items:center;gap:10px;display:flex}.excel-button{color:#047857;cursor:pointer;background:#ecfdf5;border:none;border-radius:12px;padding:11px 16px;font-weight:700}.excel-button:hover{background:#d1fae5}.primary-button:focus-visible,.save-button:focus-visible,.pdf-button:focus-visible,.cancel-button:focus-visible,.detail-button:focus-visible,.excel-button:focus-visible,.edit-section-button:focus-visible,.student-filter-button:focus-visible,.student-status-action-button:focus-visible,.student-permanent-delete-button:focus-visible,.package-edit-button:focus-visible,.package-end-button:focus-visible,.package-reactivate-button:focus-visible,.package-editor-close-button:focus-visible,.student-page-button:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5e929}.detail-card{box-shadow:none;background:0 0;border:none;padding:0;overflow:visible}.detail-section{background:#fff;border:1px solid #e7edf5;border-radius:20px;margin-bottom:20px;padding:22px;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f172a0a}.detail-section:before{content:"";width:5px;height:100%;position:absolute;top:0;left:0}.detail-section:first-child:before{background:#0ea5e9}.detail-section:nth-child(2):before{background:#22c55e}.detail-section:nth-child(3):before{background:#14b8a6}.detail-section:nth-child(4):before{background:#facc15}.detail-section h2{color:#0f172a;margin:0 0 18px;padding-left:4px;font-size:20px}.detail-grid{grid-template-columns:repeat(2,1fr);gap:12px 16px;display:grid}.detail-grid p{color:#475569;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;margin:0;padding:13px 14px;font-size:14px;line-height:1.5}.detail-grid strong{color:#0f172a;margin-right:4px}.full-width{grid-column:1/-1}.lesson-plan-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.lesson-plan-header h2{margin:0}.empty-detail-box{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:18px;font-size:14px}.section-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-title-row h2{margin:0}.edit-section-button{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:9px 13px;font-weight:700}.edit-section-button:hover{color:#0369a1;background:#e0f2fe}.edit-actions{gap:10px;display:flex}.required-star{color:#ef4444;margin-left:2px;font-weight:900}.package-add-button-group{justify-content:flex-end;align-items:center;margin-top:-4px;display:flex}.package-add-button{width:220px;min-width:220px;padding:14px 24px}.student-status-toolbar{background:#fbfdff;border-bottom:1px solid #e7edf5;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;display:flex}.student-status-toolbar p{color:#64748b;margin:0;font-size:12px}.student-status-filters{background:#eef3f8;border-radius:12px;align-items:center;gap:7px;padding:5px;display:inline-flex}.student-filter-button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:800;transition:color .2s,background .2s,box-shadow .2s;display:inline-flex}.student-filter-button span{color:#475569;background:#fff;border:1px solid #dbe5ef;border-radius:999px;justify-content:center;align-items:center;min-width:23px;height:23px;padding:0 7px;font-size:11px;display:inline-flex}.student-filter-button:hover{color:#0369a1;background:#ffffffb3}.student-filter-button.selected{color:#0369a1;background:#fff;box-shadow:0 3px 10px #0f172a14}.student-filter-button.selected span{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.student-status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:62px;padding:6px 10px;font-size:11px;font-weight:900;display:inline-flex}.student-status-badge.active{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.student-status-badge.passive{color:#64748b;background:#f1f5f9;border:1px solid #dbe5ef}.student-detail-title-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.student-detail-title-row .page-badge{margin-bottom:0}.student-detail-actions{flex-wrap:wrap;justify-content:flex-end}.student-status-action-button,.student-permanent-delete-button{cursor:pointer;border-radius:11px;min-height:40px;padding:10px 14px;font-size:12px;font-weight:800;transition:color .2s,background .2s,border-color .2s,transform .2s}.student-status-action-button:hover,.student-permanent-delete-button:hover{transform:translateY(-1px)}.student-status-action-button.deactivate{color:#a16207;background:#fffbeb;border:1px solid #fde68a}.student-status-action-button.deactivate:hover{color:#854d0e;background:#fef3c7;border-color:#facc15}.student-status-action-button.activate{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.student-status-action-button.activate:hover{color:#166534;background:#dcfce7;border-color:#86efac}.student-permanent-delete-button{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.student-permanent-delete-button:hover{color:#b91c1c;background:#ffe4e6;border-color:#fda4af}.student-passive-summary{background:#fffbeb;border:1px solid #fde68a;border-left:5px solid #f59e0b;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;display:flex;box-shadow:0 8px 20px #0f172a0a}.student-passive-summary div{min-width:0}.student-passive-summary span{color:#a16207;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:900;display:block}.student-passive-summary strong{color:#713f12;font-size:13px;line-height:1.4;display:block}.student-passive-summary small{color:#92400e;flex-shrink:0;font-size:12px}@media (width<=850px){.student-status-toolbar{flex-direction:column;align-items:flex-start}.student-detail-actions{justify-content:flex-start}}@media (width<=650px){.student-status-filters{width:100%}.student-filter-button{flex:1}.student-passive-summary{flex-direction:column;align-items:flex-start}}.student-status-filters{flex-wrap:wrap}.student-status-badge.archived{color:#6d28d9;background:#ede9fe;border:1px solid #ddd6fe}.student-status-badge.review{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.student-status-badge.anonymized{color:#475569;background:#e2e8f0;border:1px solid #cbd5e1}.student-status-action-button.archive{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.student-status-action-button.archive:hover{color:#5b21b6;background:#ede9fe;border-color:#c4b5fd}.student-status-action-button.extend{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd}.student-status-action-button.extend:hover{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.student-status-action-button.anonymize{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.student-status-action-button.anonymize:hover{color:#334155;background:#e2e8f0;border-color:#94a3b8}.student-lifecycle-summary{background:#fffbeb;border:1px solid #fde68a;border-left:5px solid #f59e0b;border-radius:14px;justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px;padding:16px 18px;display:flex;box-shadow:0 8px 20px #0f172a0a}.student-lifecycle-summary>div:first-child{flex:1;min-width:0}.student-lifecycle-summary span{color:#a16207;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:11px;font-weight:900;display:block}.student-lifecycle-summary strong{color:#713f12;font-size:13px;line-height:1.5;display:block}.student-lifecycle-summary>div:first-child>small{color:#92400e;margin-top:7px;font-size:12px;display:block}.student-lifecycle-summary.archived{background:#f5f3ff;border-color:#ddd6fe #ddd6fe #ddd6fe #8b5cf6}.student-lifecycle-summary.archived span,.student-lifecycle-summary.archived>div:first-child>small{color:#6d28d9}.student-lifecycle-summary.archived strong{color:#4c1d95}.student-lifecycle-summary.review{background:#fff7ed;border-color:#fed7aa #fed7aa #fed7aa #f97316}.student-lifecycle-summary.review span,.student-lifecycle-summary.review>div:first-child>small{color:#c2410c}.student-lifecycle-summary.review strong{color:#9a3412}.student-lifecycle-summary.anonymized{background:#f8fafc;border-color:#cbd5e1 #cbd5e1 #cbd5e1 #64748b}.student-lifecycle-summary.anonymized span,.student-lifecycle-summary.anonymized>div:first-child>small{color:#475569}.student-lifecycle-summary.anonymized strong{color:#334155}.student-lifecycle-dates{background:#ffffffa8;border:1px solid #94a3b838;border-radius:11px;flex-shrink:0;gap:7px;min-width:230px;padding:11px 13px;display:grid}.student-lifecycle-dates small{color:#64748b;font-size:11px;line-height:1.4}.student-lifecycle-dates b{color:#334155;font-weight:800}@media (width<=980px){.student-status-toolbar{flex-direction:column;align-items:flex-start}.student-status-filters{width:100%}}@media (width<=720px){.student-lifecycle-summary{flex-direction:column;align-items:stretch}.student-lifecycle-dates{width:100%;min-width:0}.student-status-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.package-editor-actions{justify-content:flex-end}.package-editor-button-row{justify-content:flex-end;align-items:center;gap:10px;width:100%;display:flex}.package-editor-button-row .package-add-button{min-width:170px;height:48px;margin:0}.package-edit-cancel-button{white-space:nowrap;min-width:190px;height:48px;padding:0 16px}.package-management-table{width:100%;min-width:1120px}.package-management-table th,.package-management-table td{vertical-align:middle}.package-management-table th:last-child,.package-management-table td:last-child{text-align:center;width:190px}.package-table-main{flex-direction:column;gap:4px;min-width:150px;display:flex}.package-table-main strong{color:#17324c;font-size:13px;font-weight:800}.package-table-main small{color:#8190a2;font-size:11px;line-height:1.35}.package-status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:86px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.package-status-badge.active{color:#166534;background:#dcfce7;box-shadow:inset 0 0 0 1px #bbf7d0}.package-status-badge.ended{color:#64748b;background:#eef2f7;box-shadow:inset 0 0 0 1px #dbe3ec}.package-ended-date{color:#94a3b8;text-align:center;margin-top:5px;font-size:10.5px;display:block}.package-row-ended td{background:#fafbfc!important}.package-row-ended td:not(:last-child){color:#8290a0}.package-row-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;display:flex}.package-edit-button,.package-end-button,.package-reactivate-button{white-space:nowrap;cursor:pointer;border:0;border-radius:9px;min-height:34px;padding:7px 11px;font-family:inherit;font-size:11.5px;font-weight:800;transition:transform .16s,background .16s,box-shadow .16s}.package-edit-button{color:#0369a1;background:#e0f2fe}.package-edit-button:hover{background:#bae6fd;transform:translateY(-1px)}.package-end-button{color:#b45309;background:#fef3c7}.package-end-button:hover{background:#fde68a;transform:translateY(-1px)}.package-reactivate-button{color:#047857;background:#d1fae5}.package-reactivate-button:hover{background:#a7f3d0;transform:translateY(-1px)}.package-management-table .delete-button{white-space:nowrap;min-height:34px;padding:7px 11px;font-size:11.5px}@media (width<=980px){.package-editor-button-row{flex-direction:column-reverse;align-items:stretch}.package-editor-button-row .package-add-button,.package-edit-cancel-button{width:100%}}.package-management-area{flex-direction:column;gap:18px;width:100%;display:flex}.package-editor-panel{box-sizing:border-box;background:#f8fbfd;border:1px solid #d7e7ef;border-left:4px solid #14b8a6;border-radius:16px;width:100%;padding:20px;animation:.2s packageEditorOpen;box-shadow:0 8px 22px #0f172a0b}.package-editor-header{border-bottom:1px solid #e1ebf1;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding-bottom:15px;display:flex}.package-editor-header h3{color:#102a43;margin:4px 0 5px;font-size:18px;font-weight:800}.package-editor-header p{color:#6b7f93;max-width:720px;margin:0;font-size:12.5px;line-height:1.5}.package-editor-eyebrow{color:#0f766e;letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;font-weight:850;display:inline-flex}.package-editor-close-button{color:#64748b;cursor:pointer;background:#edf2f7;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-family:inherit;font-size:23px;line-height:1;transition:color .16s,background .16s;display:inline-flex}.package-editor-close-button:hover{color:#0f172a;background:#dfe7ef}.package-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}.package-editor-grid .form-group{margin:0}.package-editor-grid select,.package-editor-grid input{height:48px}.package-editor-footer{justify-content:flex-end;align-items:center;gap:10px;padding-top:2px;display:flex}.package-editor-footer .package-add-button,.package-editor-footer .package-edit-cancel-button{width:auto;min-width:150px;height:44px;margin:0}.package-list-block{background:#fff;border:1px solid #e1e9f1;border-radius:15px;width:100%;overflow:hidden}.package-list-heading{background:#fbfcfe;border-bottom:1px solid #e7edf4;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.package-list-heading h3{color:#17324c;margin:0 0 4px;font-size:15px;font-weight:800}.package-list-heading p{color:#7a8b9e;margin:0;font-size:11.5px;line-height:1.4}.package-count-badge{color:#0f766e;white-space:nowrap;background:#ccfbf1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:70px;padding:7px 11px;font-size:11.5px;font-weight:850;display:inline-flex}.package-list-block .payment-table-wrapper{border:0}.package-list-block .package-management-table{margin:0}.package-new-button-row{background:#fbfcfe;border-top:1px solid #edf1f5;justify-content:flex-end;align-items:center;padding:14px 18px 16px;display:flex}.package-new-button{min-width:185px;height:44px;margin:0}.package-bottom-grid{width:100%;margin-top:0}.package-teacher-info{box-sizing:border-box;color:#52667d;background:#fff;border:1px solid #dce7f0;border-left:4px solid #22b8b2;border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.5}.package-editor-actions,.package-editor-button-row{display:none}@media (width<=900px){.package-editor-grid{grid-template-columns:1fr}.package-editor-header,.package-list-heading{align-items:flex-start}}@media (width<=650px){.package-editor-panel{padding:16px}.package-editor-footer,.package-new-button-row{flex-direction:column-reverse;align-items:stretch}.package-editor-footer .package-add-button,.package-editor-footer .package-edit-cancel-button,.package-new-button{width:100%}.package-list-heading{flex-direction:column}}.package-section-description{color:#7a8b9e;margin:5px 0 0;font-size:12px;line-height:1.45}.package-inline-add-row{justify-content:flex-end;width:100%;display:flex}@media (width<=650px){.section-title-row{flex-direction:column;align-items:stretch}.section-title-row .package-new-button,.package-inline-add-row .package-new-button{width:100%}}.package-section-header{width:100%;margin-bottom:18px}.package-section-header h2{margin:0 0 5px}.package-add-button-row{justify-content:flex-end;align-items:center;width:100%;margin-top:16px;display:flex}@media (width<=650px){.package-add-button-row .package-new-button{width:100%}}.pdf-button:disabled{cursor:wait;opacity:.65;transform:none}.student-list-query-panel{background:#fff;border-bottom:1px solid #e7edf5;padding:18px 20px}.student-list-query-grid{grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(160px,1fr));gap:14px;display:grid}.student-list-query-grid .form-group{min-width:0;margin:0}.student-list-query-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.student-page-size-box{align-items:center;gap:8px;display:flex}.student-page-size-box label{color:#64748b;font-size:13px;font-weight:800}.student-page-size-box select{color:#334155;background:#f8fafc;border:1px solid #dbe3ee;border-radius:10px;width:78px;padding:9px 28px 9px 10px;font-size:13px;font-weight:700}.student-list-pagination{border-top:1px solid #e7edf5;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.student-list-pagination-summary{color:#64748b;font-size:13px;font-weight:700}.student-list-pagination-controls{justify-content:flex-end;align-items:center;gap:7px;display:flex}.student-page-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:10px;min-width:38px;min-height:38px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:800}.student-page-button:hover:not(:disabled){color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.student-page-button.active{color:#fff;background:linear-gradient(135deg,#09a6d3,#12b8ad);border-color:#0000}.student-page-button:disabled{cursor:not-allowed;opacity:.45}.student-page-ellipsis{color:#94a3b8;text-align:center;min-width:24px;font-weight:800}@media (width<=1150px){.student-list-query-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.student-list-query-grid{grid-template-columns:1fr}.student-list-query-actions,.student-list-pagination{flex-direction:column;align-items:flex-start}.student-list-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:3px;overflow-x:auto}}.package-lesson-rights{text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:105px;display:flex}.package-lesson-rights>strong{color:#102f4a;font-variant-numeric:tabular-nums;font-size:14px;font-weight:850}.package-lesson-rights>span{color:#64748b;white-space:nowrap;font-size:11px}.package-lesson-rights-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;margin-top:2px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.package-lesson-rights-badge.active{color:#15803d;background:#dcfce7}.package-lesson-rights-badge.warning{color:#b45309;background:#fef3c7}.package-lesson-rights-badge.ended{color:#b91c1c;background:#fee2e2}.package-management-table th,.package-management-table td{text-align:center;vertical-align:middle}.package-management-table .package-table-main{text-align:center;align-items:center}.package-extend-button{color:#0369a1;cursor:pointer;white-space:nowrap;background:#e0f2fe;border:1px solid #bae6fd;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:800}.package-extend-button:hover:not(:disabled){color:#075985;background:#bae6fd}.package-extend-button:disabled{opacity:.6;cursor:not-allowed}.checkbox-label{cursor:pointer;align-items:center;gap:10px;min-height:42px;display:flex}.checkbox-label input{width:18px;height:18px;margin:0}.form-group h3{color:#0f172a;margin:8px 0 0;font-size:16px}.form-group h3 small{color:#64748b;font-size:12px;font-weight:600}.settlement-modal{width:min(760px,100%)}.settlement-modal-info,.settlement-modal-error{margin:14px 0;font-size:14px}.settlement-modal-info{color:#64748b}.settlement-modal-error{color:#b91c1c}.settlement-package-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-top:16px;padding:16px}.settlement-package-title{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.settlement-package-title small{color:#64748b}.settlement-package-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.settlement-package-facts span{color:#64748b;font-size:12px;display:block}.settlement-package-facts b{color:#0f172a;font-size:15px}.settlement-balance{border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:14px;font-weight:700}.settlement-balance.receivable{color:#b45309;background:#fef3c7}.settlement-balance.refund{color:#1d4ed8;background:#dbeafe}.settlement-balance.closed{color:#15803d;background:#dcfce7}@media (width<=640px){.settlement-package-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-layout{grid-template-columns:420px minmax(0,1fr);gap:20px;margin-bottom:22px;display:grid}.schedule-form-card,.schedule-slots-card,.weekly-schedule-card,.schedule-filter-card,.schedule-list-card{background:#fff;border:1px solid #e2eaf3;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px #0f172a0e}.schedule-form-card{padding:24px}.schedule-card-heading{margin-bottom:20px}.schedule-card-heading span{color:#0369a1;text-transform:uppercase;letter-spacing:.07em;background:#e0f2fe;border-radius:999px;margin-bottom:7px;padding:5px 9px;font-size:10px;font-weight:850;display:inline-flex}.schedule-card-heading h2,.schedule-slots-heading h2{color:#10243a;letter-spacing:-.015em;margin:0 0 6px;font-size:20px}.schedule-card-heading p,.schedule-slots-heading p{color:#718399;margin:0;font-size:13px;line-height:1.5}.schedule-form-grid{grid-template-columns:1fr}.schedule-form-card .form-group,.schedule-filter-grid .form-group{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex;position:relative}.schedule-form-card label,.schedule-filter-grid label{color:#1e3858;font-size:14px;font-weight:700}.schedule-form-card select,.schedule-form-card input,.schedule-filter-grid select,.schedule-student-search-control input{box-sizing:border-box;color:#06172f;background-color:#f8fafc;border:1px solid #d9e2ef;border-radius:14px;outline:none;width:100%;height:52px;font-family:inherit;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s}.schedule-form-card select,.schedule-filter-grid select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23384d66' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:15px;padding:0 46px 0 16px}.schedule-form-card input{padding:0 16px}.schedule-form-card select:focus,.schedule-form-card input:focus,.schedule-filter-grid select:focus,.schedule-student-search-control input:focus{background:#fff;border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf81f}.schedule-form-card select:disabled{color:#94a3b8;cursor:not-allowed;background-color:#f1f5f9}.schedule-save-button{width:100%;height:48px;margin-top:18px}.selected-package-box,.selected-plan-summary{background:#f8fafc;border:1px solid #dbe5f0;border-radius:16px;padding:15px 16px}.selected-package-box>div:first-child span,.selected-plan-summary>span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.selected-package-box>div:first-child strong{color:#102f4a;margin-bottom:12px;font-size:16px;display:block}.package-mini-grid,.plan-summary-grid{grid-template-columns:1fr 1fr;gap:8px 14px;display:grid}.package-mini-grid p,.plan-summary-grid p{color:#475569;margin:0;font-size:13px;line-height:1.45}.schedule-slots-card .table-head{border-bottom:1px solid #edf2f7;padding:20px 24px}.selected-plan-summary{margin:16px 24px 0}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 24px 24px;display:grid}.time-slot{color:#334155;text-align:left;cursor:pointer;background:#fbfdff;border:1px solid #dce7f0;border-left:4px solid #38bdf8;border-radius:11px;min-height:72px;padding:12px 14px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;box-shadow:0 2px 7px #0f172a09}.time-slot strong{color:#0f172a;font-variant-numeric:tabular-nums;margin-bottom:5px;font-size:15px;display:block}.time-slot span{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.time-slot:hover:not(.occupied){background:#f0f9ff;border-color:#7dd3fc;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.time-slot.selected{background:#e0f2fe;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf81f}.time-slot.occupied{color:#991b1b;cursor:not-allowed;background:#fffdfd;border-color:#f2dada #f2dada #f2dada #ef4444}.time-slot.occupied strong,.time-slot.occupied span{color:#991b1b}.schedule-filter-grid{grid-template-columns:minmax(220px,1fr) minmax(300px,1.25fr) auto;align-items:end;gap:14px;padding:20px 24px;display:grid}.schedule-filter-grid .cancel-button{white-space:nowrap;height:52px;padding:0 20px}.schedule-student-filter-group{z-index:70}.schedule-student-search-control{position:relative}.schedule-student-search-control input{padding:0 44px}.schedule-student-search-icon{z-index:2;color:#718399;pointer-events:none;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.schedule-student-search-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.schedule-student-search-clear{z-index:3;color:#64748b;cursor:pointer;background:#edf2f7;border:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:20px;line-height:1;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.schedule-student-search-clear:hover{color:#0f172a;background:#dfe7ef}.schedule-student-search-results{z-index:3000;background:#fff;border:1px solid #dbe5f0;border-radius:14px;max-height:310px;padding:7px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #0f172a29}.schedule-student-search-result{color:#1e3858;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:10px;display:flex}.schedule-student-search-result:hover,.schedule-student-search-result.selected{background:#f0f9ff}.schedule-student-result-avatar{color:#087f94;background:#e1f5f8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:flex}.schedule-student-result-content{flex-direction:column;gap:3px;min-width:0;display:flex}.schedule-student-result-content strong,.schedule-student-result-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-student-result-content strong{color:#18334d;font-size:13px}.schedule-student-result-content small{color:#7a8a9b;font-size:11px}.schedule-student-search-empty{color:#8493a5;text-align:center;padding:18px 12px;font-size:13px}.schedule-weekly-card{margin-bottom:26px}.schedule-weekly-card .table-head,.schedule-list-card .table-head{background:#fff;padding:20px 26px}.schedule-weekly-card .table-head h2,.schedule-list-card .table-head h2{color:#10243a;letter-spacing:-.015em;margin-bottom:5px;font-size:20px}.schedule-weekly-card .table-head p,.schedule-list-card .table-head p{color:#718399;font-size:13px}.schedule-weekly-card .lesson-count,.schedule-list-card .lesson-count{color:#4d7c0f;background:#ecfccb;border-radius:12px;min-width:72px;padding:9px 14px}.schedule-weekly-wrapper{border-top:1px solid #e8eef5;padding:18px 12px 24px;overflow:hidden visible}.schedule-weekly-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:0}.schedule-weekly-table,.schedule-weekly-table tbody,.schedule-weekly-table tr,.schedule-weekly-table td{overflow:visible}.schedule-weekly-table th{color:#40546b;text-align:left;text-transform:uppercase;letter-spacing:.065em;vertical-align:middle;background:#f7f9fc;border-bottom:1px solid #dfe8f1;height:50px;padding:0 10px;font-size:11px;font-weight:850;line-height:1}.schedule-weekly-table th:first-child{width:72px}.schedule-weekly-table th:not(:first-child){width:calc(14.2857% - 10.2857px);min-width:0}.schedule-weekly-table td{vertical-align:top;background:#fff;border-bottom:1px solid #edf2f7;border-right:1px solid #edf2f7;height:64px;padding:8px;font-size:14px;position:relative}.schedule-weekly-table tbody tr:last-child td{border-bottom:0}.schedule-weekly-table td.schedule-cell-has-lessons{background:#fcfdff;height:auto;min-height:64px}.schedule-weekly-table th:first-child,.schedule-weekly-table td:first-child{z-index:2;position:sticky;left:0}.schedule-weekly-table th:first-child{z-index:3}.schedule-hour{color:#334155;font-variant-numeric:tabular-nums;width:72px;min-width:72px;font-size:14px;font-weight:800;background:#f8fafc!important}.schedule-empty-slot{color:#94a3b8;font-size:12px}.schedule-cell-stack{flex-direction:column;gap:7px;min-width:0;display:flex}.schedule-lesson-card{z-index:1;background:#fff;border:1px solid #dce7f0;border-left:4px solid #38bdf8;border-radius:11px;width:100%;min-width:0;padding:9px 8px 9px 10px;transition:transform .16s,border-color .16s,box-shadow .16s;position:relative;box-shadow:0 2px 7px #0f172a09}.schedule-lesson-card:hover{z-index:20;border-color:#b9d8e8;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a17}.schedule-lesson-card.menu-open{z-index:999}.schedule-lesson-card.planned{background:#fbfdff;border-color:#d8e8f2 #d8e8f2 #d8e8f2 #38bdf8}.schedule-lesson-card.completed{background:#fbfffc;border-color:#d7eedc #d7eedc #d7eedc #22c55e}.schedule-lesson-card.cancelled{background:#fffdfd;border-color:#f2dada #f2dada #f2dada #ef4444}.schedule-lesson-card.makeup-waiting{background:#fffef8;border-color:#f1e4ba #f1e4ba #f1e4ba #eab308}.schedule-lesson-card.makeup-completed{background:#fbfffd;border-color:#d3eee1 #d3eee1 #d3eee1 #10b981}.schedule-card-top{justify-content:space-between;align-items:flex-start;gap:5px;min-width:0;display:flex}.schedule-card-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.schedule-teacher-line{align-items:center;min-width:0;display:flex}.schedule-teacher-line strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:800;line-height:1.2;display:block;overflow:hidden}.schedule-card-text>span{color:#52657a;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:11px;line-height:1.35;display:flex;overflow:hidden}.schedule-card-text>span b{color:#a0aec0;font-size:8px}.schedule-card-text>em{border-radius:999px;align-self:flex-start;width:fit-content;margin:1px 0 0;padding:3px 7px;font-size:9px;font-style:normal;font-weight:800;line-height:1}.schedule-lesson-card.completed .schedule-card-text>em{color:#166534;background:#dcfce7}.schedule-lesson-card.cancelled .schedule-card-text>em{color:#991b1b;background:#fee2e2}.schedule-lesson-card.makeup-waiting .schedule-card-text>em{color:#854d0e;background:#fef3c7}.schedule-lesson-card.makeup-completed .schedule-card-text>em{color:#047857;background:#d1fae5}.schedule-lesson-action-wrapper{z-index:1000;flex-shrink:0;position:relative}.schedule-lesson-menu-button{color:#8493a5;cursor:pointer;opacity:.85;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:16px;font-weight:900;line-height:1;display:flex}.schedule-lesson-menu-button:hover{color:#0f172a;opacity:1;background:#eef3f7}.schedule-lesson-action-menu{z-index:2000;background:#fff;border:1px solid #dbe5f0;border-radius:12px;min-width:130px;padding:6px;position:absolute;top:23px;right:0;box-shadow:0 16px 34px #0f172a2e}.schedule-lesson-action-menu button{color:#1e3858;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;width:100%;padding:9px 10px;font-size:12px;font-weight:750}.schedule-lesson-action-menu button:hover{background:#f1f5f9}.schedule-lesson-action-menu button.danger{color:#b91c1c}.schedule-lesson-action-menu button.danger:hover{background:#fef2f2}.schedule-more-button{color:#52657a;text-align:center;cursor:pointer;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:8px;width:100%;padding:6px 8px;font-size:10.5px;font-weight:800}.schedule-more-button:hover{color:#0369a1;background:#eef9ff;border-color:#7dd3fc}.schedule-list-card{margin-bottom:26px}.schedule-list-card .payment-table-wrapper{border-top:1px solid #e8eef5;overflow-x:auto}.schedule-detail-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:980px}.schedule-detail-table thead th{color:#40546b;text-align:center;text-transform:uppercase;letter-spacing:.065em;vertical-align:middle;background:#f7f9fc;border-bottom:1px solid #dfe8f1;height:50px;padding:0 16px;font-size:11px;font-weight:850;line-height:1}.schedule-detail-table tbody td{color:#52667d;text-align:center;vertical-align:middle;background:#fff;border-bottom:1px solid #edf2f7;height:76px;padding:15px 18px;font-size:13px;line-height:1.45}.schedule-detail-table tbody tr:nth-child(2n) td{background:#fbfcfe}.schedule-detail-table tbody tr:hover td{background:#f5faff}.schedule-detail-table tbody tr:hover{box-shadow:inset 3px 0 #38bdf8}.schedule-detail-table tbody tr:last-child td{border-bottom:0}.schedule-detail-table th:first-child,.schedule-detail-table td:first-child{width:12%}.schedule-detail-table th:nth-child(2),.schedule-detail-table td:nth-child(2){width:9%}.schedule-detail-table th:nth-child(3),.schedule-detail-table td:nth-child(3),.schedule-detail-table th:nth-child(4),.schedule-detail-table td:nth-child(4){width:17%}.schedule-detail-table th:nth-child(5),.schedule-detail-table td:nth-child(5){width:23%}.schedule-detail-table th:nth-child(6),.schedule-detail-table td:nth-child(6),.schedule-detail-table th:nth-child(7),.schedule-detail-table td:nth-child(7){width:11%}.schedule-day-text{color:#38516b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9px;justify-content:center;align-items:center;min-width:78px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.schedule-time-text{color:#15324d;font-variant-numeric:tabular-nums;font-size:13px;font-weight:850}.schedule-person-text{color:#3f5872;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:13px;font-weight:600;display:block;overflow:hidden}.schedule-lesson-detail{text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.schedule-lesson-detail strong,.schedule-lesson-detail small{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.schedule-lesson-detail strong{color:#102f4a;font-size:13px;font-weight:850}.schedule-lesson-detail small{color:#8190a2;font-size:11px}.schedule-duration-pill{color:#0369a1;background:#e0f2fe;border-radius:999px;justify-content:center;align-items:center;min-width:68px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.schedule-table-delete-button{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:7px 12px;font-size:11px;font-weight:800}.schedule-table-delete-button:hover{background:#fee2e2}.schedule-detail-table .empty-table{height:120px;font-size:13px;color:#8b9aac!important;text-align:center!important}@media (width<=1180px){.schedule-layout{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-filter-grid{grid-template-columns:1fr 1fr}.schedule-filter-grid .cancel-button{width:100%}.schedule-weekly-wrapper{overflow-x:auto}.schedule-weekly-table{table-layout:auto;min-width:1150px}.schedule-weekly-table th:not(:first-child){width:auto;min-width:145px}}@media (width<=900px){.schedule-filter-grid{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=650px){.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.package-mini-grid,.plan-summary-grid{grid-template-columns:1fr}.selected-plan-summary{margin:14px 16px 0}.schedule-detail-table{min-width:920px}}.schedule-filter-card{z-index:100;position:relative;overflow:visible!important}.schedule-filter-grid{position:relative;overflow:visible!important}.schedule-student-filter-group{z-index:110;position:relative;overflow:visible}.schedule-student-search-control{z-index:111;position:relative}.schedule-student-search-results{z-index:9999;background:#fff;border:1px solid #dce5f0;border-radius:16px;max-height:320px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto;box-shadow:0 18px 40px #0f172a1f,0 4px 12px #0f172a0f}.schedule-weekly-card,.schedule-list-card,.schedule-layout{z-index:1;position:relative}.schedule-student-result-content small{display:none!important}.schedule-student-result-content{gap:0}.manual-time-status{border-radius:12px;margin:0 0 16px;padding:12px 14px;font-size:14px;font-weight:700}.manual-time-status.pending{color:#475569;background:#f1f5f9}.manual-time-status.available{color:#15803d;background:#dcfce7}.manual-time-status.blocked{color:#b91c1c;background:#fee2e2}.manual-time-busy>span{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.manual-time-busy p{color:#64748b;margin:0;font-size:13px}.manual-time-busy ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.manual-time-busy li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;gap:4px 10px;padding:8px 10px;font-size:13px;display:flex}.schedule-card-time{color:#64748b;font-size:11px;font-weight:700;display:block}.day-column-table td{vertical-align:top}.day-column-table .schedule-cell-stack,.day-column-table .status-cell-stack{max-height:none}.day-column-table .schedule-card-time{color:#0f172a;margin-bottom:2px;font-size:12px;font-weight:900}.weekly-schedule-table.day-column-table th,.weekly-schedule-table.day-column-table th:first-child,.weekly-schedule-table.day-column-table th:not(:first-child){width:14.2857%;height:auto;padding:10px;line-height:1.2}.weekly-schedule-table.day-column-table th:first-child,.weekly-schedule-table.day-column-table td:first-child{position:static}.weekly-schedule-table.day-column-table th span,.weekly-schedule-table.day-column-table th small{display:block}.weekly-schedule-table.day-column-table th small{color:#64748b;letter-spacing:0;margin-top:4px;font-size:11px;font-weight:700}.weekly-schedule-table.day-column-table td{height:auto;min-height:120px}.day-time-group{flex-direction:column;gap:6px;min-width:0;display:flex}.day-time-group.multiple{background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:12px;padding:6px}.day-time-group-head{color:#334155;flex-wrap:wrap;align-items:baseline;gap:4px 6px;padding:0 2px;font-size:11px;display:flex}.day-time-group-head b{color:#0f172a;font-size:12px;font-weight:900}@media (width<=1180px){.schedule-weekly-table.day-column-table th,.schedule-weekly-table.day-column-table th:first-child,.schedule-weekly-table.day-column-table th:not(:first-child){width:auto;min-width:145px}}.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-form-card{padding:26px 28px;overflow:visible}.schedule-card-heading{border-bottom:1px solid #edf2f7;padding-bottom:18px}.schedule-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.schedule-form-grid>.form-group.full-width{grid-column:auto}.schedule-form-grid>.selected-package-box,.schedule-form-grid>.full-width:not(.form-group){grid-column:1/-1}.selected-package-box{background:linear-gradient(135deg,#f0f9ff,#f8fafc);border-color:#d6eaf6;flex-wrap:wrap;align-items:center;gap:10px 28px;display:flex}.selected-package-box>div:first-child strong{margin-bottom:0}.selected-package-box .package-mini-grid{flex-wrap:wrap;gap:8px;display:flex}.selected-package-box .package-mini-grid p{background:#fff;border:1px solid #e2eaf3;border-radius:999px;padding:6px 11px}.schedule-time-section{border-top:1px dashed #e2eaf3;grid-template-columns:minmax(0,1fr) 200px;align-items:end;gap:18px;margin-top:18px;padding-top:18px;display:grid}.schedule-day-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.schedule-day-chip{color:#40546b;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#f8fafc;border:1px solid #d9e2ef;border-radius:14px;height:52px;padding:0 6px;font-family:inherit;font-size:13px;font-weight:700;transition:background .16s,border-color .16s,color .16s;overflow:hidden}.schedule-day-chip:hover{color:#0369a1;background:#f0f9ff;border-color:#7dd3fc}.schedule-day-chip.active{color:#fff;background:linear-gradient(135deg,#0ea5e9,#14b8a6);border-color:#0000;box-shadow:0 6px 14px #0ea5e940}.schedule-form-card input:disabled{color:#94a3b8;cursor:not-allowed;background-color:#f1f5f9}.schedule-form-footer{border-top:1px solid #edf2f7;align-items:center;gap:18px;margin-top:20px;padding-top:18px;display:flex}.manual-time-panel{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.manual-time-panel .manual-time-status{align-self:flex-start;margin:0;padding:10px 14px;font-size:13px}.manual-time-busy{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.manual-time-busy>span{margin:0}.manual-time-panel .manual-time-busy ul{flex-wrap:wrap;gap:6px;display:flex}.manual-time-busy li{background:#fff7ed;border-color:#fed7aa;border-radius:999px;gap:6px;padding:4px 10px;font-size:12px}.manual-time-busy li b{color:#9a3412;font-variant-numeric:tabular-nums}.manual-time-busy li span{color:#c2410c}.schedule-form-card .schedule-save-button{flex-shrink:0;width:auto;min-width:240px;margin:0;display:block}@media (width<=1180px){.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-time-section{grid-template-columns:minmax(0,1fr)}.schedule-day-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=650px){.schedule-form-card{padding:20px 16px}.schedule-form-grid{grid-template-columns:minmax(0,1fr)}.schedule-day-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-form-footer{flex-direction:column;align-items:stretch}.schedule-form-card .schedule-save-button{width:100%;min-width:0}}.teacher-form-card{padding:28px;overflow:visible}.teacher-form-card .section-title-row{margin-bottom:24px}.teacher-form-top{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;display:grid}.teacher-photo-section{flex-direction:column;align-items:center;display:flex}.teacher-photo-label{color:#29445f;width:100%;margin-bottom:10px;font-size:14px;font-weight:700}.teacher-photo-upload{cursor:pointer;background:#f8fafc;border:1px solid #dce4ec;border-radius:20px;width:100%;height:220px;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden}.teacher-photo-upload:hover{border-color:#17a8c1;transform:translateY(-1px);box-shadow:0 8px 24px #109bb41f}.teacher-default-photo-icon{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.teacher-default-photo-icon svg{fill:#a9adb2;width:132px;height:132px}.teacher-photo-large-preview{object-fit:cover;width:100%;height:100%}.teacher-photo-plus{color:#fff;background:#9da1a6;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:36px;font-weight:400;line-height:1;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 4px 12px #0f172a2e}.teacher-photo-upload:hover .teacher-photo-plus{background:#13a8bf}.teacher-photo-help{color:#8491a0;text-align:center;width:100%;margin:9px 0 0;font-size:12px;line-height:1.4}.teacher-photo-remove{color:#c43f3f;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:0;font-size:13px;font-weight:700}.teacher-photo-remove:hover{text-decoration:underline}.teacher-photo-upload:focus-visible,.teacher-photo-remove:focus-visible,.specialty-add-row button:focus-visible,.teacher-cv-dropzone:focus-visible,.teacher-cv-remove:focus-visible,.teacher-status-filter-button:focus-visible,.teacher-passive-button:focus-visible,.teacher-reactivate-button:focus-visible,.teacher-pdf-button:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5e929}.hidden-file-input{display:none}.teacher-active-row{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:9px;width:100%;margin-top:16px;padding:12px 14px;font-size:13px;font-weight:700;display:flex}.teacher-active-row input{width:17px;height:17px;margin:0}.teacher-form-content{min-width:0}.teacher-form-card .form-grid{align-items:start;gap:18px 20px}.teacher-form-card .form-group{min-width:0}.teacher-form-card .form-group>label{margin-bottom:8px;display:block}.teacher-form-card textarea{min-height:110px}.required-star{color:#ef4444;margin-left:4px}.field-help-text{color:#7b8b9d;margin-top:7px;font-size:12px;line-height:1.45;display:block}.specialty-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.specialty-item{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:11px 12px;font-size:13px;font-weight:700;display:flex}.specialty-item input{width:16px;height:16px;margin:0}.specialty-item.selected{color:#65a30d;background:#ecfccb;border-color:#84cc16}.specialty-add-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.specialty-add-row-bottom{margin-top:12px}.specialty-add-row button{color:#65a30d;cursor:pointer;background:#ecfccb;border:0;border-radius:12px;padding:10px 14px;font-weight:800}.teacher-commission-box{background:linear-gradient(135deg,#f8fbff 0%,#ecfeff 100%);border:1px solid #cfe8f3;border-radius:18px;grid-template-columns:minmax(270px,1fr) minmax(0,1.6fr);align-items:center;gap:20px;width:100%;margin-top:24px;padding:20px;display:grid}.teacher-commission-box>div:first-child>span{color:#0369a1;margin-bottom:7px;font-size:14px;font-weight:800;display:block}.teacher-commission-box>div:first-child>p{color:#64748b;margin:0;font-size:13px;line-height:1.55}.teacher-payment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-payment-summary-grid .package-calculation-item{background:#fff;border:1px solid #dbe4ec;border-radius:15px;flex-direction:column;justify-content:center;min-width:0;min-height:82px;padding:15px 16px;display:flex}.teacher-payment-summary-grid small{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.teacher-payment-summary-grid strong{color:#0f172a;font-size:17px;line-height:1.25}.teacher-cv-section{margin-top:22px}.teacher-cv-section>label:first-child{color:#29445f;margin-bottom:8px;font-size:14px;font-weight:700;display:block}.teacher-cv-dropzone{cursor:pointer;background:#f8fbfd;border:2px dashed #cbd8e5;border-radius:16px;justify-content:center;align-items:center;min-height:135px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.teacher-cv-dropzone:hover,.teacher-cv-dropzone-active{background:#f0fbfd;border-color:#17abc3;box-shadow:0 0 0 4px #17abc314}.teacher-cv-empty{text-align:left;align-items:center;gap:18px;padding:20px;display:flex}.teacher-upload-icon{background:#e5f7fa;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.teacher-upload-icon svg{fill:none;stroke:#119fb8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:27px;height:27px}.teacher-cv-empty strong{color:#17324c;margin-bottom:4px;font-size:15px;display:block}.teacher-cv-empty p{color:#64778a;margin:0 0 5px;font-size:14px}.teacher-cv-empty small{color:#8b98a6;font-size:12px}.teacher-cv-selected{align-items:center;gap:15px;width:100%;padding:20px;display:flex}.teacher-cv-file-icon{color:#0795ad;background:#e7f8fb;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:14px;font-weight:800;display:flex}.teacher-cv-file-info{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.teacher-cv-file-info strong{color:#21384f;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.teacher-cv-file-info span{color:#6b7c8d;font-size:12px}.teacher-cv-remove{color:#b83b3b;cursor:pointer;background:#fee7e7;border:0;border-radius:9px;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:700}.teacher-cv-remove:hover{background:#fbd0d0}.teacher-form-card form>.form-actions{justify-content:flex-end;gap:12px;margin-top:22px;padding-top:0;display:flex;position:static;transform:none}.teacher-table-user{align-items:center;gap:10px;display:flex}.teacher-table-photo{color:#087f94;background:#e0f5f9;border:1px solid #d7e0e8;border-radius:50%;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;font-size:14px;font-weight:700;display:flex;overflow:hidden}.teacher-table-photo img{object-fit:cover;width:100%;height:100%}@media (width<=1050px){.teacher-commission-box{grid-template-columns:1fr}.specialty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.teacher-form-top{grid-template-columns:1fr}.teacher-photo-section{align-items:flex-start}.teacher-photo-upload,.teacher-photo-label{width:220px}}@media (width<=650px){.teacher-form-card{padding:20px}.teacher-photo-upload,.teacher-photo-label{width:180px}.teacher-photo-upload{height:180px}.specialty-grid,.teacher-payment-summary-grid{grid-template-columns:1fr}.teacher-cv-empty{text-align:center;flex-direction:column}.teacher-cv-selected{flex-wrap:wrap;align-items:flex-start}.teacher-cv-remove{width:100%}}.teacher-current-status{border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;width:100%;margin-top:16px;padding:12px 14px;display:flex}.teacher-current-status>span{border-radius:50%;flex-shrink:0;width:10px;height:10px}.teacher-current-status div{min-width:0}.teacher-current-status strong,.teacher-current-status small{display:block}.teacher-current-status strong{color:#334155;margin-bottom:2px;font-size:13px}.teacher-current-status small{color:#7b8b9d;font-size:11px;line-height:1.35}.teacher-current-status.active{background:#f0fdf4;border-color:#bbf7d0}.teacher-current-status.active>span{background:#22c55e;box-shadow:0 0 0 4px #dcfce7}.teacher-current-status.passive{background:#fff7ed;border-color:#fed7aa}.teacher-current-status.passive>span{background:#f97316;box-shadow:0 0 0 4px #ffedd5}.teacher-status-filter-bar{background:#fbfdff;border-bottom:1px solid #e7edf5;align-items:center;gap:9px;padding:14px 20px;display:flex}.teacher-status-filter-button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dce5ee;border-radius:10px;padding:8px 13px;font-size:12px;font-weight:800;transition:color .2s,background .2s,border-color .2s,box-shadow .2s}.teacher-status-filter-button:hover{color:#0369a1;border-color:#7dd3fc}.teacher-status-filter-button.selected{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc;box-shadow:0 0 0 3px #0ea5e914}.teacher-status-cell{flex-direction:column;align-items:flex-start;gap:6px;min-width:140px;display:flex}.teacher-status-cell small{color:#7b8b9d;max-width:190px;font-size:11px;line-height:1.35}.teacher-passive-button,.teacher-reactivate-button{cursor:pointer;white-space:nowrap;border:0;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800}.teacher-passive-button{color:#b45309;background:#fef3c7}.teacher-passive-button:hover{background:#fde68a}.teacher-reactivate-button{color:#15803d;background:#dcfce7}.teacher-reactivate-button:hover{background:#bbf7d0}@media (width<=650px){.teacher-status-filter-bar{flex-direction:column;align-items:stretch}.teacher-status-filter-button{width:100%}}.teacher-page-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.teacher-page-actions .excel-button,.teacher-page-actions .manage-button{min-height:42px}.teacher-pdf-button{color:#7c3aed;cursor:pointer;white-space:nowrap;background:#ede9fe;border:0;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800}.teacher-pdf-button:hover{background:#ddd6fe}.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th,.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td{vertical-align:middle}.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(5),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(5),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(6),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(6),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(7),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(7),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(8),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(8),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(9),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(9),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(10),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(10){text-align:center}.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(8) .teacher-status-cell{text-align:center;justify-content:center;align-items:center;margin:0 auto}.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(9),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(9){width:120px;min-width:120px}.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th:nth-child(10),.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(10){width:285px;min-width:285px}.teacher-status-filter-bar+.payment-table-wrapper .lesson-table td:nth-child(10) .teacher-table-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;display:flex}.teacher-status-filter-bar+.payment-table-wrapper .lesson-table th{white-space:nowrap}@media (width<=650px){.teacher-page-actions{flex-direction:column;align-items:stretch;width:100%}.teacher-page-actions .excel-button,.teacher-page-actions .manage-button{width:100%}}.teacher-status-filter-bar+.payment-table-wrapper{width:100%;overflow-x:hidden}.teacher-list-table{table-layout:fixed;width:100%;min-width:0}.teacher-list-table th,.teacher-list-table td{box-sizing:border-box;vertical-align:middle}.teacher-list-table th{color:#334155;text-align:center;white-space:nowrap;padding:14px;font-size:11px}.teacher-list-table td{text-align:center;padding:16px 14px;font-size:12px}.teacher-list-table th:first-child{text-align:center;width:15%;padding-left:14px;padding-right:14px}.teacher-list-table td:first-child{text-align:left;width:15%;padding-left:28px;padding-right:14px}.teacher-list-table th:nth-child(2),.teacher-list-table td:nth-child(2){text-align:center;width:10%;padding-right:16px}.teacher-list-table th:nth-child(3),.teacher-list-table td:nth-child(3){text-align:center;width:14%;padding-left:16px;padding-right:16px}.teacher-list-table th:nth-child(4),.teacher-list-table td:nth-child(4){text-align:left;width:12%}.teacher-list-table th:nth-child(5),.teacher-list-table td:nth-child(5){text-align:center;width:8%}.teacher-list-table th:nth-child(6),.teacher-list-table td:nth-child(6){text-align:center;width:7%}.teacher-list-table th:nth-child(7),.teacher-list-table td:nth-child(7){text-align:center;width:10%}.teacher-list-table th:nth-child(8),.teacher-list-table td:nth-child(8){text-align:center;width:8%}.teacher-list-table th:nth-child(9),.teacher-list-table td:nth-child(9){text-align:center;width:14%}.teacher-list-table .teacher-table-user{min-width:0}.teacher-list-table .teacher-table-user strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.teacher-phone-cell,.teacher-email-cell{color:#64748b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-email-cell{text-align:center!important}.teacher-list-table td:nth-child(8) .teacher-status-cell{text-align:center;justify-content:center;align-items:center;min-width:0;margin:0 auto}.teacher-list-table td:nth-child(9) .teacher-table-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;display:flex}.teacher-list-table .teacher-pdf-button,.teacher-list-table .detail-button,.teacher-list-table .teacher-passive-button,.teacher-list-table .teacher-reactivate-button{padding:7px 8px;font-size:11px}@media (width<=1180px){.teacher-status-filter-bar+.payment-table-wrapper{overflow-x:auto}.teacher-list-table{table-layout:fixed;min-width:1050px}.teacher-list-table th,.teacher-list-table td{white-space:nowrap}}.teacher-form-card .form-group select{appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 18px center!important;background-repeat:no-repeat!important;background-size:14px 14px!important}.teacher-page-actions button:disabled,.teacher-pdf-button:disabled{cursor:not-allowed;opacity:.6}.teacher-pdf-button:disabled{min-width:96px}.teacher-delete-button{color:#dc2626;cursor:pointer;white-space:nowrap;background:#fff1f2;border:1px solid #fecaca;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800}.teacher-delete-button:disabled{opacity:.6;cursor:not-allowed}.teacher-list-table th:first-child,.teacher-list-table td:first-child{width:14%}.teacher-list-table th:nth-child(2),.teacher-list-table td:nth-child(2){width:9%}.teacher-list-table th:nth-child(3),.teacher-list-table td:nth-child(3){width:12%}.teacher-list-table th:nth-child(4),.teacher-list-table td:nth-child(4){width:11%}.teacher-list-table th:nth-child(5),.teacher-list-table td:nth-child(5),.teacher-list-table th:nth-child(6),.teacher-list-table td:nth-child(6){width:6%}.teacher-list-table th:nth-child(7),.teacher-list-table td:nth-child(7){width:9%}.teacher-list-table th:nth-child(8),.teacher-list-table td:nth-child(8){width:8%}.teacher-list-table th:nth-child(9),.teacher-list-table td:nth-child(9){width:25%}.teacher-list-table .teacher-delete-button{padding:7px 8px;font-size:11px}@media (width<=1180px){.teacher-list-table{min-width:1150px}}.finance-page-header{margin-bottom:22px}.finance-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.finance-metric-card{background:#fff;border:1px solid #e7edf5;border-top:4px solid #0000;border-radius:18px;min-height:145px;padding:19px;box-shadow:0 8px 24px #0f172a0a}.finance-metric-card span{color:#64748b;margin-bottom:12px;font-size:13px;font-weight:800;display:block}.finance-metric-card strong{color:#0f172a;margin-bottom:9px;font-size:25px;line-height:1.2;display:block}.finance-metric-card small{color:#8491a0;font-size:12px;line-height:1.45;display:block}.finance-metric-card.income{border-top-color:#22c55e}.finance-metric-card.expense{border-top-color:#ef4444}.finance-metric-card.net{border-top-color:#0ea5e9}.finance-metric-card.teacher{border-top-color:#f59e0b}.finance-metric-card.income strong{color:#16a34a}.finance-metric-card.expense strong{color:#dc2626}.finance-metric-card.net strong{color:#0284c7}.finance-metric-card.teacher strong{color:#d97706}.finance-tabs{background:#fff;border:1px solid #e7edf5;border-radius:16px;align-items:center;gap:8px;margin-bottom:22px;padding:7px;display:flex;overflow-x:auto;box-shadow:0 8px 22px #0f172a0a}.finance-tabs button{color:#526579;cursor:pointer;background:0 0;border:none;border-radius:11px;flex-shrink:0;padding:11px 17px;font-size:14px;font-weight:800;transition:color .2s,background .2s}.finance-tabs button:hover{color:#087e95;background:#f0fbfd}.finance-tabs button.active{color:#087e95;background:#dff6fa}.finance-tabs button:focus-visible,.finance-primary-button:focus-visible,.finance-history-page-button:focus-visible,.finance-income-page-button:focus-visible,.teacher-payment-summary-footer button.teacher-package-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5e929}.finance-overview-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.finance-overview-card,.finance-table-card{background:#fff;border:1px solid #e7edf5;border-radius:20px;padding:24px;box-shadow:0 10px 28px #0f172a0d}.finance-overview-wide{grid-column:1/-1}.finance-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.finance-section-heading h2,.finance-section-heading h3{color:#0f172a;margin:0 0 5px}.finance-section-heading h2{font-size:20px}.finance-section-heading h3{font-size:18px}.finance-section-heading p{color:#64748b;margin:0;font-size:14px;line-height:1.5}.finance-summary-row{color:#526579;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.finance-summary-row:last-child{border-bottom:none}.finance-summary-row strong{color:#0f172a}.finance-summary-row.total{color:#0f172a;margin-top:3px;font-weight:800}.finance-summary-row.total strong{font-size:18px}.finance-teacher-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.finance-teacher-summary-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;padding:16px}.finance-teacher-summary-item span{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.finance-teacher-summary-item strong{color:#0f172a;font-size:20px;display:block}.finance-teacher-summary-item.paid strong{color:#16a34a}.finance-teacher-summary-item.pending strong{color:#dc2626}.finance-teacher-summary-item.lessons strong{color:#0284c7}.finance-primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#09a6d3,#12b8ad);border:none;border-radius:12px;flex-shrink:0;padding:11px 15px;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s}.finance-primary-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px #09a6d333}.finance-primary-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.finance-entry-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:17px;margin-bottom:22px;padding:20px}.finance-entry-form-heading{margin-bottom:18px}.finance-entry-form-heading h3{color:#0f172a;margin:0 0 5px;font-size:18px}.finance-entry-form-heading p{color:#64748b;margin:0;font-size:13px}.finance-form-actions{box-shadow:none;background:0 0;border:none;justify-content:flex-end;gap:11px;margin-top:18px;padding:0;display:flex;position:static;transform:none}.finance-form-actions:before,.finance-form-actions:after{content:none;display:none}.finance-list-controls{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px;display:flex}.finance-search-box{width:min(430px,100%)}.finance-search-box label{color:#334155;margin-bottom:7px;font-size:13px;font-weight:800;display:block}.finance-search-box input{color:#334155;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;width:100%;padding:12px 14px;font-size:14px}.finance-search-box input:focus{background:#fff;border-color:#0ea5e9;outline:none;box-shadow:0 0 0 4px #0ea5e917}.finance-record-count{color:#527000;background:#e7f9b9;border-radius:12px;flex-shrink:0;padding:9px 13px;font-size:13px;font-weight:800}.finance-table-wrapper{border:1px solid #e7edf5;border-radius:15px;overflow-x:auto}.finance-table{min-width:1050px}.finance-source-badge,.finance-status{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-block}.finance-source-badge.automatic{color:#0369a1;background:#e0f2fe}.finance-source-badge.manual{color:#7c3aed;background:#ede9fe}.finance-readonly-label{color:#8491a0;white-space:nowrap;font-size:12px;font-weight:700}.finance-status.paid{color:#16a34a;background:#dcfce7}.finance-status.partial{color:#ca8a04;background:#fef3c7}.finance-status.pending{color:#dc2626;background:#fee2e2}.finance-teacher-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.finance-teacher-metric-card{background:#fff;border:1px solid #e7edf5;border-top:4px solid #f59e0b;border-radius:18px;min-height:105px;padding:18px;box-shadow:0 8px 24px #0f172a0a}.finance-teacher-metric-card span{color:#64748b;margin-bottom:11px;font-size:13px;font-weight:800;display:block}.finance-teacher-metric-card strong{color:#d97706;font-size:24px;display:block}.finance-teacher-metric-card.paid{border-top-color:#22c55e}.finance-teacher-metric-card.paid strong{color:#16a34a}.finance-teacher-metric-card.pending{border-top-color:#ef4444}.finance-teacher-metric-card.pending strong{color:#dc2626}.finance-teacher-metric-card.lessons{border-top-color:#0ea5e9}.finance-teacher-metric-card.lessons strong{color:#0284c7}@media (width<=1150px){.finance-metric-grid,.finance-teacher-metric-grid,.finance-teacher-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.finance-overview-layout{grid-template-columns:1fr}.finance-overview-wide{grid-column:auto}}@media (width<=750px){.finance-metric-grid,.finance-teacher-metric-grid,.finance-teacher-summary-grid{grid-template-columns:1fr}.finance-section-heading,.finance-list-controls{flex-direction:column;align-items:flex-start}.finance-primary-button,.finance-search-box{width:100%}.finance-record-count{align-self:flex-end}}.teacher-payment-summary{background:linear-gradient(135deg,#f8fafc,#ecfeff);border:1px solid #dbeafe;border-radius:17px;margin:16px 0 20px;padding:18px}.teacher-payment-summary-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.teacher-payment-summary-head>div>span{color:#0369a1;margin-bottom:4px;font-size:12px;font-weight:900;display:block}.teacher-payment-summary-head h4{color:#0f172a;margin:0 0 4px;font-size:18px}.teacher-payment-summary-head p{color:#64748b;margin:0;font-size:13px}.teacher-payment-summary-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-payment-summary-item{background:#fff;border:1px solid #e2e8f0;border-radius:14px;min-width:0;padding:14px 15px}.teacher-payment-summary-item small{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.teacher-payment-summary-item strong{color:#0f172a;font-size:19px;display:block}.teacher-payment-summary-item.paid strong{color:#16a34a}.teacher-payment-summary-item.pending strong{color:#dc2626}.teacher-payment-summary-footer{border-top:1px solid #dbeafe;justify-content:space-between;align-items:center;gap:14px;margin-top:13px;padding-top:13px;display:flex}.teacher-payment-summary-footer>span{color:#64748b;font-size:12px;font-weight:800}.teacher-payment-summary-footer button.teacher-package-toggle{appearance:none;cursor:pointer;box-shadow:none;border-radius:9px;font-family:inherit;font-size:12px;font-weight:800;line-height:1;transition:background .2s,border-color .2s,color .2s;color:#0369a1!important;background:#fff!important;border:1px solid #bae6fd!important;padding:7px 11px!important}.teacher-payment-summary-footer button.teacher-package-toggle:hover{text-decoration:none;color:#075985!important;background:#e0f2fe!important;border-color:#7dd3fc!important}.teacher-package-list{margin-top:13px}.teacher-package-list-grid{gap:9px;display:grid}.teacher-package-list-item{background:#ffffffd1;border:1px solid #dbeafe;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.teacher-package-list-item strong,.teacher-package-list-item small{display:block}.teacher-package-list-item strong{color:#0f172a;margin-bottom:3px;font-size:13px}.teacher-package-list-item small{color:#64748b;font-size:12px}.teacher-package-amounts{color:#475569;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:3px;font-size:12px;display:flex}.teacher-package-amounts span:last-child{color:#0369a1;font-weight:800}.teacher-payment-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 20px;margin-top:20px;display:grid}.teacher-payment-entry-grid .form-group{min-width:0;margin:0}.teacher-payment-entry-grid .form-group>label{min-height:18px;margin:0 0 8px;line-height:18px;display:block}.teacher-payment-entry-grid .form-group>input,.teacher-payment-entry-grid .form-group>select{width:100%}.finance-payment-amount-group{min-width:0}.finance-payment-quick-row{justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:34px;margin-top:8px;padding:0 2px;display:flex}.finance-payment-remaining-note{color:#64748b;margin:0;font-size:12px;line-height:1.45;display:block}.finance-entry-form button.finance-fill-remaining-button{appearance:none;cursor:pointer;box-shadow:none;border-radius:10px;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:800;line-height:1;transition:background .2s,border-color .2s,color .2s,transform .2s;color:#0369a1!important;background:#e0f2fe!important;border:1px solid #7dd3fc!important;padding:8px 12px!important}.finance-entry-form button.finance-fill-remaining-button:hover{text-decoration:none;transform:translateY(-1px);color:#075985!important;background:#bae6fd!important;border-color:#38bdf8!important}.finance-entry-form button.finance-fill-remaining-button:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5e924}.finance-form-actions .save-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=850px){.teacher-payment-summary-grid.compact{grid-template-columns:1fr}.teacher-package-list-item{flex-direction:column;align-items:flex-start}.teacher-package-amounts{align-items:flex-start}}@media (width<=650px){.teacher-payment-entry-grid{grid-template-columns:1fr}.teacher-payment-summary-head,.teacher-payment-summary-footer,.finance-payment-quick-row{flex-direction:column;align-items:flex-start}.finance-fill-remaining-button{align-self:flex-end}}.lesson-table.finance-table{table-layout:fixed;width:100%;min-width:0!important}.lesson-table.finance-table thead th,.lesson-table.finance-table tbody td{box-sizing:border-box;vertical-align:middle;text-align:center!important}.lesson-table.finance-table.finance-income-table{width:100%;min-width:0!important}.lesson-table.finance-table.finance-income-table th:first-child,.lesson-table.finance-table.finance-income-table td:first-child{width:10%}.lesson-table.finance-table.finance-income-table th:nth-child(2),.lesson-table.finance-table.finance-income-table td:nth-child(2){width:13%}.lesson-table.finance-table.finance-income-table th:nth-child(3),.lesson-table.finance-table.finance-income-table td:nth-child(3),.lesson-table.finance-table.finance-income-table th:nth-child(4),.lesson-table.finance-table.finance-income-table td:nth-child(4){width:14%}.lesson-table.finance-table.finance-income-table th:nth-child(5),.lesson-table.finance-table.finance-income-table td:nth-child(5){width:16%}.lesson-table.finance-table.finance-income-table th:nth-child(6),.lesson-table.finance-table.finance-income-table td:nth-child(6){width:13%}.lesson-table.finance-table.finance-income-table th:nth-child(7),.lesson-table.finance-table.finance-income-table td:nth-child(7){white-space:nowrap;width:9%}.lesson-table.finance-table.finance-income-table th:nth-child(8),.lesson-table.finance-table.finance-income-table td:nth-child(8){width:11%}.lesson-table.finance-table.finance-income-table .finance-source-badge,.lesson-table.finance-table.finance-income-table .finance-readonly-label,.lesson-table.finance-table.finance-income-table .cancel-mini-button{margin-left:auto;margin-right:auto}.lesson-table.finance-table.finance-expense-table{width:100%;min-width:0!important}.lesson-table.finance-table.finance-expense-table th:first-child,.lesson-table.finance-table.finance-expense-table td:first-child{width:10%}.lesson-table.finance-table.finance-expense-table th:nth-child(2),.lesson-table.finance-table.finance-expense-table td:nth-child(2){width:16%}.lesson-table.finance-table.finance-expense-table th:nth-child(3),.lesson-table.finance-table.finance-expense-table td:nth-child(3){width:14%}.lesson-table.finance-table.finance-expense-table th:nth-child(4),.lesson-table.finance-table.finance-expense-table td:nth-child(4){width:16%}.lesson-table.finance-table.finance-expense-table th:nth-child(5),.lesson-table.finance-table.finance-expense-table td:nth-child(5){width:15%}.lesson-table.finance-table.finance-expense-table th:nth-child(6),.lesson-table.finance-table.finance-expense-table td:nth-child(6){width:13%}.lesson-table.finance-table.finance-expense-table th:nth-child(7),.lesson-table.finance-table.finance-expense-table td:nth-child(7){white-space:nowrap;width:8%}.lesson-table.finance-table.finance-expense-table th:nth-child(8),.lesson-table.finance-table.finance-expense-table td:nth-child(8){width:8%}.lesson-table.finance-table.finance-expense-table .cancel-mini-button{margin-left:auto;margin-right:auto}.lesson-table.finance-table.finance-teacher-earnings-table{width:100%;min-width:0!important}.lesson-table.finance-table.finance-teacher-earnings-table th:first-child,.lesson-table.finance-table.finance-teacher-earnings-table td:first-child{width:12%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(2),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(2){width:9%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(3),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(3){width:10%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(4),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(4){width:9%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(5),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(5){white-space:nowrap;width:13%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(6),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(6){white-space:nowrap;width:14%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(7),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(7),.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(8),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(8){white-space:nowrap;width:11%}.lesson-table.finance-table.finance-teacher-earnings-table th:nth-child(9),.lesson-table.finance-table.finance-teacher-earnings-table td:nth-child(9){width:11%}.lesson-table.finance-table.finance-teacher-earnings-table .finance-status{margin-left:auto;margin-right:auto}.lesson-table.finance-table.finance-teacher-history-table{width:100%;min-width:0!important}.lesson-table.finance-table.finance-teacher-history-table th:first-child,.lesson-table.finance-table.finance-teacher-history-table td:first-child{width:18%}.lesson-table.finance-table.finance-teacher-history-table th:nth-child(2),.lesson-table.finance-table.finance-teacher-history-table td:nth-child(2),.lesson-table.finance-table.finance-teacher-history-table th:nth-child(3),.lesson-table.finance-table.finance-teacher-history-table td:nth-child(3){width:22%}.lesson-table.finance-table.finance-teacher-history-table th:nth-child(4),.lesson-table.finance-table.finance-teacher-history-table td:nth-child(4){width:18%}.lesson-table.finance-table.finance-teacher-history-table th:nth-child(5),.lesson-table.finance-table.finance-teacher-history-table td:nth-child(5){white-space:nowrap;width:20%}.lesson-table.finance-table .empty-table{text-align:center!important}.finance-table-wrapper{border:1px solid #e7edf5;border-radius:15px;width:100%;overflow-x:hidden}@media (width<=900px){.finance-table-wrapper{overflow-x:auto}.lesson-table.finance-table.finance-income-table,.lesson-table.finance-table.finance-expense-table,.lesson-table.finance-table.finance-teacher-earnings-table{min-width:950px!important}.lesson-table.finance-table.finance-teacher-history-table{min-width:760px!important}}.finance-history-heading{align-items:center}.teacher-history-filter-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;margin-bottom:16px;padding:16px}.teacher-history-filter-grid{grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(145px,1fr));gap:14px;display:grid}.teacher-history-filter-grid .form-group{min-width:0;margin:0}.teacher-history-filter-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.teacher-history-page-size{align-items:center;gap:8px;display:flex}.teacher-history-page-size label{color:#64748b;font-size:13px;font-weight:800}.teacher-history-page-size select{color:#334155;background:#fff;border:1px solid #dbe3ee;border-radius:10px;width:78px;padding:9px 28px 9px 10px;font-size:13px;font-weight:700}.finance-history-pagination{justify-content:space-between;align-items:center;gap:18px;padding:17px 4px 0;display:flex}.finance-history-pagination-summary{color:#64748b;font-size:13px;font-weight:700}.finance-history-pagination-controls{justify-content:flex-end;align-items:center;gap:7px;display:flex}.finance-history-page-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:10px;min-width:38px;min-height:38px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:800}.finance-history-page-button:hover:not(:disabled){color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.finance-history-page-button.active{color:#fff;background:linear-gradient(135deg,#09a6d3,#12b8ad);border-color:#0000}.finance-history-page-button:disabled{cursor:not-allowed;opacity:.45}.finance-history-page-ellipsis{color:#94a3b8;text-align:center;min-width:24px;font-weight:800}@media (width<=1150px){.teacher-history-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.teacher-history-filter-grid{grid-template-columns:1fr}.teacher-history-filter-actions,.finance-history-pagination{flex-direction:column;align-items:flex-start}.finance-history-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:3px;overflow-x:auto}}.finance-teacher-current-card,.finance-teacher-history-card{position:relative}.finance-teacher-current-card{border-top:none}.finance-teacher-history-card{border-top:none;margin-top:22px}.finance-section-kicker{color:#0284c7;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.finance-teacher-current-card .finance-section-kicker{color:#d97706}.finance-subsection-heading{border-top:1px solid #e7edf5;justify-content:space-between;align-items:flex-start;gap:16px;margin:24px 0 16px;padding-top:22px;display:flex}.finance-subsection-heading h3{color:#0f172a;margin:0 0 5px;font-size:17px}.finance-subsection-heading p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.finance-payment-history{border-top:none;margin-top:22px;padding-top:24px}.finance-teacher-history-card .finance-history-heading{margin-bottom:18px}.finance-teacher-history-card .finance-history-heading h2{color:#0f172a;margin:0 0 5px;font-size:20px}@media (width<=750px){.finance-subsection-heading{flex-direction:column}}.finance-income-filter-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;margin-bottom:16px;padding:16px}.finance-income-filter-grid{grid-template-columns:minmax(230px,1.6fr) repeat(5,minmax(135px,1fr));gap:14px;display:grid}.finance-income-filter-grid .form-group{min-width:0;margin:0}.finance-income-filter-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.finance-income-page-size{align-items:center;gap:8px;display:flex}.finance-income-page-size label{color:#64748b;font-size:13px;font-weight:800}.finance-income-page-size select{color:#334155;background:#fff;border:1px solid #dbe3ee;border-radius:10px;width:78px;padding:9px 28px 9px 10px;font-size:13px;font-weight:700}.finance-income-count-row{justify-content:flex-end;margin-bottom:12px}.finance-income-pagination{justify-content:space-between;align-items:center;gap:18px;padding:17px 4px 0;display:flex}.finance-income-pagination-summary{color:#64748b;font-size:13px;font-weight:700}.finance-income-pagination-controls{justify-content:flex-end;align-items:center;gap:7px;display:flex}.finance-income-page-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:10px;min-width:38px;min-height:38px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:800}.finance-income-page-button:hover:not(:disabled){color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.finance-income-page-button.active{color:#fff;background:linear-gradient(135deg,#09a6d3,#12b8ad);border-color:#0000}.finance-income-page-button:disabled{cursor:not-allowed;opacity:.45}.finance-income-page-ellipsis{color:#94a3b8;text-align:center;min-width:24px;font-weight:800}@media (width<=1400px){.finance-income-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.finance-income-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.finance-income-filter-grid{grid-template-columns:1fr}.finance-income-filter-actions,.finance-income-pagination{flex-direction:column;align-items:flex-start}.finance-income-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:3px;overflow-x:auto}}.finance-pagination{color:#64748b;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;font-size:13px;display:flex}.finance-pagination>div{align-items:center;gap:10px;display:flex}.finance-pagination-current{color:#334155;text-align:center;min-width:64px;font-weight:700}@media (width<=760px){.finance-pagination{flex-direction:column;align-items:stretch}.finance-pagination>div{justify-content:space-between}}.finance-income-filter-panel{background:#f8fafc;border:1px solid #dbe5ef;border-radius:16px;margin-top:20px;padding:18px}.finance-income-filter-grid{grid-template-columns:minmax(220px,1.4fr) minmax(170px,.85fr) minmax(170px,.85fr) minmax(155px,.75fr) minmax(155px,.75fr);align-items:end;gap:14px;display:grid}.finance-income-filter-grid .form-group{margin:0}.staff-payment-filter-footer{justify-content:space-between;align-items:flex-end;gap:18px;margin-top:16px;display:flex}.staff-payment-filter-actions{align-items:flex-end;gap:14px;display:flex}.staff-payment-sort-control,.staff-payment-page-size-control{margin:0}.staff-payment-sort-control{min-width:210px}.staff-payment-page-size-control{min-width:145px}.staff-payment-filter-actions select{width:100%;min-height:44px}.finance-table-card .payment-table-wrapper{border:1px solid #e2e8f0;border-radius:14px;margin-top:18px;overflow:hidden}.finance-table-card .finance-data-table{width:100%;margin:0}.finance-table-card .finance-data-table th,.finance-table-card .finance-data-table td{vertical-align:middle}.finance-table-card .finance-data-table .empty-table{text-align:center;height:90px}@media (width<=1180px){.finance-income-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.finance-income-filter-grid{grid-template-columns:1fr}.staff-payment-filter-footer,.staff-payment-filter-actions{flex-direction:column;align-items:stretch}.staff-payment-sort-control,.staff-payment-page-size-control{min-width:0}}.finance-status.overpaid{color:#b91c1c;background:#fee2e2}.teacher-payment-summary-item.overpaid strong,.finance-overpaid-amount{color:#b91c1c;font-weight:800}.teacher-payment-summary-item.overpaid{background:#fef2f2;border-color:#fecaca}.status-filter-grid{border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;grid-template-columns:minmax(220px,1fr) minmax(280px,1.2fr) minmax(220px,1fr) auto;align-items:end;gap:14px;padding:20px 24px;display:grid}.status-filter-grid .form-group{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex;position:relative}.status-filter-grid label{color:#1e3858;font-size:14px;font-weight:700}.status-filter-grid select,.student-search-control input{color:#06172f;background-color:#f8fafc;border:1px solid #d9e2ef;border-radius:14px;outline:none;width:100%;height:52px;font-family:inherit;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s}.status-filter-grid select{padding:0 44px 0 16px}.status-filter-grid select:focus,.student-search-control input:focus{background:#fff;border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf81f}.status-filter-grid .cancel-button{white-space:nowrap;height:52px;padding:0 20px}.student-filter-group{z-index:70}.student-search-control{position:relative}.student-search-control input{padding:0 44px}.student-search-icon{z-index:2;color:#718399;pointer-events:none;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.student-search-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.student-search-clear{z-index:3;color:#64748b;cursor:pointer;background:#edf2f7;border:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:20px;line-height:1;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.student-search-clear:hover{color:#0f172a;background:#dfe7ef}.student-search-results{z-index:3000;background:#fff;border:1px solid #dbe5f0;border-radius:14px;max-height:310px;padding:7px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #0f172a29}.student-search-result{color:#1e3858;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:10px;display:flex}.student-search-result:hover,.student-search-result.selected{background:#f0f9ff}.student-result-avatar{color:#087f94;background:#e1f5f8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:flex}.student-result-content{flex-direction:column;gap:3px;min-width:0;display:flex}.student-result-content strong,.student-result-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-result-content strong{color:#18334d;font-size:13px}.student-result-content small{color:#7a8a9b;font-size:11px}.student-search-empty{color:#8493a5;text-align:center;padding:18px 12px;font-size:13px}.status-table-actions{align-items:center;gap:10px;display:flex}.makeup-add-button{color:#a16207;white-space:nowrap;cursor:pointer;background:#fef3c7;border:none;border-radius:12px;padding:9px 14px;font-size:13px;font-weight:800;transition:all .18s}.makeup-add-button:hover{background:#fde68a;transform:translateY(-1px)}.weekly-schedule-wrapper{padding:18px 12px 24px;overflow:hidden visible}.status-weekly-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:0}.status-weekly-table,.status-weekly-table tbody,.status-weekly-table tr,.status-weekly-table td{overflow:visible}.status-weekly-table th{color:#334155;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:14px 12px;font-size:12px;font-weight:800}.status-weekly-table th:first-child{width:72px}.status-weekly-table th:not(:first-child){width:calc(14.2857% - 10.2857px);min-width:0}.status-weekly-table td{vertical-align:top;background:#fff;border-bottom:1px solid #edf2f7;border-right:1px solid #edf2f7;height:58px;padding:8px;font-size:14px;position:relative}.status-weekly-table td.status-cell-has-lessons{background:#fcfdff;height:auto;min-height:58px}.status-weekly-table .schedule-hour{color:#334155;width:72px;min-width:72px;font-size:15px;font-weight:700;background:#f8fafc!important}.status-weekly-table .empty-slot{color:#94a3b8;font-size:13px}.status-cell-stack{flex-direction:column;gap:6px;min-width:0;display:flex}.status-lesson-card{z-index:1;cursor:default;background:#fff;border:1px solid #dce7f0;border-left:4px solid #38bdf8;border-radius:10px;width:100%;min-width:0;padding:8px 8px 8px 10px;transition:transform .16s,border-color .16s,box-shadow .16s;position:relative;box-shadow:0 2px 7px #0f172a09}.status-lesson-card:hover{z-index:20;border-color:#b9d8e8;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a17}.status-lesson-card.menu-open{z-index:999}.status-card-top{justify-content:space-between;align-items:flex-start;gap:5px;min-width:0;display:flex}.status-card-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.status-teacher-line{align-items:center;gap:5px;min-width:0;display:flex}.status-teacher-line strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:800;line-height:1.2;display:block;overflow:hidden}.status-lesson-card .status-card-text>span{color:#52657a;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:11px;line-height:1.3;display:flex;overflow:hidden}.status-lesson-card .status-card-text>span b{color:#a0aec0;font-size:8px}.status-teacher-line em{border-radius:999px;flex-shrink:0;margin:0;padding:3px 6px;font-size:9px;font-style:normal;font-weight:800;line-height:1}.lesson-action-wrapper{z-index:1000;flex-shrink:0;position:relative}.lesson-menu-button{color:#8493a5;cursor:pointer;opacity:.85;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:16px;font-weight:900;line-height:1;transition:color .16s,background .16s;display:flex}.lesson-menu-button:hover{color:#0f172a;opacity:1;background:#eef3f7}.lesson-action-menu{z-index:2000;background:#fff;border:1px solid #dbe5f0;border-radius:12px;min-width:140px;padding:6px;position:absolute;top:23px;right:0;box-shadow:0 16px 34px #0f172a2e}.lesson-action-menu button{color:#1e3858;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;width:100%;padding:9px 10px;font-size:12.5px;font-weight:750}.lesson-action-menu button:hover{background:#f1f5f9}.status-lesson-card.planned{background:#fbfdff;border-color:#d8e8f2 #d8e8f2 #d8e8f2 #38bdf8}.status-lesson-card.planned .status-teacher-line em{color:#0369a1;background:#e0f2fe}.status-lesson-card.completed{background:#fbfffc;border-color:#d7eedc #d7eedc #d7eedc #22c55e}.status-lesson-card.completed .status-teacher-line em{color:#166534;background:#dcfce7}.status-lesson-card.cancelled{background:#fffdfd;border-color:#f2dada #f2dada #f2dada #ef4444}.status-lesson-card.cancelled .status-teacher-line em{color:#991b1b;background:#fee2e2}.status-lesson-card.makeup-waiting{background:#fffef8;border-color:#f1e4ba #f1e4ba #f1e4ba #eab308}.status-lesson-card.makeup-waiting .status-teacher-line em{color:#854d0e;background:#fef3c7}.status-lesson-card.makeup-completed{background:#fbfffd;border-color:#d3eee1 #d3eee1 #d3eee1 #10b981}.status-lesson-card.makeup-completed .status-teacher-line em{color:#047857;background:#d1fae5}.makeup-delete-button{z-index:5;color:#b45309;cursor:pointer;opacity:0;background:#fff;border:1px solid #f1d38b;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:11px;font-weight:900;line-height:1;transition:opacity .16s;display:flex;position:absolute;top:-5px;left:-5px;box-shadow:0 2px 6px #0f172a1f}.status-lesson-card:hover .makeup-delete-button{opacity:1}.makeup-delete-button:hover{color:#9a3412;background:#fff7ed}.status-lesson-card.makeup-card{padding-left:12px}.status-more-button{color:#52657a;text-align:center;cursor:pointer;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:8px;width:100%;padding:6px 8px;font-size:10.5px;font-weight:800}.status-more-button:hover{color:#0369a1;background:#eef9ff;border-color:#7dd3fc}.slide-down-panel{padding:0;animation:.28s slideDownPanel;overflow:hidden}.slide-down-panel .section-title-row{align-items:flex-start;padding:22px 26px 8px}.slide-down-panel .section-title-row h2{color:#0f172a;margin:0 0 6px;font-size:24px}.slide-down-panel .section-title-row p{color:#53657d;margin:0;font-size:15px}@keyframes slideDownPanel{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.makeup-form-grid{grid-template-columns:1fr 1fr;gap:14px 20px;padding:18px 26px 0;display:grid}.makeup-form-grid .form-group{margin:0}.makeup-form-grid .full-width{grid-column:1/-1}.makeup-form-grid label{color:#1e3858;font-size:14px;font-weight:700}.makeup-form-grid select,.makeup-form-grid input{height:52px;font-size:15px}.makeup-form-grid textarea{min-height:84px;font-size:15px}.slide-down-panel .form-actions{margin:0;padding:14px 26px 22px}.selected-package-card{background:#f8fafc;border:1px solid #dbe5f0;border-radius:16px;padding:14px 16px}.selected-package-card span{color:#64748b;margin-bottom:4px;font-size:14px;font-weight:700;display:block}.selected-package-card h3{color:#06172f;margin:0 0 10px;font-size:17px}.selected-package-card.empty{color:#64748b;align-items:center;min-height:54px;display:flex}.selected-package-card.empty span{margin:0;font-size:14px;font-weight:600}.selected-package-grid{grid-template-columns:1fr 1fr;gap:6px 18px;display:grid}.selected-package-grid p{color:#334155;margin:0;font-size:14px}.status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.status-pill.planned{color:#0369a1;background:#e0f2fe}.status-pill.completed{color:#166534;background:#dcfce7}.status-pill.cancelled{color:#991b1b;background:#fee2e2}.status-pill.makeup-waiting{color:#92400e;background:#fef3c7}.status-pill.makeup-completed{color:#047857;background:#d1fae5}.makeup-label{color:#a16207;margin-left:6px;font-weight:700;display:inline-block}.status-detail-table th:nth-child(3),.status-detail-table td:nth-child(3),.status-detail-table th:nth-child(4),.status-detail-table td:nth-child(4){text-align:left;width:15%}.status-detail-table td:nth-child(5){overflow-wrap:anywhere}@media (width<=1100px){.status-filter-grid{grid-template-columns:1fr 1fr}.makeup-form-grid{grid-template-columns:1fr}.weekly-schedule-wrapper{overflow-x:auto}.status-weekly-table{table-layout:auto;min-width:1150px}.status-weekly-table th:not(:first-child){width:auto;min-width:145px}.status-lesson-card .status-card-text>span{white-space:normal}}@media (width<=700px){.status-filter-grid{grid-template-columns:1fr}.status-table-actions{flex-direction:column;align-items:flex-start}.status-detail-table{min-width:860px}}.status-weekly-table td{height:64px;padding:8px}.status-cell-stack{gap:7px}.status-lesson-card{border-radius:11px;padding:9px 8px 9px 10px}.status-card-text{gap:4px}.status-teacher-line strong{font-size:12.5px}.status-lesson-card .status-card-text>span{color:#52657a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;display:block;overflow:hidden}.status-lesson-card .status-card-text>span b{color:#a0aec0;margin:0 4px;font-size:8px}.status-lesson-card .status-card-text>em{border-radius:999px;align-self:flex-start;width:fit-content;margin:1px 0 0;padding:3px 7px;font-size:9px;font-style:normal;font-weight:800;line-height:1}.status-lesson-card.completed .status-card-text>em{color:#166534;background:#dcfce7}.status-lesson-card.cancelled .status-card-text>em{color:#991b1b;background:#fee2e2}.status-lesson-card.makeup-waiting .status-card-text>em{color:#854d0e;background:#fef3c7}.status-lesson-card.makeup-completed .status-card-text>em{color:#047857;background:#d1fae5}.status-detail-table{table-layout:fixed;width:100%}.status-detail-table th,.status-detail-table td{box-sizing:border-box;vertical-align:middle;padding:15px 18px}.status-detail-table th{color:#334155;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:800}.status-detail-table td{color:#53657d;font-size:13px;line-height:1.45}.status-detail-table tbody tr:nth-child(2n){background:#fbfdff}.status-detail-table tbody tr:hover{background:#f4f9fd}.status-detail-table th:nth-child(3),.status-detail-table td:nth-child(3),.status-detail-table th:nth-child(4),.status-detail-table td:nth-child(4){text-align:left;width:15%}.status-day-text{color:#405874;font-weight:700}.status-time-text{color:#17324c;font-size:13px}.status-person-text{color:#405874;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.status-lesson-detail strong,.status-lesson-detail small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-lesson-detail strong{color:#17324c;font-size:13px}.status-lesson-detail small{color:#8190a1;font-size:11px}.status-detail-table td:nth-child(6) .status-pill{margin:0 auto}.status-note-cell span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.status-note-cell.has-note{color:#53657d;text-align:left!important}.status-note-cell.empty-note{color:#a1adba;text-align:center!important}@media (width<=1180px){.status-filter-grid{grid-template-columns:1fr 1fr}.status-filter-grid .cancel-button{width:100%}}.status-filter-grid select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23384d66' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:15px;padding-right:48px}.status-filter-grid select:hover{background-color:#fff;border-color:#c6d5e4}.lesson-table-card:has(.status-detail-table){border-color:#e2eaf3;overflow:hidden;box-shadow:0 14px 34px #0f172a0e}.lesson-table-card:has(.status-detail-table) .table-head{background:#fff;padding:20px 26px}.lesson-table-card:has(.status-detail-table) .table-head h2{color:#10243a;letter-spacing:-.015em;margin-bottom:5px;font-size:20px}.lesson-table-card:has(.status-detail-table) .table-head p{color:#718399;font-size:13px}.lesson-table-card:has(.status-detail-table) .lesson-count{color:#4d7c0f;background:#ecfccb;border-radius:12px;min-width:72px;padding:9px 14px}.lesson-table-card:has(.status-detail-table) .payment-table-wrapper{border-top:1px solid #e8eef5;overflow-x:auto}.status-detail-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:980px}.status-detail-table thead th{color:#40546b;letter-spacing:.065em;text-transform:uppercase;vertical-align:middle;background:#f7f9fc;border-bottom:1px solid #dfe8f1;height:50px;padding:0 20px;font-size:11px;font-weight:850;line-height:1}.status-detail-table tbody td{color:#52667d;vertical-align:middle;background:#fff;border-bottom:1px solid #edf2f7;height:76px;padding:15px 20px;font-size:13px;line-height:1.45}.status-detail-table tbody tr:last-child td{border-bottom:0}.status-detail-table tbody tr:nth-child(2n) td{background:#fbfcfe}.status-detail-table tbody tr{transition:background .16s,box-shadow .16s}.status-detail-table tbody tr:hover td{background:#f5faff}.status-detail-table tbody tr:hover{box-shadow:inset 3px 0 #38bdf8}.status-detail-table th:first-child,.status-detail-table td:first-child{text-align:left;width:11%}.status-detail-table th:nth-child(2),.status-detail-table td:nth-child(2){text-align:left;width:8%}.status-detail-table th:nth-child(3),.status-detail-table td:nth-child(3),.status-detail-table th:nth-child(4),.status-detail-table td:nth-child(4){text-align:left;width:15%}.status-detail-table th:nth-child(5),.status-detail-table td:nth-child(5){text-align:left;width:25%;padding-left:28px}.status-detail-table th:nth-child(6),.status-detail-table td:nth-child(6){text-align:center;width:16%}.status-detail-table th:nth-child(7),.status-detail-table td:nth-child(7){text-align:center;width:10%}.status-day-text{color:#38516b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9px;justify-content:center;align-items:center;min-width:78px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-time-text{color:#15324d;font-variant-numeric:tabular-nums;font-size:13px;font-weight:850}.status-person-text{color:#3f5872;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.status-lesson-detail{flex-direction:column;gap:4px;min-width:0;display:flex}.status-lesson-detail strong,.status-lesson-detail small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.status-lesson-detail strong{color:#102f4a;font-size:13px;font-weight:850}.status-lesson-detail small{color:#8190a2;font-size:11px;line-height:1.35}.status-detail-table td:nth-child(6) .status-pill{min-width:106px;margin:0 auto;padding:7px 12px;font-size:11.5px;box-shadow:inset 0 0 0 1px #0f172a09}.status-note-cell{color:#52667d}.status-note-cell span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.status-note-cell.empty-note span{color:#a6b2bf;font-size:16px}.status-note-cell.has-note{text-align:left!important}.status-detail-table .empty-table{height:120px;font-size:13px;color:#8b9aac!important;text-align:center!important}@media (width<=1180px){.status-detail-table{min-width:980px}}@media (width<=700px){.lesson-table-card:has(.status-detail-table) .table-head{align-items:flex-start;gap:12px}.status-detail-table{min-width:920px}}.lesson-table-card:has(.status-detail-table) .status-detail-table{min-width:980px;table-layout:fixed!important;width:100%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th,.lesson-table-card:has(.status-detail-table) .status-detail-table td){box-sizing:border-box;vertical-align:middle;padding-left:22px!important;padding-right:22px!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:first-child,.lesson-table-card:has(.status-detail-table) .status-detail-table td:first-child){text-align:left!important;width:12%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(2),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(2)){text-align:left!important;width:10%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(3),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(3)),:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(4),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(4)){text-align:left!important;width:18%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(5),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(5)){text-align:left!important;width:20%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(6),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(6)){text-align:center!important;width:15%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(7),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(7)){text-align:center!important;width:7%!important}.lesson-table-card:has(.status-detail-table) .status-person-text{text-align:left;width:100%}.lesson-table-card:has(.status-detail-table) .status-lesson-detail{width:100%;text-align:left!important;align-items:flex-start!important}:is(.lesson-table-card:has(.status-detail-table) .status-lesson-detail strong,.lesson-table-card:has(.status-detail-table) .status-lesson-detail small){width:100%;text-align:left!important}.lesson-table-card:has(.status-detail-table) td:nth-child(6) .status-pill{margin-left:auto;margin-right:auto}.lesson-table-card:has(.status-detail-table) .status-note-cell{text-align:center!important}.lesson-table-card:has(.status-detail-table) .status-detail-table thead th{padding-left:22px!important;padding-right:22px!important}@media (width<=1100px){.lesson-table-card:has(.status-detail-table) .status-detail-table{min-width:1040px}}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:first-child,.lesson-table-card:has(.status-detail-table) .status-detail-table td:first-child){width:11%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(2),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(2)){width:8%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(3),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(3)),:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(4),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(4)){width:16%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(5),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(5)){width:20%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(6),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(6)){width:14%!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(7),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(7)){width:15%!important}.lesson-table-card:has(.status-detail-table) .status-detail-table th:nth-child(7){text-align:center!important;padding-left:18px!important;padding-right:18px!important}.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(7){padding-left:18px!important;padding-right:18px!important}.lesson-table-card:has(.status-detail-table) .status-note-cell.has-note span{color:#52667d;text-align:left;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:12.5px;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.lesson-table-card:has(.status-detail-table) .status-note-cell.empty-note{text-align:center!important}.lesson-table-card:has(.status-detail-table) .status-note-cell.empty-note span{color:#a6b2bf;text-align:center;display:block}.lesson-table-card:has(.status-detail-table) .status-note-cell.has-note{cursor:help}.lesson-table-card:has(.status-detail-table) .status-detail-table thead th{text-align:center!important;padding-left:16px!important;padding-right:16px!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table td:first-child,.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(2)){text-align:left!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(3),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(4),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(5)){text-align:left!important;padding-left:32px!important;padding-right:16px!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(3) .status-person-text,.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(4) .status-person-text){width:100%;text-align:left!important}.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(5) .status-lesson-detail{width:100%;text-align:left!important;align-items:flex-start!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(5) .status-lesson-detail strong,.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(5) .status-lesson-detail small){width:100%;text-align:left!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(6),.lesson-table-card:has(.status-detail-table) .status-detail-table td:nth-child(7)){text-align:center!important}.lesson-table-card:has(.status-detail-table) .status-note-cell.has-note{text-align:left!important}.lesson-table-card:has(.status-detail-table) .status-detail-table thead th:nth-child(-n+5){text-align:center!important}.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(-n+5){text-align:center!important}.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:first-child .status-day-text{display:inline-flex;margin-left:auto!important;margin-right:auto!important}.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(2) .status-time-text{width:100%;display:block;text-align:center!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(3) .status-person-text,.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(4) .status-person-text){width:100%;display:block;text-align:center!important}.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(5) .status-lesson-detail{width:100%;display:flex;text-align:center!important;justify-content:center!important;align-items:center!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(5) .status-lesson-detail strong,.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(5) .status-lesson-detail small){width:100%;text-align:center!important}:is(.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(3),.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(4),.lesson-table-card:has(.status-detail-table) .status-detail-table tbody td:nth-child(5)){padding-left:18px!important;padding-right:18px!important}.status-filter-card{z-index:500;position:relative;overflow:visible!important}.status-filter-card .status-filter-grid{z-index:510;position:relative;overflow:visible!important}.status-filter-card .student-filter-group{z-index:520;position:relative}.status-filter-card .student-search-control{z-index:521;position:relative}.status-filter-card .student-search-results{z-index:9999}.status-filter-card~.lesson-table-card{z-index:1;position:relative}.status-history-card{margin-top:24px}.status-history-date{color:#64748b;font-size:11px;font-weight:700}.status-history-head{align-items:center}.status-history-filters{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:14px;padding:18px 24px;display:grid}.status-history-filters label{color:#334155;flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.status-history-filters input,.status-history-filters select{color:#0f172a;min-height:42px;font:inherit;background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px;padding:0 12px}.status-history-clear{color:#334155;cursor:pointer;background:#eef2f7;border:0;border-radius:12px;min-height:42px;padding:0 16px;font-weight:700}.status-history-pagination{color:#64748b;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;font-size:13px;font-weight:700;display:flex}.status-history-pagination>div{align-items:center;gap:10px;display:flex}.status-history-pagination button,.status-history-message button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:11px;min-height:38px;padding:0 14px;font-weight:700}.status-history-page{text-align:center;min-width:70px}.status-history-message{justify-content:center;align-items:center;gap:14px;min-height:120px;padding:24px;display:flex}.status-history-message.error{color:#b91c1c}.status-date-text{white-space:nowrap;color:#475569;font-weight:700}@media (width<=1100px){.status-history-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=700px){.status-history-filters{grid-template-columns:1fr}.status-history-pagination{flex-direction:column;align-items:stretch}.status-history-pagination>div{justify-content:space-between}}.status-history-card .payment-table-wrapper{width:100%;max-height:none!important;overflow:visible!important}.status-history-card .status-detail-table{table-layout:fixed;width:100%;min-width:0}.status-history-card .status-detail-table thead th{padding:0 10px;font-size:10px}.status-history-card .status-detail-table tbody td{height:auto;min-height:68px;padding:14px 10px}.status-history-card .status-detail-table th:nth-child(5),.status-history-card .status-detail-table td:nth-child(5){width:17%;padding-left:10px}.status-history-card .status-detail-table th:nth-child(6),.status-history-card .status-detail-table td:nth-child(6){text-align:left;width:18%}.status-history-card .status-detail-table th:nth-child(7),.status-history-card .status-detail-table td:nth-child(7){text-align:center;width:13%}.status-history-card .status-detail-table th:nth-child(8),.status-history-card .status-detail-table td:nth-child(8){text-align:left;width:12%}.status-history-card .status-day-text{width:100%;min-width:0;padding:6px 5px}.status-history-card .status-person-text,.status-history-card .status-lesson-detail,.status-history-card .status-note-cell span{white-space:normal;overflow-wrap:anywhere}@media (width<=900px){.status-history-card .payment-table-wrapper{overflow-x:auto!important}.status-history-card .status-detail-table{min-width:900px}}.status-history-card .status-detail-table thead th,.status-history-card .status-detail-table tbody td{box-sizing:border-box;text-align:center!important;vertical-align:middle!important}.status-history-card .status-date-text,.status-history-card .status-time-text{text-align:center;white-space:nowrap;justify-content:center;align-items:center;width:100%;display:inline-flex}.status-history-card .status-day-text{box-sizing:border-box;text-align:center;border-radius:11px;justify-content:center;align-items:center;max-width:100%;min-height:36px;line-height:1.1;white-space:nowrap!important;width:auto!important;min-width:88px!important;padding:7px 12px!important;display:inline-flex!important}.status-history-card .status-person-text{white-space:normal;overflow-wrap:anywhere;justify-content:center;align-items:center;width:100%;min-height:38px;line-height:1.35;display:flex;text-align:center!important}.status-history-card .status-lesson-detail{flex-direction:column;justify-content:center;gap:3px;width:100%;min-height:44px;display:flex;text-align:center!important;align-items:center!important}.status-history-card .status-lesson-detail strong,.status-history-card .status-lesson-detail small{width:100%;display:block;text-align:center!important}.status-history-card .status-detail-table tbody td:nth-child(7),.status-history-card .status-detail-table tbody td:nth-child(8){text-align:center!important}.status-history-card .status-detail-table tbody td:nth-child(7)>span{margin-inline:auto}.status-history-card .status-note-cell,.status-history-card .status-note-cell span{text-align:center!important}.status-history-card .status-detail-table th:first-child,.status-history-card .status-detail-table td:first-child{width:7%}.status-history-card .status-detail-table th:nth-child(2),.status-history-card .status-detail-table td:nth-child(2){width:11%}.status-history-card .status-detail-table th:nth-child(3),.status-history-card .status-detail-table td:nth-child(3){width:10%}.status-history-card .status-detail-table th:nth-child(4),.status-history-card .status-detail-table td:nth-child(4){width:13%}.status-history-card .status-detail-table th:nth-child(5),.status-history-card .status-detail-table td:nth-child(5){width:18%;padding-left:10px;padding-right:10px}.status-history-card .status-detail-table th:nth-child(6),.status-history-card .status-detail-table td:nth-child(6){width:17%}.status-history-card .status-detail-table th:nth-child(7),.status-history-card .status-detail-table td:nth-child(7){width:14%}.status-history-card .status-detail-table th:nth-child(8),.status-history-card .status-detail-table td:nth-child(8){width:10%}@media (width<=1100px){.status-history-card .status-day-text{font-size:12px;min-width:80px!important;padding:7px 9px!important}.status-history-card .status-detail-table thead th,.status-history-card .status-detail-table tbody td{padding-inline:7px}}.status-history-table-wrapper{width:100%;overflow:visible}.status-history-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0}.status-history-table thead th{color:#475569;letter-spacing:.045em;text-align:center;text-transform:uppercase;vertical-align:middle;background:#f8fafc;border-bottom:1px solid #dbe3ee;height:54px;padding:0 12px;font-size:11px;font-weight:800;line-height:1.2}.status-history-table tbody td{color:#475569;text-align:center;vertical-align:middle;border-bottom:1px solid #e7edf5;height:81px;padding:15px 12px;font-size:14px;font-weight:500;line-height:1.4}.status-history-table tbody tr:last-child td{border-bottom:0}.status-history-table tbody tr:hover td{background:#fbfdff}.status-history-table th:first-child,.status-history-table td:first-child{width:8%}.status-history-table th:nth-child(2),.status-history-table td:nth-child(2){width:14%}.status-history-table th:nth-child(3),.status-history-table td:nth-child(3){width:10%}.status-history-table th:nth-child(4),.status-history-table td:nth-child(4){width:13%}.status-history-table th:nth-child(5),.status-history-table td:nth-child(5){width:18%}.status-history-table th:nth-child(6),.status-history-table td:nth-child(6){width:17%}.status-history-table th:nth-child(7),.status-history-table td:nth-child(7){width:12%}.status-history-table th:nth-child(8),.status-history-table td:nth-child(8){width:8%}.status-history-date-cell,.status-history-date-cell .status-date-text{text-align:center}.status-history-date-cell .status-date-text{color:#64748b;white-space:nowrap;width:100%;font-size:14px;font-weight:600;display:block}.status-history-day-cell{text-align:center}.status-history-day-cell .status-day-text{color:#475569;text-align:center;background:#f1f5f9;border:1px solid #dbe3ee;border-radius:12px;justify-content:center;align-items:center;max-width:100px;min-height:40px;font-size:13px;font-weight:700;line-height:1;white-space:nowrap!important;width:100px!important;min-width:100px!important;padding:0 12px!important;display:inline-flex!important}.status-history-table thead th:nth-child(3){padding-left:18px;padding-right:12px}.status-history-time-cell{padding-left:34px;padding-right:4px}.status-history-time-cell .status-time-text{color:#183653;text-align:center;white-space:nowrap;width:100%;font-size:14px;font-weight:800;display:block}.status-history-teacher-cell .status-person-text,.status-history-student-cell .status-person-text{color:#4d6884;overflow-wrap:anywhere;justify-content:center;align-items:center;width:100%;min-height:40px;font-size:14px;font-weight:600;line-height:1.35;display:flex;text-align:center!important}.status-history-student-cell{padding-left:16px!important;padding-right:16px!important}.status-history-lesson-cell .status-lesson-detail{flex-direction:column;justify-content:center;gap:3px;width:100%;min-height:44px;padding-left:12px;display:flex;text-align:left!important;align-items:flex-start!important}.status-history-lesson-cell .status-lesson-detail strong{color:#183653;width:100%;font-size:14px;font-weight:800;line-height:1.3;text-align:left!important}.status-history-lesson-cell .status-lesson-detail small{color:#94a3b8;width:100%;font-size:12px;font-weight:500;line-height:1.3;text-align:left!important}.status-history-status-cell{text-align:center!important}.status-history-status-cell>span{white-space:nowrap;justify-content:center;align-items:center;min-height:36px;margin:0 auto;padding:0 14px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.status-history-note-cell,.status-history-note-cell span{color:#94a3b8;font-size:14px;font-weight:500;text-align:center!important}.status-history-table .empty-table{color:#64748b;height:120px;font-size:14px;font-weight:600;text-align:center!important}.status-history-pagination{color:#64748b;background:#fff;border-top:1px solid #e7edf5;min-height:78px;padding:18px 26px;font-size:13px;font-weight:700}.status-history-pagination button{color:#64748b;background:#fff;border:1px solid #dbe3ee;border-radius:12px;min-width:84px;min-height:44px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:800}.status-history-pagination button:hover:not(:disabled){color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.status-history-pagination button:disabled{cursor:not-allowed;opacity:.48}.status-history-page{color:#64748b;text-align:center;min-width:62px;font-size:13px;font-weight:800}@media (width<=1050px){.status-history-table-wrapper{overflow-x:auto}.status-history-table{min-width:1040px}}.status-today-date{color:#64748b;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.status-today-date span{font-size:12px}.status-today-date strong{color:#334155;font-size:14px}.unmarked-lessons-head{align-items:flex-end;gap:16px}.unmarked-month-picker{min-width:180px;margin:0}.unmarked-lessons-empty{color:#475569;background:#f1f5f9;border-radius:12px;margin:12px 0 0;padding:12px 14px;font-size:14px}.unmarked-lessons-empty.ok{color:#15803d;background:#dcfce7}.unmarked-lessons-empty.error{color:#b91c1c;background:#fee2e2}.unmarked-lessons-count{color:#b45309;margin:12px 0;font-size:14px;font-weight:800}.unmarked-lessons-list{gap:8px;display:grid}.unmarked-lesson-row{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;grid-template-columns:minmax(170px,1fr) minmax(200px,2fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.unmarked-lesson-date strong,.unmarked-lesson-info strong{color:#0f172a;font-size:14px;display:block}.unmarked-lesson-date span,.unmarked-lesson-info span{color:#64748b;font-size:13px}.unmarked-lesson-actions{gap:8px;display:flex}.unmarked-lesson-actions button{white-space:nowrap}@media (width<=760px){.unmarked-lesson-row{grid-template-columns:1fr}}.monthly-check-button{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:800;display:inline-flex}.monthly-check-button.has-pending{color:#b45309;background:#fffbeb;border-color:#fde68a}.monthly-check-button.active{color:#fff;background:#0f172a;border-color:#0f172a}.monthly-check-button span{color:#fff;text-align:center;background:#d97706;border-radius:999px;min-width:22px;padding:2px 7px;font-size:12px}.unmarked-month-nav{align-items:center;gap:8px;display:flex}.unmarked-month-nav select{min-width:170px}.unmarked-month-arrow{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;width:38px;height:38px;font-family:inherit;font-size:20px}.unmarked-month-arrow:disabled{opacity:.4;cursor:not-allowed}.unmarked-lessons-count.ok{color:#15803d}.lesson-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.lesson-calendar-weekday{color:#64748b;text-align:center;padding:6px 0;font-size:12px;font-weight:800}.lesson-calendar-cell{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;min-height:110px;padding:6px;display:flex}.lesson-calendar-cell.empty{background:0 0;border-color:#0000}.lesson-calendar-cell.today{border-color:#0284c7;box-shadow:0 0 0 1px #0284c7}.lesson-calendar-cell.future{background:#f8fafc}.lesson-calendar-day{color:#0f172a;margin-bottom:4px;font-size:13px;font-weight:800}.lesson-calendar-lessons{gap:3px;max-height:160px;display:grid;overflow-y:auto}.lesson-calendar-chip{color:#334155;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-left-width:3px;border-radius:6px;padding:3px 6px;font-family:inherit;font-size:11px;overflow:hidden}.lesson-calendar-chip.completed{background:#dcfce7;border-color:#86efac #86efac #86efac #16a34a}.lesson-calendar-chip.cancelled{color:#64748b;background:#f1f5f9;border-left-color:#94a3b8;text-decoration:line-through}.lesson-calendar-chip.makeup{background:#ede9fe;border-color:#c4b5fd #c4b5fd #c4b5fd #7c3aed}.lesson-calendar-chip.makeup.makeup-completed{background:#dcfce7;border-color:#86efac #86efac #86efac #16a34a}.lesson-calendar-chip.unmarked{color:#92400e;background:#fef3c7;border-color:#fcd34d #fcd34d #fcd34d #d97706}.calendar-lesson-modal{width:min(520px,100%)}@media (width<=900px){.lesson-calendar{gap:3px}.lesson-calendar-cell{min-height:80px;padding:4px}.lesson-calendar-chip{font-size:10px}}.monthly-drawer-backdrop{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;justify-content:flex-end;animation:.2s monthly-drawer-fade;display:flex;position:fixed;inset:0}.monthly-drawer-backdrop>.monthly-drawer{border-radius:20px 0 0 20px;flex-direction:column;width:min(1180px,100%);height:100%;margin:0;animation:.28s cubic-bezier(.22,1,.36,1) monthly-drawer-slide;display:flex;overflow:hidden;box-shadow:-18px 0 48px #0f172a33}.monthly-drawer .unmarked-lessons-head{border-bottom:1px solid #e8eef5;flex-shrink:0}.monthly-drawer .unmarked-month-nav{align-items:center;gap:8px;display:flex}.monthly-drawer .unmarked-month-nav .payment-modal-close-button{margin-left:6px}.monthly-drawer-body{overscroll-behavior:contain;flex:1;min-height:0;padding:16px 20px 24px;overflow-y:auto}.monthly-drawer-body .unmarked-lessons-count{margin-top:0}.monthly-drawer .lesson-calendar-cell{min-height:96px}@keyframes monthly-drawer-slide{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes monthly-drawer-fade{0%{opacity:0}to{opacity:1}}@media (width<=900px){.monthly-drawer-backdrop>.monthly-drawer{border-radius:0}.monthly-drawer .unmarked-lessons-head{flex-wrap:wrap}.monthly-drawer-body{padding:12px}}.monthly-drawer .backdated-add-button{white-space:nowrap;height:40px;margin-right:6px}.lesson-calendar-day-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.lesson-calendar-day-row .lesson-calendar-day{margin-bottom:0}.lesson-calendar-add{color:#0369a1;cursor:pointer;opacity:0;background:#e0f2fe;border:0;border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:15px;font-weight:800;line-height:1;transition:opacity .15s,background .15s;display:flex}.lesson-calendar-cell:hover .lesson-calendar-add,.lesson-calendar-add:focus-visible{opacity:1}.lesson-calendar-add:hover{background:#bae6fd}@media (hover:none){.lesson-calendar-add{opacity:1}}.backdated-lesson-modal{width:min(640px,100%)}.backdated-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 16px;display:grid}.backdated-form-grid .form-group{flex-direction:column;gap:6px;margin:0;display:flex}.backdated-form-grid .full-width{grid-column:1/-1}.backdated-form-grid textarea{resize:vertical;min-height:70px}.backdated-estimate{background:linear-gradient(135deg,#f0fdf4,#f8fafc);border:1px solid #bbf7d0;border-radius:14px;margin-bottom:16px;padding:14px 16px}.backdated-estimate-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.backdated-estimate-head span{color:#166534;font-size:13px;font-weight:800}.backdated-estimate-head strong{color:#14532d;font-size:20px}.backdated-estimate ul{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.backdated-estimate li{color:#334155;justify-content:space-between;gap:12px;font-size:13px;display:flex}.backdated-estimate p{color:#64748b;margin:0;font-size:12px}@media (width<=650px){.backdated-form-grid{grid-template-columns:1fr}}.student-search-select{z-index:40;position:relative}.student-search-select .schedule-student-search-control input{width:100%;padding-left:44px;padding-right:44px}.lesson-groups-page{gap:26px}.lesson-group-form-card,.lesson-group-members-card{padding:28px}.lesson-group-form-card .section-title-row{margin-bottom:24px}.lesson-group-form-card .section-title-row h2,.lesson-group-members-card h2{margin:0 0 6px}.lesson-group-form-card .section-title-row p,.lesson-group-members-card .table-head p{color:#64748b;margin:0}.lesson-group-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.lesson-group-number-field{position:relative}.lesson-group-number-field input{padding-right:52px}.lesson-group-number-field span{color:#64748b;font-weight:700;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.lesson-group-checkbox-field{align-items:flex-end;display:flex}.lesson-group-checkbox{color:#1e293b;background:#f8fafc;border:1px solid #dbe4ef;border-radius:14px;align-items:center;gap:10px;width:100%;min-height:58px;padding:0 18px;font-weight:700;display:flex}.lesson-group-checkbox input{width:18px;height:18px;margin:0}.lesson-group-table td{vertical-align:middle}.lesson-group-row-actions{flex-wrap:wrap;gap:8px;display:flex}.lesson-group-manage-button{color:#0369a1;cursor:pointer;background:#e0f2fe;border:0;border-radius:10px;padding:10px 14px;font-weight:700}.lesson-group-status{border-radius:999px;justify-content:center;align-items:center;min-width:68px;padding:7px 10px;font-size:13px;font-weight:800;display:inline-flex}.lesson-group-status.active{color:#15803d;background:#dcfce7}.lesson-group-status.passive{color:#64748b;background:#f1f5f9}.lesson-group-empty{text-align:center;color:#94a3b8;padding:34px 20px}.lesson-group-add-student{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;grid-template-columns:minmax(260px,1.4fr) minmax(240px,1fr) auto;align-items:end;gap:16px;margin-top:22px;padding:20px;display:grid}.lesson-group-search-area{position:relative}.lesson-group-search-area>label{color:#1e293b;margin-bottom:8px;font-weight:700;display:block}.lesson-group-search-area input{width:100%}.lesson-group-search-results{z-index:20;background:#fff;border:1px solid #dbe4ef;border-radius:14px;max-height:300px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #0f172a24}.lesson-group-search-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;gap:3px;width:100%;padding:12px;display:flex}.lesson-group-search-results button:hover{background:#f0f9ff}.lesson-group-search-results span{color:#64748b;font-size:13px}.lesson-group-no-result{text-align:center;color:#94a3b8;padding:16px}.lesson-group-add-button{white-space:nowrap;min-height:52px}.lesson-group-warning{color:#c2410c;background:#fff7ed;border-radius:12px;margin-top:12px;padding:12px 16px;font-weight:600}.lesson-group-member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.lesson-group-member-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.lesson-group-member-avatar{color:#0369a1;background:#e0f2fe;border-radius:50%;place-items:center;width:48px;height:48px;font-size:18px;font-weight:800;display:grid}.lesson-group-member-info{flex-direction:column;gap:4px;min-width:0;display:flex}.lesson-group-member-info strong,.lesson-group-member-info span,.lesson-group-member-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-group-member-info span{color:#475569}.lesson-group-member-info small{color:#94a3b8}.lesson-group-remove-button{color:#dc2626;cursor:pointer;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;padding:9px 11px;font-weight:700}.lesson-group-remove-button:disabled,.lesson-group-add-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=1050px){.lesson-group-add-student{grid-template-columns:1fr 1fr}.lesson-group-add-button{grid-column:1/-1}}@media (width<=760px){.lesson-group-form-grid,.lesson-group-member-grid,.lesson-group-add-student{grid-template-columns:1fr}.lesson-group-member-card{grid-template-columns:44px 1fr}.lesson-group-remove-button{grid-column:1/-1}}.lesson-group-detail-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.lesson-group-detail-panel{background:#f8fafc;width:min(760px,92vw);height:100%;animation:.18s ease-out lesson-group-panel-in;overflow-y:auto;box-shadow:-18px 0 48px #0f172a2e}@keyframes lesson-group-panel-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.lesson-group-detail-head{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 30px 22px;display:flex;position:sticky;top:0}.lesson-group-detail-head h2{margin:8px 0 6px;font-size:26px}.lesson-group-detail-head p{color:#64748b;margin:0}.lesson-group-detail-badge{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.lesson-group-detail-close{color:#334155;cursor:pointer;background:#f1f5f9;border:0;border-radius:12px;width:40px;height:40px;font-size:26px;line-height:1}.lesson-group-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 30px 0;display:grid}.lesson-group-detail-summary>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:5px;padding:16px;display:flex}.lesson-group-detail-summary span{color:#64748b;font-size:13px}.lesson-group-detail-summary strong{color:#0f172a}.lesson-group-detail-body{flex-direction:column;gap:18px;padding:22px 30px 32px;display:flex}.lesson-group-detail-section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:22px}.lesson-group-detail-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.lesson-group-detail-section-head h3{margin:0 0 4px;font-size:19px}.lesson-group-detail-section-head p{color:#64748b;margin:0;font-size:14px}.lesson-group-count-badge{color:#4d7c0f;white-space:nowrap;background:#ecfccb;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.lesson-group-member-list{flex-direction:column;gap:10px;display:flex}.lesson-group-member-card{background:#f8fafc;border-radius:14px;grid-template-columns:44px 1fr auto;padding:14px}.lesson-group-member-avatar{width:44px;height:44px}.lesson-group-detail-section .lesson-group-add-student{background:0 0;border:0;grid-template-columns:1fr;margin-top:0;padding:0}.lesson-group-detail-section .lesson-group-add-button{width:100%}.lesson-group-empty.compact{padding:18px 12px}@media (width<=720px){.lesson-group-detail-panel{width:100vw}.lesson-group-detail-head,.lesson-group-detail-body{padding-left:18px;padding-right:18px}.lesson-group-detail-summary{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.lesson-group-member-card{grid-template-columns:40px 1fr}.lesson-group-remove-button{grid-column:1/-1}}.lesson-group-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1040px}.lesson-group-table thead th{color:#40546b;text-align:center;text-transform:uppercase;letter-spacing:.065em;vertical-align:middle;background:#f7f9fc;border-bottom:1px solid #dfe8f1;height:52px;padding:0 14px;font-size:11px;font-weight:850;line-height:1}.lesson-group-table tbody td{color:#52667d;text-align:center;vertical-align:middle;background:#fff;border-bottom:1px solid #edf2f7;height:78px;padding:14px;font-size:13px;line-height:1.45}.lesson-group-table tbody tr:nth-child(2n) td{background:#fbfcfe}.lesson-group-table tbody tr:hover td{background:#f5faff}.lesson-group-table tbody tr:hover{box-shadow:inset 3px 0 #38bdf8}.lesson-group-table tbody tr:last-child td{border-bottom:0}.lesson-group-duration-column,.lesson-group-capacity-column,.lesson-group-status-column{width:10%}.lesson-group-name-text,.lesson-group-cell-text{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.lesson-group-name-text{color:#102f4a;font-size:13px;font-weight:850}.lesson-group-cell-text{color:#3f5872;font-weight:600}.lesson-group-duration-pill,.lesson-group-capacity-pill{border-radius:999px;justify-content:center;align-items:center;min-width:64px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.lesson-group-duration-pill{color:#0369a1;background:#e0f2fe}.lesson-group-capacity-pill{color:#6d28d9;background:#ede9fe}.lesson-group-row-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;display:flex}.lesson-group-row-actions button{white-space:nowrap}.lesson-group-table-wrap{overflow-x:auto}@media (width<=1100px){.lesson-group-table{min-width:1040px}}.lesson-group-table{min-width:1180px}.lesson-group-name-column{width:16%}.lesson-group-specialty-column{width:10%}.lesson-group-teacher-column{width:14%}.lesson-group-duration-column,.lesson-group-capacity-column,.lesson-group-status-column{width:8%}.lesson-group-actions-column{width:36%}.lesson-group-edit-button,.lesson-group-delete-button{cursor:pointer;border-radius:10px;padding:10px 14px;font-weight:700}.lesson-group-edit-button{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.lesson-group-delete-button{color:#dc2626;background:#fff1f2;border:1px solid #fecaca}.lesson-group-delete-button:disabled{opacity:.6;cursor:not-allowed}.lesson-group-table tbody tr.is-editing td{background:#eef2ff}.lesson-group-detail-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.lesson-group-form-card{scroll-margin-top:24px;transition:box-shadow .25s,border-color .25s}.lesson-group-form-card.is-editing{border:2px solid #818cf8;box-shadow:0 0 0 4px #818cf82e}.lesson-group-form-card.is-editing h2{color:#4338ca}.reports-page{flex-direction:column;gap:20px;display:flex}.reports-page-heading{margin-bottom:0}.reports-navigation-card{background:#fff;border:1px solid #dfe8f1;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);gap:14px;padding:16px;display:grid;box-shadow:0 8px 24px #0f172a0a}.reports-navigation-group{background:#f8fbfd;border:1px solid #e5edf4;border-radius:14px;min-width:0;padding:12px}.reports-navigation-label{color:#64748b;text-transform:uppercase;letter-spacing:.07em;margin:0 0 9px 4px;font-size:11px;font-weight:800;display:block}.reports-navigation-buttons{flex-wrap:wrap;gap:8px;display:flex}.reports-navigation-buttons button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe5ef;border-radius:10px;min-height:40px;padding:9px 13px;font-size:12px;font-weight:750;transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.reports-navigation-buttons button:hover{color:#087ca3;background:#f0faff;border-color:#b8ddea;transform:translateY(-1px)}.reports-navigation-buttons button.active{color:#087ca3;background:linear-gradient(90deg,#dff5ff 0%,#e9fbfb 100%);border-color:#9fd4e4;box-shadow:inset 4px 0 #f4c400}.reports-content-card{background:#fff;border:1px solid #dfe8f1;border-radius:18px;padding:24px;box-shadow:0 8px 24px #0f172a0d}.reports-content-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.reports-content-heading span{color:#0b84a5;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.reports-content-heading h2{color:#0f172a;margin:5px 0 6px;font-size:22px}.reports-content-heading p{color:#64748b;max-width:760px;margin:0;line-height:1.55}.student-report-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;margin-bottom:12px;display:flex}.report-excel-button,.report-pdf-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-width:132px;min-height:42px;padding:10px 18px;font-size:13px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.report-excel-button{color:#166534;background:#dcfce7;border:1px solid #86efac}.report-excel-button:hover:not(:disabled){background:#bbf7d0;transform:translateY(-1px);box-shadow:0 5px 12px #1665341f}.report-pdf-button{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.report-pdf-button:hover:not(:disabled){background:#fecaca;transform:translateY(-1px);box-shadow:0 5px 12px #991b1b1f}.report-excel-button:disabled,.report-pdf-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.report-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.report-filter-grid{grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(170px,1fr));gap:14px;display:grid}.report-filter-grid .form-group{flex-direction:column;gap:7px;min-width:0;margin:0;display:flex}.report-filter-grid label{color:#334155;font-size:12px;font-weight:800}.report-filter-grid input,.report-filter-grid select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .16s,box-shadow .16s,background-color .16s}.report-filter-grid input::placeholder{color:#94a3b8}.report-filter-grid input:hover,.report-filter-grid select:hover{border-color:#94a3b8}.report-filter-grid input:focus,.report-filter-grid select:focus{background:#fff;border-color:#0b84a5;box-shadow:0 0 0 3px #0b84a51f}.report-toolbar-footer{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.report-toolbar-footer .cancel-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-height:40px;padding:0 15px;font-size:13px;font-weight:750;transition:color .16s,background-color .16s,border-color .16s}.report-toolbar-footer .cancel-button:hover{color:#0b84a5;background:#f0faff;border-color:#9fd4e4}.report-toolbar-actions{align-items:center;gap:10px;display:flex}.report-toolbar-actions select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;min-width:145px;height:40px;padding:0 10px;font-family:inherit;font-size:13px}.report-toolbar-actions select:focus{border-color:#0b84a5;box-shadow:0 0 0 3px #0b84a51a}.report-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:18px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:1050px;margin:0}.report-table thead{background:#f8fafc}.report-table th{color:#475569;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:13px 16px;font-size:11px;font-weight:800}.report-table td{color:#475569;white-space:nowrap;border-bottom:1px solid #edf2f7;padding:15px 16px;font-size:13px}.report-table td strong{color:#334155;font-weight:800}.report-table tbody tr{transition:background-color .15s}.report-table tbody tr:hover{background:#f8fbfd}.report-table tbody tr:last-child td{border-bottom:0}.report-table .empty-table{color:#64748b;text-align:center;white-space:normal;height:110px}.report-status-badge{border-radius:999px;justify-content:center;align-items:center;min-width:62px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.report-status-badge.active{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.report-status-badge.passive{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.report-pagination{color:#64748b;justify-content:space-between;align-items:center;gap:14px;padding-top:16px;font-size:13px;display:flex}.report-pagination>div{align-items:center;gap:10px;display:flex}.report-pagination strong{color:#334155;font-size:13px}.report-pagination .payment-pagination-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-width:78px;min-height:38px;padding:0 13px;font-size:12px;font-weight:750;transition:color .16s,background-color .16s,border-color .16s}.report-pagination .payment-pagination-button:hover:not(:disabled){color:#0b84a5;background:#f0faff;border-color:#9fd4e4}.report-pagination .payment-pagination-button:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc;border-color:#e2e8f0}.reports-placeholder{text-align:center;background:#f8fbfd;border:1px dashed #c9d8e5;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;margin-top:22px;padding:28px;display:flex}.reports-placeholder-icon{color:#0b84a5;background:#e7f7fc;border:1px solid #b8ddea;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;font-size:18px;font-weight:900;display:flex}.reports-placeholder strong{color:#0f172a;font-size:18px}.reports-placeholder p{color:#64748b;max-width:520px;margin:8px 0 0;line-height:1.55}@media (width<=1180px){.reports-navigation-card{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-navigation-group:last-child{grid-column:1/-1}.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.reports-navigation-card{grid-template-columns:1fr}.reports-navigation-group:last-child{grid-column:auto}.reports-navigation-buttons{flex-direction:column}.reports-navigation-buttons button{text-align:left;width:100%}.reports-content-card{padding:18px}.reports-content-heading{flex-direction:column}.student-report-actions{flex-direction:column;align-items:stretch}.report-excel-button,.report-pdf-button{width:100%}.report-filter-grid{grid-template-columns:1fr}.report-toolbar-footer{flex-direction:column;align-items:stretch}.report-toolbar-footer .cancel-button{width:100%}.report-toolbar-actions{flex-direction:column;align-items:stretch}.report-toolbar-actions select{width:100%}.report-pagination{flex-direction:column;align-items:stretch}.report-pagination>div{justify-content:space-between}}.report-long-text-cell{min-width:190px;max-width:290px;line-height:1.5;white-space:normal!important}.teacher-tracking-report-table{table-layout:fixed;min-width:1480px}.teacher-tracking-report-table th:first-child{width:220px}.teacher-tracking-report-table th:nth-child(2),.teacher-tracking-report-table th:nth-child(3){width:170px}.teacher-tracking-report-table th:nth-child(4){width:110px}.teacher-tracking-report-table th:nth-child(5){width:125px}.teacher-tracking-report-table th:nth-child(6){width:310px}.teacher-tracking-report-table th:nth-child(7){width:220px}.teacher-tracking-report-table th:nth-child(8){width:170px}.teacher-tracking-report-table th,.teacher-tracking-report-table td{vertical-align:middle}.teacher-report-name-cell{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.teacher-report-name-cell strong{color:#18323d;overflow-wrap:anywhere;min-width:0;line-height:1.4}.report-detail-button{color:#0b84a5;min-width:72px;font:inherit;cursor:pointer;background:#fff;border:1px solid #0b84a5;border-radius:8px;flex-shrink:0;padding:7px 12px;font-size:12px;font-weight:700;transition:background-color .2s,color .2s,border-color .2s}.report-detail-button:hover{color:#fff;background:#0b84a5;border-color:#0b84a5}.report-detail-button:focus-visible{outline-offset:2px;outline:3px solid #0b84a533}.teacher-tracking-report-table td.teacher-detail-state{color:#71858e;text-align:center;white-space:normal;background:#f8fbfc;border:none;border-radius:0;font-size:13px;font-weight:500;padding:18px 20px!important}.teacher-tracking-report-table td.teacher-detail-state.error{color:#b63c3c;background:#fff5f5}.teacher-detail-data-row td{background:#fff}.teacher-detail-data-row:hover td{background:#f8fbfc}.teacher-detail-data-row td[rowspan]{vertical-align:top;background:#fbfdfe;padding-top:16px}.teacher-record-type{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:5px 10px;font-size:12px;font-weight:800;line-height:1.2;display:inline-flex}@media (width<=900px){.teacher-report-name-cell{flex-direction:column;align-items:flex-start}.report-detail-button{width:100%}}.teacher-tracking-report-table{min-width:1560px}.teacher-tracking-report-table th:nth-child(9){width:110px}.teacher-report-detail-cell{background:#fbfdfe;width:110px;text-align:center!important;vertical-align:middle!important}.teacher-report-detail-cell .report-detail-button{margin:0 auto}.teacher-tracking-summary-table{table-layout:fixed;width:100%;min-width:0!important}.teacher-tracking-summary-table>thead>tr>th,.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td{vertical-align:middle;white-space:normal;overflow-wrap:anywhere;padding:13px 9px}.teacher-tracking-summary-table>thead>tr>th{color:#435762;font-size:11px;font-weight:800;line-height:1.3}.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td{color:#435a64;font-size:13px}.teacher-tracking-summary-table>thead>tr>th:nth-child(4),.teacher-tracking-summary-table>thead>tr>th:nth-child(5),.teacher-tracking-summary-table>thead>tr>th:nth-child(6),.teacher-tracking-summary-table>thead>tr>th:nth-child(7),.teacher-tracking-summary-table>thead>tr>th:nth-child(8),.teacher-tracking-summary-table>thead>tr>th:nth-child(9),.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td:nth-child(4),.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td:nth-child(5),.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td:nth-child(6),.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td:nth-child(7),.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td:nth-child(8),.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>td:nth-child(9){text-align:center}.teacher-tracking-summary-table>tbody>tr.teacher-summary-row>.report-long-text-cell{white-space:normal;overflow-wrap:anywhere;line-height:1.45}.teacher-report-detail-cell{text-align:center!important}.report-detail-button{color:#0b84a5;min-width:66px;font:inherit;cursor:pointer;background:#fff;border:1px solid #0b84a5;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700}.report-detail-button:hover{color:#fff;background:#0b84a5}.teacher-detail-row>td{background:#f7fafc;text-align:left!important;padding:0!important}.teacher-detail-panel{border-top:1px solid #dfe8ed;border-bottom:1px solid #dfe8ed;padding:20px 22px}.teacher-detail-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.teacher-detail-heading>div:first-child{flex-direction:column;gap:4px;display:flex}.teacher-detail-heading>div:first-child strong{color:#18323d;font-size:16px}.teacher-detail-heading>div:first-child span{color:#6f828b;font-size:13px}.teacher-detail-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.teacher-detail-summary span{color:#48616c;white-space:nowrap;background:#fff;border:1px solid #dbe7ec;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.teacher-detail-table-wrapper{background:#fff;border:1px solid #dce7ec;border-radius:10px;width:100%;overflow-x:auto}.teacher-detail-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:700px}.teacher-detail-table th,.teacher-detail-table td{vertical-align:middle;white-space:normal;border-bottom:1px solid #e6edf0;padding:11px 13px;text-align:left!important}.teacher-detail-table th{color:#38515c;background:#edf5f7;font-size:12px;font-weight:800}.teacher-detail-table td{color:#435a64;font-size:13px}.teacher-detail-table tbody tr:last-child td{border-bottom:none}.teacher-record-type{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.teacher-record-type.individual{color:#176a9a;background:#e9f5ff}.teacher-record-type.group{color:#6744a7;background:#f0ebff}.teacher-detail-state{color:#687e87;text-align:center;background:#fff;border:1px dashed #cbdbe2;border-radius:10px;padding:22px}.teacher-detail-state.error{color:#b63c3c;background:#fff6f6;border-color:#efc8c8}@media (width<=900px){.teacher-detail-heading{flex-direction:column}.teacher-detail-summary{justify-content:flex-start}}.teacher-earning-center-column,.teacher-earning-center-cell{text-align:center!important}.teacher-earning-money-column,.teacher-earning-money-cell{text-align:right!important}.student-tracking-report-table>thead>tr>th:nth-child(5),.student-tracking-report-table>tbody>tr>td:nth-child(5),.student-tracking-report-table>thead>tr>th:nth-child(6),.student-tracking-report-table>tbody>tr>td:nth-child(6),.student-tracking-report-table>thead>tr>th:nth-child(7),.student-tracking-report-table>tbody>tr>td:nth-child(7){text-align:center!important}.student-tracking-report-table>tbody>tr>td:nth-child(5){white-space:normal}.teacher-earnings-summary-table{table-layout:fixed;width:100%;min-width:0!important}.teacher-earnings-summary-table>thead>tr>th,.teacher-earnings-summary-table>tbody>tr.teacher-summary-row>td{vertical-align:middle;padding:14px 12px}.teacher-earnings-summary-table>thead>tr>th{white-space:normal;line-height:1.25}.teacher-earning-center-column,.teacher-earning-center-cell,.teacher-earning-money-column,.teacher-earning-money-cell{text-align:center!important}.teacher-earning-money-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.teacher-earnings-summary-table .report-payment-status{white-space:normal;text-align:center;justify-content:center;align-items:center;min-width:92px;max-width:100%;line-height:1.2;display:inline-flex}.teacher-earnings-summary-table .teacher-report-detail-cell{text-align:center!important}.teacher-earnings-summary-table .report-detail-button{margin:0 auto}.teacher-payments-report-table{table-layout:fixed;width:100%}.teacher-payments-report-table>thead>tr>th:first-child,.teacher-payments-report-table>tbody>tr>td:first-child,.teacher-payments-report-table>thead>tr>th:nth-child(6),.teacher-payments-report-table>tbody>tr>td:nth-child(6){text-align:left!important}.teacher-payments-report-table>thead>tr>th:nth-child(2),.teacher-payments-report-table>tbody>tr>td:nth-child(2),.teacher-payments-report-table>thead>tr>th:nth-child(3),.teacher-payments-report-table>tbody>tr>td:nth-child(3),.teacher-payments-report-table>thead>tr>th:nth-child(4),.teacher-payments-report-table>tbody>tr>td:nth-child(4),.teacher-payments-report-table>thead>tr>th:nth-child(5),.teacher-payments-report-table>tbody>tr>td:nth-child(5),.teacher-payments-report-table>thead>tr>th:nth-child(7),.teacher-payments-report-table>tbody>tr>td:nth-child(7){text-align:center!important}.teacher-payments-report-table>tbody>tr>td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}.teacher-payments-report-table>tbody>tr>td:nth-child(7) .report-status-badge{margin-inline:auto}.report-payment-status.overpaid{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.report-remaining-amount.overpaid{color:#b91c1c}.user-management-page{padding:8px 0 36px}.user-management-header{margin-bottom:22px}.user-management-header h1,.user-card-heading h2,.user-password-modal-heading h2{color:#0f172a;margin:0}.user-management-header h1{font-size:28px;line-height:1.2}.user-management-header p,.user-card-heading p,.user-password-modal-heading p{color:#64748b;margin:7px 0 0;line-height:1.5}.user-management-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.user-summary-card,.user-management-card{background:#fff;border:1px solid #dfe6ef;border-radius:14px;box-shadow:0 1px 2px #0f172a06}.user-summary-card{padding:18px 20px}.user-summary-card span{color:#64748b;margin-bottom:7px;font-size:13px;display:block}.user-summary-card strong{color:#0f172a;font-size:27px;line-height:1}.user-management-card{margin-bottom:18px;padding:22px}.user-card-heading{margin-bottom:20px}.user-card-heading h2{font-size:19px}.user-list-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.user-create-form{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:16px;display:grid}.user-create-form>label:first-of-type,.user-create-form>label:nth-of-type(2){grid-column:span 5}.user-create-form>label:nth-of-type(3){grid-column:span 2}.user-create-form label,.user-reset-form label{flex-direction:column;gap:7px;min-width:0;display:flex}.user-create-form label span,.user-reset-form label span{color:#334155;font-size:13px;font-weight:650}.user-create-form input,.user-create-form select,.user-reset-form input{box-sizing:border-box;color:#0f172a;width:100%;min-width:0;height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;padding:0 13px;transition:border-color .15s,box-shadow .15s,background .15s}.user-create-form input::placeholder,.user-reset-form input::placeholder{color:#94a3b8}.user-create-form input:focus,.user-create-form select:focus,.user-reset-form input:focus{border-color:#22c7d6;box-shadow:0 0 0 3px #22c7d61f}.user-password-field{grid-column:span 8}.user-password-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;display:grid}.user-password-input-row input{min-width:0}.user-create-actions{grid-column:span 4;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;gap:9px;display:grid}.user-primary-button,.user-secondary-button,.user-modal-close{cursor:pointer;font:inherit;border:0;border-radius:9px;font-weight:650;transition:transform .12s,box-shadow .12s,background .12s,opacity .12s}.user-primary-button,.user-secondary-button{white-space:nowrap;min-height:42px;padding:0 15px}.user-primary-button{color:#fff;background:#0ea5e9;box-shadow:0 1px 2px #0ea5e92e}.user-primary-button:hover:not(:disabled){background:#0891b2;box-shadow:0 4px 12px #0ea5e938}.user-secondary-button{color:#155e75;background:#f3fbfc;border:1px solid #e2e8f0}.user-secondary-button:hover:not(:disabled){background:#e6f8fb}.user-primary-button:active:not(:disabled),.user-secondary-button:active:not(:disabled){transform:translateY(1px)}.user-primary-button:disabled,.user-secondary-button:disabled,.user-modal-close:disabled{opacity:.55;cursor:not-allowed}.user-message{border-radius:9px;padding:11px 13px;font-size:13px}.user-message-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.user-message-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.user-global-message{margin-bottom:18px}.user-credential-box{background:#ecfeff;border:1px solid #a5f3fc;border-radius:12px;margin-top:18px;padding:17px}.user-credential-box strong{color:#0f172a}.user-credential-box p{color:#475569;margin:6px 0 14px;font-size:13px}.user-credential-grid{grid-template-columns:80px minmax(0,1fr);align-items:center;gap:8px 12px;display:grid}.user-credential-grid span{color:#64748b;font-size:12px;font-weight:700}.user-credential-grid code{color:#0f172a;overflow-wrap:anywhere;background:#fff;border:1px solid #cffafe;border-radius:8px;padding:9px 11px;display:block}.user-credential-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.user-table-wrap{border:1px solid #e7edf4;border-radius:10px;width:100%;overflow-x:auto}.user-management-table{border-collapse:collapse;width:100%}.user-management-table th,.user-management-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e8edf3;padding:14px 13px}.user-management-table th{color:#475569;background:#f8fafc;font-size:12px;font-weight:700}.user-management-table td{color:#1e293b;font-size:13px}.user-management-table tbody tr:last-child td{border-bottom:0}.user-management-table tbody tr:hover{background:#fbfdff}.user-role-badge{border-radius:999px;align-items:center;min-height:27px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.user-role-badge.admin{color:#c2410c;background:#fff7ed}.user-role-badge.staff{color:#0e7490;background:#ecfeff}.user-row-actions{align-items:center;gap:8px;display:flex}.user-row-actions .user-secondary-button{min-height:36px;padding:0 12px}.user-list-state{color:#64748b;text-align:center;padding:24px 0 8px}.user-list-error{color:#b91c1c}.user-list-error p{margin:0 0 12px}.user-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.user-password-modal{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:min(520px,100%);padding:22px;box-shadow:0 24px 70px #0f172a33}.user-password-modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:19px;display:flex}.user-modal-close{color:#475569;background:#e6f8fb;flex:0 0 36px;width:36px;height:36px;font-size:22px;line-height:1}.user-modal-close:hover:not(:disabled){background:#e2e8f0}.user-reset-form{gap:15px;display:grid}.user-reset-options,.user-modal-actions{flex-wrap:wrap;gap:9px;display:flex}.user-modal-actions{justify-content:flex-end;margin-top:4px}@media (width<=1150px){.user-create-form>label:first-of-type,.user-create-form>label:nth-of-type(2){grid-column:span 6}.user-create-form>label:nth-of-type(3){grid-column:span 4}.user-password-field{grid-column:span 8}.user-create-actions{grid-column:span 12;grid-template-columns:repeat(2,max-content);justify-content:flex-end}}@media (width<=850px){.user-management-summary,.user-create-form{grid-template-columns:1fr}.user-create-form>label:first-of-type,.user-create-form>label:nth-of-type(2),.user-create-form>label:nth-of-type(3),.user-password-field,.user-create-actions{grid-column:1}.user-create-actions{grid-template-columns:1fr}.user-list-heading{flex-direction:column}.user-password-input-row{grid-template-columns:1fr}.user-row-actions{flex-direction:column;align-items:stretch}}.user-danger-button{color:#dc2626;cursor:pointer;min-height:36px;font:inherit;white-space:nowrap;background:#fff7f7;border:1px solid #fecaca;border-radius:9px;padding:0 12px;font-weight:650;transition:background .12s,border-color .12s,transform .12s,opacity .12s}.user-danger-button:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.user-danger-button:active:not(:disabled){transform:translateY(1px)}.user-danger-button:disabled{opacity:.55;cursor:not-allowed}.feedback-toast-region{z-index:120000;pointer-events:none;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.feedback-toast{border:1px solid #e2e8f0;border-left:4px solid var(--toast-accent,#0ea5e9);pointer-events:auto;background:#fff;border-radius:14px;align-items:flex-start;gap:11px;padding:13px 12px 13px 14px;animation:.24s cubic-bezier(.22,1,.36,1) feedbackToastIn;display:flex;box-shadow:0 2px 6px #0f172a0d,0 14px 34px #0f172a24}.feedback-toast.success{--toast-accent:#16a34a;--toast-icon-bg:#dcfce7}.feedback-toast.error{--toast-accent:#dc2626;--toast-icon-bg:#fee2e2}.feedback-toast.warning{--toast-accent:#d97706;--toast-icon-bg:#fef3c7}.feedback-toast.info{--toast-accent:#0284c7;--toast-icon-bg:#e0f2fe}.feedback-toast-icon{width:32px;height:32px;color:var(--toast-accent);background:var(--toast-icon-bg,#e0f2fe);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.feedback-toast-content{flex:1;min-width:0;padding-top:5px}.feedback-toast-content strong{color:#0f172a;margin-bottom:2px;font-size:13.5px;display:block}.feedback-toast-content p{color:#334155;white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.45}.feedback-toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:flex}.feedback-toast-close:hover{color:#334155;background:#f1f5f9}@keyframes feedbackToastIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback-dialog-backdrop{z-index:110000;-webkit-backdrop-filter:blur(6px);background:#0f172a61;justify-content:center;align-items:center;padding:24px;animation:.18s feedbackFadeIn;display:flex;position:fixed;inset:0}.feedback-dialog{text-align:center;background:#fff;border:1px solid #e2e8f0e6;border-radius:24px;width:min(440px,100%);max-height:calc(100vh - 48px);padding:34px 30px 26px;animation:.22s cubic-bezier(.22,1,.36,1) feedbackDialogIn;position:relative;overflow:hidden auto;box-shadow:0 1px 2px #0f172a0a,0 24px 64px #0f172a2e}.feedback-dialog:before{content:"";background:linear-gradient(90deg,#0ea5e9,#14b8a6);height:4px;position:absolute;top:0;left:0;right:0}.feedback-dialog.danger:before{background:linear-gradient(90deg,#f87171,#dc2626)}.feedback-dialog-icon{color:#0284c7;background:linear-gradient(135deg,#e0f2fe,#ccfbf1);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 18px;display:flex;box-shadow:0 0 0 8px #e0f2fe8c}.feedback-dialog.danger .feedback-dialog-icon{color:#dc2626;background:#fee2e2;box-shadow:0 0 0 8px #fee2e28c}.feedback-dialog h2{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font-size:19px;font-weight:700;line-height:1.35}.feedback-dialog p{color:#64748b;white-space:pre-line;max-width:360px;margin:0 auto;font-size:14px;line-height:1.6}.feedback-dialog-field{text-align:left;flex-direction:column;gap:6px;margin-top:18px;display:flex}.feedback-dialog-field label{color:#1e3858;font-size:13px;font-weight:700}.feedback-dialog-field input,.feedback-dialog-field textarea{box-sizing:border-box;color:#0f172a;width:100%;font:inherit;background:#f8fafc;border:1px solid #d9e2ef;border-radius:12px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s}.feedback-dialog-field textarea{resize:vertical}.feedback-dialog-field input:focus,.feedback-dialog-field textarea:focus{background:#fff;border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf824}.feedback-dialog-field small{color:#64748b;font-size:12px}.feedback-dialog-field small.feedback-dialog-error{color:#dc2626;font-weight:600}.feedback-dialog-actions{flex-direction:column-reverse;gap:8px;margin-top:24px;display:flex}.feedback-dialog-cancel,.feedback-dialog-confirm{width:100%;min-height:46px;font:inherit;cursor:pointer;border-radius:13px;padding:0 16px;font-size:14px;font-weight:700;transition:background-color .18s,box-shadow .18s,transform .18s}.feedback-dialog-confirm{color:#fff;background:linear-gradient(135deg,#0ea5e9,#14b8a6);border:0;box-shadow:0 8px 18px #0ea5e93d}.feedback-dialog-confirm.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 18px #dc26263d}.feedback-dialog-confirm:hover{transform:translateY(-1px)}.feedback-dialog-cancel{color:#475569;background:#f1f5f9;border:0}.feedback-dialog-cancel:hover{background:#e2e8f0}.feedback-dialog-cancel:focus-visible,.feedback-dialog-confirm:focus-visible{outline-offset:2px;outline:3px solid #0ea5e94d}@keyframes feedbackFadeIn{0%{opacity:0}to{opacity:1}}@keyframes feedbackDialogIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=520px){.feedback-toast-region{width:auto;bottom:16px;left:16px;right:16px}.feedback-dialog-backdrop{align-items:flex-end;padding:14px}.feedback-dialog{padding:28px 20px 20px}}@media (prefers-reduced-motion:reduce){.feedback-toast,.feedback-dialog,.feedback-dialog-backdrop{animation:none}}.feedback-dialog.warning:before{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.feedback-dialog.warning .feedback-dialog-icon{color:#d97706;background:#fef3c7}.feedback-dialog.alert .feedback-dialog-actions{justify-content:center}.feedback-dialog.alert .feedback-dialog-confirm{min-width:140px}table:is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table):is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table):is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table):is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table)>thead>tr>th,table:is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table):is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table):is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table):is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table)>tbody>tr:not(.teacher-detail-row)>td{vertical-align:middle;text-align:center!important}table:is(.report-table,.lesson-table,.settlement-table,.user-management-table,.dashboard-home-table)>tbody>tr:not(.teacher-detail-row)>td>:is(div,strong,small,p){margin-left:auto;margin-right:auto}table.report-table>tbody>tr.teacher-detail-row>td,.teacher-detail-table th,.teacher-detail-table td{text-align:left!important}
