:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--panel:#fff;--panel-2:#f1f4f7;--line:#d8dee6;--text:#18212f;--muted:#687487;--accent:#2364aa;--accent-2:#16836a;--danger:#b42318;--warn:#a15c07;--shadow:0 12px 32px #18212f14;--primary:var(--accent);--surface:var(--panel);--border:var(--line);--hover:var(--panel-2);--text-muted:var(--muted);--success:#0c7c59;--card:var(--panel);--fg:var(--text);--sidebar-bg:#f8fafc;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-control:8px;--radius-panel:12px;--focus-ring:#2364aa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--radius-control);cursor:pointer;min-height:40px;padding:9px 12px;transition:background-color .14s,border-color .14s,box-shadow .14s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button.primary:focus-visible,button.success:focus-visible{outline-offset:4px}button:hover{border-color:#a9b5c5}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.success{background:var(--accent-2);border-color:var(--accent-2);color:#fff}button.danger{color:var(--danger);background:#fff;border-color:#e7aaa4}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;color:var(--text);background:#fff;min-height:40px;padding:9px 10px}textarea{resize:vertical;min-height:76px}label{color:var(--muted);gap:5px;font-size:12px;font-weight:600;display:grid}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums;padding:10px 12px;font-size:13px}th{color:var(--muted);text-transform:uppercase;letter-spacing:0;background:#f8fafc;font-size:11px}.app{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#17202c;grid-template-rows:auto 1fr auto;gap:22px;padding:20px 16px;display:grid}.brand{gap:4px;display:grid}.brand strong{font-size:18px}.brand span,.session span{color:#b8c3d2;font-size:12px}.nav{align-content:start;gap:6px;display:grid}.nav button{color:#dce4ef;text-align:left;background:0 0;border-color:#0000;align-items:center;gap:9px;width:100%;display:flex}.nav button.active,.nav button:hover{color:#fff;background:#263548}.session{gap:10px;display:grid}.main{grid-template-rows:auto 1fr;min-width:0;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;justify-content:space-between;align-items:center;height:66px;padding:0 24px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:20px}.content{grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;padding:22px 24px 40px;display:grid}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow);overflow:hidden}.panel.overflow-visible{overflow:visible}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.panel-head h2{margin:0;font-size:15px}.gcal-resync-btn{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s;display:flex}.gcal-resync-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.gcal-resync-btn:disabled{opacity:.4;cursor:default}.status-badge{white-space:nowrap;border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.s-active{color:#16a34a;background:#16a34a1f}.status-badge.s-inactive{color:var(--muted);background:#0000000f}.status-badge.s-warn{color:#a16207;background:#eab30824}.tcal-row{border-bottom:1px solid var(--line);padding:8px 0}.tcal-row:last-child{border-bottom:none}.tcal-main{align-items:center;gap:10px;display:flex}.tcal-name{flex:1;font-size:13px;font-weight:500}.tcal-badge{border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:11px}.tcal-badge.connected{color:#4285f4;background:#4285f41f}.tcal-badge.none{color:var(--muted);background:#0000000f}.tcal-actions{align-items:center;gap:4px;display:flex}.tcal-acl{flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:2px;display:flex}.tcal-email-chip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:12px;align-items:center;gap:4px;padding:2px 6px 2px 8px;font-size:11px;display:inline-flex}.tcal-email-chip button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:13px;line-height:1}.tcal-email-chip button:hover{color:var(--danger)}.tcal-share-form{align-items:center;gap:6px;margin-top:8px;display:flex}.panel-body{padding:16px}.toolbar{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.toolbar label{min-width:170px}.form-grid{grid-template-columns:repeat(4,minmax(140px,1fr));align-items:end;gap:12px;display:grid}.form-grid .wide{grid-column:span 2}.form-grid .lesson-students{grid-column:1/-1}.modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.modal .form-grid>*{min-width:0}.modal .form-grid>button{grid-column:1/-1;justify-self:end;min-width:140px;margin-top:4px}.modal .form-grid>div,.modal .form-grid>.form-field-wide{grid-column:1/-1}.product-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;display:grid}.product-policy-grid>*{min-width:0}.product-policy-grid>.product-policy-help{margin:0}.modal .form-grid>.wide,.modal .form-grid>.error,.modal .form-grid>.error-state,.modal .form-grid>.loading-state,.modal .form-grid>.form-help,.modal .form-grid>.form-footer{grid-column:1/-1}.form-help{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.form-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;padding-top:16px;display:flex}.modal-stack{gap:20px;display:grid}.modal-stack>*{min-width:0}.leg-cell:not(.product-policy-grid)>label+label{margin-top:16px}.leg-cell .product-policy-check{flex-direction:row;align-items:center;gap:8px;margin:0;display:flex}.modal label{overflow-wrap:anywhere}.lesson-footer-main,.lesson-footer-danger{flex-wrap:wrap}.status{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.status.completed,.status.active,.status.attended{color:#0f6b55;background:#ecfbf7;border-color:#9ed8c9}.status.cancelled,.status.inactive,.status.missed{color:var(--danger);background:#fff4f2;border-color:#efb4ae}.status.planned,.status.pending{color:var(--warn);background:#fff8ea;border-color:#f3c987}.metric{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:5px;padding:16px;display:grid}.metric span{color:var(--muted);font-size:12px}.metric strong{font-size:24px}.login-page{background:linear-gradient(135deg, #2364aa29, transparent 32%), linear-gradient(315deg, #16836a29, transparent 38%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-box{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:16px;padding:24px;display:grid}.login-box h1{margin:0;font-size:24px}.muted{color:var(--muted)}.error{color:var(--danger);background:#fff4f2;border:1px solid #efb4ae;border-radius:6px;padding:10px 12px;font-size:13px}.actions{flex-wrap:wrap;gap:8px;display:flex}.empty{color:var(--muted);text-align:center;padding:24px}.modal-backdrop{z-index:30;box-sizing:border-box;height:100dvh;padding:8px;padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom));background:#17202c75;grid-template-rows:minmax(0,1fr);place-items:center;display:grid;position:fixed;inset:0}.modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);width:min(900px,100%);min-width:0;min-height:0;max-height:100%;box-shadow:var(--shadow);background:#fff;border-radius:12px;position:relative;overflow:auto}.modal-close-float{z-index:20;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff40;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;min-height:0;padding:0;font-size:17px;line-height:1;display:flex;position:absolute;top:14px;right:14px}.modal-close-float:hover{background:#fff6;border-color:#fff9}.modal.large{width:min(1480px,100%)}.modal-head{z-index:1;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:16px}.modal-body{padding:16px}.check-grid{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;max-height:220px;padding:10px;display:grid;overflow:auto}.check-grid label{color:var(--text);align-items:center;gap:8px;font-weight:500;display:flex}.check-grid input{width:auto;min-height:auto}.student-select{position:relative}.student-select>button{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.student-select-menu{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:8px;margin-top:6px;padding:10px;display:grid}.student-select-list{gap:4px;max-height:260px;display:grid;overflow:auto}.student-select-list label{color:var(--text);border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:7px 6px;font-weight:500;display:grid}.student-select-list label:hover{background:var(--panel-2)}.student-select-list input{width:auto;min-height:auto}.student-select-list small{color:var(--muted)}.student-picker{max-width:620px;display:grid}.student-picker-list{border:1px solid var(--line);max-height:240px;box-shadow:var(--shadow);background:#fff;border-radius:6px;margin-top:4px;padding:4px;display:grid;overflow:auto}.student-picker-list button{text-align:left;background:#fff;border:0;border-radius:5px;gap:2px;padding:9px 10px;display:grid}.student-picker-list button:hover{background:var(--panel-2)}.student-picker-list small,.student-picker-empty{color:var(--muted)}.student-picker-empty{padding:10px}.selected-list{gap:8px;max-width:760px;margin-bottom:10px;display:grid}.selected-row{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:28px minmax(220px,1fr) auto minmax(260px,340px) auto;align-items:center;gap:8px;padding:8px;display:grid}.student-index{background:var(--panel-2);width:24px;height:24px;color:var(--muted);border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.selected-row>div{gap:2px;display:grid}.selected-row small{color:var(--muted)}.warn-text{color:var(--danger)!important}.notice{color:var(--warn);background:#fff8ea;border:1px solid #f3c987;border-radius:6px;padding:10px 12px;font-weight:600}.lesson-students{border-top:1px solid var(--line);padding-top:12px}.lesson-form{gap:16px;display:grid;position:relative}.lesson-form .error{margin:0}.form-section{gap:10px;display:grid}.lesson-form-grid{align-items:end;gap:12px;display:grid}.lesson-form-grid.details{grid-template-columns:210px minmax(220px,1fr) minmax(220px,1fr) 150px 170px}.lesson-form-grid.teacher{grid-template-columns:210px minmax(320px,1fr) 180px;max-width:820px}.lesson-form-grid.create-main{grid-template-columns:210px minmax(240px,1fr) minmax(220px,1fr) 150px 180px;padding-right:40px}.modal-gear{z-index:2;width:32px;min-height:32px;padding:0;position:absolute;top:0;right:0}.advanced-section{max-width:240px}.form-actions{justify-content:flex-start;display:flex}.form-actions .primary{width:min(280px,100%)}.section-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.section-row label{color:var(--muted);font-size:12px;font-weight:700}.icon-add{width:32px;min-height:32px;padding:0;font-size:18px;line-height:1}.selected-students-table{border:1px solid var(--line);background:#fff;border-radius:6px;display:grid;overflow:hidden}.selected-students-head,.selected-student-row{grid-template-columns:42px minmax(220px,1.1fr) 140px minmax(260px,1fr) 160px;align-items:center;gap:10px;padding:8px 10px;display:grid}.selected-students-head{color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--line);background:#f8fafc;font-size:12px;font-weight:800}.selected-student-row+.selected-student-row{border-top:1px solid var(--line)}.student-cell,.package-cell{gap:3px;display:grid}.package-cell select{min-height:34px}.row-tools{justify-content:flex-end;align-items:center;gap:6px;display:flex}.lm-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:12px 20px 0;padding:10px 14px;font-size:13px}.lesson-hero{color:#fff;border-radius:12px 12px 0 0;padding:28px 24px 22px;position:relative}.lesson-hero.lt-individual{background:linear-gradient(140deg,#1a4c8a 0%,#2a6dd4 100%)}.lesson-hero.lt-group{background:linear-gradient(140deg,#0c5741 0%,#1b9b7e 100%)}.lesson-hero.done{background:linear-gradient(140deg,#3a4760 0%,#5a6a82 100%)}.lesson-hero-top{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.lh-badge{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:#ffffff2e;border:1px solid #ffffff47;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:700}.lh-badge.lh-status.st-planned{background:#78dc9640;border-color:#78dc9666}.lh-badge.lh-status.st-completed{background:#ffffff1f}.lh-badge.lh-status.st-cancelled{background:#ff505040;border-color:#ff505066}.lh-type-btn{cursor:pointer;color:#ffffffbf;min-height:0;line-height:1;transition:background .15s,border-color .15s,color .15s}.lh-type-btn:hover{color:#fff;background:#ffffff47}.lh-type-btn.lh-type-active{color:#fff;background:#ffffff52;border-color:#fff9}.lh-recurring-toggle{cursor:pointer;color:#fffc;text-transform:uppercase;letter-spacing:.07em;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.lh-recurring-toggle input{accent-color:#fff}.roster-picker-select{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:12px;height:auto;min-height:0;padding:2px 8px;font-size:11px;font-weight:600}.section-head-add{color:var(--accent);cursor:pointer;background:0 0;border:none;min-height:0;padding:0;font-size:11px;font-weight:600}.lesson-hero-title{margin-bottom:10px;padding-right:80px;font-size:24px;font-weight:700;line-height:1.2}.lesson-hero-title em{opacity:.6;font-style:normal}.lesson-hero-meta{opacity:.9;align-items:center;gap:12px;font-size:14px;display:flex}.lesson-hero-date{font-weight:500}.lesson-hero-dur{background:#fff3;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600}.lesson-hero-edit-btn{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff59;border-radius:6px;min-height:0;padding:5px 12px;font-size:12px;font-weight:600;position:absolute;top:14px;right:54px}.lesson-details-grid{grid-template-columns:1fr 1fr;display:grid}.detail-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:3px;min-width:0;padding:14px 20px;display:flex}.detail-item:nth-child(2n){border-right:none}.detail-item-wide{border-right:none;grid-column:1/-1}.detail-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:10px;font-weight:700}.detail-value{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.detail-value.muted{color:var(--muted);white-space:normal;font-weight:400}.lesson-edit-mode{border-bottom:1px solid var(--line)}.lesson-edit-form{flex-direction:column;gap:0;padding:0;display:flex}.lesson-edit-grid{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.leg-cell{background:var(--panel);padding:13px 20px}.leg-cell.wide{grid-column:1/-1}.leg-cell label{text-transform:none;letter-spacing:0;color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.leg-cell input:not([type=color]):not([type=checkbox]):not([type=radio]),.leg-cell select{border:none!important;border-bottom:1.5px solid var(--line)!important;height:auto!important;min-height:0!important;box-shadow:none!important;color:var(--text)!important;background:0 0!important;border-radius:0!important;padding:6px 0!important;font-size:14px!important;font-weight:500!important}.leg-cell input:not([type=color]):not([type=checkbox]):not([type=radio]):focus,.leg-cell select:focus{border-bottom-color:var(--accent)!important;box-shadow:none!important;outline:none!important}.leg-cell input:not([type=color]):not([type=checkbox]):not([type=radio]):focus-visible,.leg-cell select:focus-visible{outline-offset:3px;outline:3px solid var(--focus-ring)!important}.edit-form-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 20px;display:flex}.lesson-section{border-bottom:1px solid var(--line)}.lesson-section-head{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;padding:10px 20px 6px;font-size:10px;font-weight:700;display:flex}.lesson-section-body{padding:0 20px 14px}.lesson-section-body .student-picker{max-width:100%}.lesson-summary-cards{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.summary-card{background:var(--panel);flex-direction:column;gap:3px;padding:12px 16px;display:flex}.summary-value{color:var(--text);font-size:18px;font-weight:700;line-height:1.2}.summary-sub{color:var(--muted);font-size:11px}.lesson-footer{background:var(--panel);border-top:1px solid var(--line);border-radius:0 0 12px 12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;display:flex;position:sticky;bottom:0}.lesson-footer-main{gap:8px;display:flex}.lesson-footer-danger{align-items:center;gap:8px;margin-left:auto;display:flex}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 4px}.btn-link:hover{opacity:.7}.btn-delete-link{color:var(--muted);cursor:pointer;background:0 0;border:none;min-height:0;padding:6px 8px;font-size:13px}.btn-delete-link:hover{color:var(--danger)}.scope-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scope-inline span{color:var(--muted);font-size:13px}button.sm{min-height:0;padding:5px 10px;font-size:12px}.report-options{flex-wrap:wrap;gap:14px;margin-bottom:12px;display:flex}.report-options label{color:var(--text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.report-options input[type=checkbox]{width:auto;min-height:auto}.lesson-report-list{gap:8px;margin-bottom:10px;display:grid}.lesson-report-row{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:minmax(220px,1fr) 150px 120px minmax(260px,1fr);align-items:center;gap:8px;padding:8px;display:grid}.lesson-report-row label{color:var(--text);align-items:center;gap:6px;font-weight:600;display:inline-flex}.lesson-report-row input[type=checkbox]{width:auto;min-height:auto}.payment-product-summary{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;align-content:center;gap:4px;min-height:40px;padding:8px 10px;display:grid}.payment-product-summary span{color:var(--muted);font-size:12px;font-weight:700}.payment-in-hero{color:#fff;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(140deg,#14532d 0%,#16a34a 100%);padding:28px 28px 22px;position:relative}.payment-hero-label{text-transform:uppercase;letter-spacing:.07em;opacity:.6;font-size:11px;font-weight:700}.payment-hero-type-pills{gap:6px;margin-top:10px;display:flex}.payment-hero-type-pill{color:#ffffff8c;cursor:pointer;background:0 0;border:1.5px solid #ffffff59;border-radius:20px;min-height:0;padding:4px 18px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.payment-hero-type-pill.active{color:#fff;background:#ffffff2e;border-color:#ffffffd9}.payment-hero-amount{color:#fff;margin:4px 0 0;font-size:34px;font-weight:800;line-height:1}.payment-hero-sub{opacity:.72;margin-top:5px;font-size:13px}.hero-close-x{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;min-height:0;padding:0;font-size:14px;line-height:1;display:flex;position:absolute;top:14px;right:14px}.hero-close-x:hover{background:#ffffff47}.search-select{position:relative}.search-select-list{border:1px solid var(--line);background:var(--panel);border-top:none;border-radius:0 0 6px 6px;max-height:190px;overflow-y:auto;box-shadow:0 6px 18px #0000001a}.search-select-option{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;padding:9px 12px;font-size:14px;font-weight:500}.search-select-option:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.search-select-option.sel{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.search-select-empty{color:var(--muted);padding:10px 12px;font-size:13px}.calendar{grid-template-columns:repeat(7,minmax(120px,1fr));gap:6px;display:grid;overflow-x:auto}.calendar-day{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-rows:auto 1fr;min-height:120px;display:grid}.calendar.month{grid-template-columns:repeat(7,minmax(118px,1fr))}.calendar.month .calendar-day{min-height:112px}.calendar-day.muted-day{opacity:.48}.context-menu{z-index:40;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:6px;position:fixed}.calendar-day h3{border-bottom:1px solid var(--line);background:#f8fafc;margin:0;padding:6px 8px;font-size:12px}.lesson-chip{border-left:3px solid var(--accent);background:#eef5fc;border-radius:5px;gap:2px;margin:5px;padding:6px;font-size:11px;line-height:1.25;display:grid}.lesson-chip strong,.lesson-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-controls{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.calendar-controls input[type=month]{width:160px}.calendar-controls button{min-height:34px}.lesson-chip.group{border-left-color:var(--accent-2);background:#ecfbf7}.week-container{border-top:1px solid var(--line);flex-direction:column;display:flex}.week-header-row{border-bottom:2px solid var(--line);flex-shrink:0;display:flex;overflow:hidden}.week-time-corner{border-right:1px solid var(--line);background:#f8fafc;flex:0 0 44px;width:44px}.week-view{min-height:200px;display:flex;overflow-x:auto}.week-time-col{border-right:1px solid var(--line);background:#f8fafc;flex-direction:column;flex:0 0 44px;width:44px;display:flex}.week-hour-label{color:var(--muted);border-top:1px solid var(--line);justify-content:flex-end;align-items:flex-start;padding:3px 6px 0 0;font-size:10px;font-weight:600;display:flex}.week-day-col{border-right:1px solid var(--line);flex:1 1 0;min-width:120px;position:relative}.week-day-header{border-right:1px solid var(--line);text-align:center;background:#f8fafc;flex:1 1 0;justify-content:center;align-items:center;min-width:120px;height:36px;padding:0 4px;font-size:11px;font-weight:700;display:flex}.week-day-header.today{color:var(--accent);background:#e8f0fd}.week-day-body{position:relative}.week-hour-line{border-top:1px solid var(--line);pointer-events:none;position:absolute;left:0;right:0}.week-now-line{z-index:3;pointer-events:none;background:#e0334a;height:2px;position:absolute;left:0;right:0}.week-now-line:before{content:"";background:#e0334a;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.week-lesson{box-sizing:border-box;cursor:pointer;border-left:3px solid var(--accent);z-index:1;background:#eef5fc;border-radius:4px;padding:3px 5px;font-size:11px;line-height:1.3;transition:filter .1s;position:absolute;overflow:hidden}.week-lesson:hover{filter:brightness(.95);z-index:2}.week-lesson.group{border-left-color:var(--accent-2);background:#ecfbf7}.week-lesson.completed{opacity:.7}.week-lesson.cancelled{opacity:.45;text-decoration:line-through}.week-lesson strong,.week-lesson span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.week-lesson span{color:var(--muted)}.roster-row{border-bottom:1px solid var(--line);padding:12px 20px}.roster-row:last-child{border-bottom:none}.roster-row-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.roster-row-head strong{flex:1}.roster-chips{flex-wrap:wrap;gap:5px;display:flex}.roster-chip{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:2px 9px;font-size:11px}.history-grid{gap:14px;display:grid}.lead-hero{color:#fff;border-radius:12px 12px 0 0;padding:28px 24px 22px;position:relative}.lead-hero.ls-new{background:linear-gradient(140deg,#4a1d96 0%,#7c3aed 100%)}.lead-hero.ls-student{background:linear-gradient(140deg,#0c5741 0%,#1b9b7e 100%)}.lead-hero.ls-rejected{background:linear-gradient(140deg,#3a4760 0%,#5a6a82 100%)}.lead-hero.ls-one_time{background:linear-gradient(140deg,#78350f 0%,#d97706 100%)}.lead-hero.ls-was_student{background:linear-gradient(140deg,#1a4c8a 0%,#2a6dd4 100%)}.lead-hero.ls-certificate{background:linear-gradient(140deg,#0c5757 0%,#0d9488 100%)}.lead-status-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:14px 20px;display:flex}.lead-tab{border:1.5px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:5px;padding:4px 13px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.lead-tab.active,.lead-tab:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.lead-tab-count{background:var(--line);color:var(--muted);border-radius:10px;padding:0 6px;font-size:10px;font-weight:700}.lead-tab.active .lead-tab-count{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.lead-status-chip{border-radius:12px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.lead-status-chip.ls-new{color:#5b21b6;background:#ede9fe}.lead-status-chip.ls-student{color:#065f46;background:#d1fae5}.lead-status-chip.ls-rejected{color:#475569;background:#f1f5f9}.lead-status-chip.ls-one_time{color:#92400e;background:#fef3c7}.lead-status-chip.ls-was_student{color:#1e40af;background:#dbeafe}.lead-status-chip.ls-certificate{color:#0f766e;background:#ccfbf1}.lm-error{color:#991b1b;background:#fee2e2;padding:10px 20px;font-size:13px}.lesson-hero-edit-btn{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff59;border-radius:8px;min-height:0;padding:3px 11px;font-size:12px;position:absolute;top:14px;right:52px}.lesson-hero-edit-btn:hover{background:#ffffff47}.lesson-edit-mode-bar{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;justify-content:space-between;align-items:center;padding:10px 20px;font-size:13px;font-weight:600;display:flex}.lesson-edit-mode-bar button{min-height:0;padding:3px 12px;font-size:12px}.edit-form-actions{border-top:1px solid var(--line);background:var(--panel);justify-content:flex-end;padding:14px 20px;display:flex}.btn-delete-link{color:#dc2626;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;min-height:0;padding:0;font-size:13px;text-decoration:underline}.scope-inline{align-items:center;gap:10px;font-size:13px;display:flex}.scope-inline button,button.danger.sm{min-height:0;padding:3px 12px;font-size:12px}.success{color:#fff;background:#059669;border:1.5px solid #047857}.success:hover{background:#047857}.page-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;min-height:0;margin-bottom:-2px;padding:8px 18px;font-size:13px;font-weight:600;transition:color .15s}.week-nav{align-items:center;gap:8px;display:flex}.rent-view-toggle{background:var(--bg);border:1px solid var(--line);border-radius:8px;gap:2px;padding:2px;display:flex}.rent-view-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:0;padding:4px 12px;font-size:12px;font-weight:600;transition:all .12s}.rent-view-btn.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00000014}.rent-forecast{border-top:1px solid var(--line)}.rent-day{border-bottom:1px solid var(--line)}.rent-day:last-child{border-bottom:none}.rent-day-head{background:color-mix(in srgb, var(--bg) 60%, var(--panel));justify-content:space-between;align-items:center;padding:8px 20px 6px;display:flex}.rent-day-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:700}.rent-day-total{color:var(--text);font-size:13px;font-weight:700}.rent-lesson-row{border-top:1px solid var(--line);grid-template-columns:48px 1fr auto auto auto;align-items:center;gap:10px;padding:7px 20px;font-size:13px;display:grid}.rent-lesson-time{color:var(--muted);font-size:12px;font-weight:600}.rent-lesson-title{font-weight:500}.rent-lesson-room,.rent-lesson-dur{font-size:12px}.rent-lesson-amount{text-align:right;min-width:70px;font-weight:700}.rent-lesson-block{border-top:1px solid var(--line)}.rent-lesson-block .rent-lesson-row{border-top:none;padding-bottom:3px}.rent-lesson-participants{flex-wrap:wrap;align-items:center;gap:10px;padding:0 20px 7px 78px;display:flex}.rlp-teacher{color:var(--accent);font-size:11px;font-weight:700}.rlp-students{color:var(--muted);font-size:11px}.rent-week-total{border-top:2px solid var(--line);justify-content:space-between;align-items:center;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.rent-week-total strong{color:var(--accent);font-size:18px}.recurring-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.recurring-row.recurring-inactive{opacity:.45}.recurring-row.recurring-overdue{background:#ef44440a;border-left:3px solid #ef4444}.recurring-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.recurring-name{font-size:14px;font-weight:600}.recurring-freq{background:var(--bg);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:12px;padding:2px 9px;font-size:11px;font-weight:700}.recurring-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.recurring-amount{font-size:15px;font-weight:700}.pay-block{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;overflow:hidden}.pay-block-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 20px;display:flex}.pay-block-head.outgoing{background:linear-gradient(90deg,#dc26260f 0%,#0000 60%);border-left:3px solid #dc2626}.pay-block-head.incoming{background:linear-gradient(90deg,#0596690f 0%,#0000 60%);border-left:3px solid #059669}.pay-block-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-size:12px;font-weight:800}.pay-sub{border-top:1px solid var(--line)}.pay-sub:first-child{border-top:none}.pay-sub-head{background:color-mix(in srgb, var(--bg) 60%, var(--panel));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.pay-sub-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:700}.pay-sub-table-head{padding:8px 20px 0}.pay-sub-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.pay-teacher-grid{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;display:grid}.pay-teacher-card{background:var(--panel);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.pay-teacher-card.pay-teacher-total{background:color-mix(in srgb, var(--accent) 4%, var(--panel))}.pay-teacher-name{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:700}.pay-teacher-stats{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.pay-teacher-stats .detail-label{margin-right:4px}.pay-teacher-pending{align-items:baseline;gap:6px;margin-top:4px;display:flex}.pager{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:10px;padding:10px 20px;display:flex}.pager-btn{border-radius:6px;min-height:0;padding:4px 12px;font-size:13px}.pager-btn:disabled{opacity:.35;cursor:default}.pager-info{color:var(--muted);text-align:center;min-width:48px;font-size:12px;font-weight:600}.pay-pending-positive{color:#059669;font-size:16px;font-weight:700}.teacher-hero{color:#fff;border-radius:12px 12px 0 0;padding:28px 24px 22px;position:relative}.teacher-hero.ts-active{background:linear-gradient(140deg,#1a3a5c 0%,#2563a8 100%)}.teacher-hero.ts-inactive{background:linear-gradient(140deg,#3a4760 0%,#5a6a82 100%)}.student-hero{color:#fff;border-radius:12px 12px 0 0;padding:28px 24px 22px;position:relative}.student-hero.ss-active{background:linear-gradient(140deg,#0c4f8a 0%,#1a73d4 100%)}.student-hero.ss-paused{background:linear-gradient(140deg,#78350f 0%,#d97706 100%)}.student-hero.ss-inactive{background:linear-gradient(140deg,#3a4760 0%,#5a6a82 100%)}.student-balance-cards{background:var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.lh-badge-link{cursor:pointer;text-decoration:none}.lh-badge-link:hover{background:#ffffff6b}.section-add-btn{color:var(--accent);border:1.5px solid var(--accent);cursor:pointer;background:0 0;border-radius:20px;min-height:0;padding:2px 12px;font-size:11px;font-weight:700}.section-add-btn:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.forecast-incoming-badge{color:#16a34a;cursor:default;background:#16a34a1a;border:1px solid #16a34a4d;border-radius:10px;align-items:center;margin:2px 0 0;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}button.forecast-incoming-badge{cursor:pointer;transition:background .15s}button.forecast-incoming-badge:hover{background:#16a34a33}.forecast-incoming-badge.covered{color:var(--muted);border-color:color-mix(in srgb, var(--muted) 25%, transparent);background:0 0;font-weight:400}.forecast-table-row td{vertical-align:middle}.lesson-chip{position:relative}.lesson-payment-due-badge{color:#fff;pointer-events:none;letter-spacing:0;background:#16a34a;border-radius:4px;padding:2px 4px;font-size:10px;font-weight:700;line-height:1;position:absolute;top:4px;right:5px}.lesson-type-badge{pointer-events:none;opacity:.55;align-items:center;line-height:1;display:flex;position:absolute;bottom:4px;right:5px}.lesson-door-badge{pointer-events:none;opacity:.7;font-size:10px;line-height:1;position:absolute;bottom:4px;right:18px}.lesson-type-icon{display:block}@media (width<=980px){.app{grid-template-columns:1fr}.sidebar{grid-template-rows:auto auto auto;position:static}.session{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-2,.grid.cols-3,.form-grid,.lesson-form-grid.details,.lesson-form-grid.teacher,.lesson-form-grid.create-main,.lesson-report-row{grid-template-columns:1fr}.lesson-form-grid.create-main{padding-right:0}.selected-students-head{display:none}.selected-student-row{grid-template-columns:32px 1fr}.selected-student-row>small,.package-cell,.row-tools{grid-column:2}.form-grid .wide{grid-column:auto}}.stu-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.stu-search{border:1.5px solid var(--line);background:var(--card);min-width:min(220px,100%);max-width:340px;color:var(--text);border-radius:8px;flex:1;padding:7px 12px;font-size:13px;transition:border-color .15s}.stu-search:focus{border-color:var(--accent);outline:none}.stu-table-wrap{border:1.5px solid var(--line);border-radius:10px;overflow-x:auto}.stu-table{border-collapse:collapse;width:100%;font-size:13px}.stu-table thead th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--sidebar-bg);border-bottom:1.5px solid var(--line);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:700}.stu-row{border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s}.stu-row:last-child{border-bottom:none}.stu-row:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.stu-row td{vertical-align:middle;padding:9px 12px}.stu-name-cell{font-weight:600}.stu-num{text-align:right;font-variant-numeric:tabular-nums}.stu-date{white-space:nowrap;color:var(--muted);font-size:12px}.stu-empty-cell{text-align:center;color:var(--muted);padding:32px 12px!important}.stu-notes-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--muted);font-size:12px;overflow:hidden}.stu-row.stu-debt{background:linear-gradient(90deg,#0000 70%,#ef444438 100%);border-left:3px solid #ef4444}.stu-row.stu-debt:hover{background:linear-gradient(90deg,#0000 60%,#ef444452 100%)}.stu-row.stu-warn{background:linear-gradient(90deg,#0000 70%,#3b82f633 100%);border-left:3px solid #3b82f6}.stu-row.stu-warn:hover{background:linear-gradient(90deg,#0000 60%,#3b82f64d 100%)}.stu-row.stu-nopkg{background:linear-gradient(90deg,#0000 70%,#f9731638 100%);border-left:3px solid #f97316}.stu-row.stu-nopkg:hover{background:linear-gradient(90deg,#0000 60%,#f9731652 100%)}.stu-legend{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.stu-legend-item{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;border-radius:5px;align-items:center;gap:6px;padding:3px 8px 3px 10px;font-size:11px;transition:opacity .15s,box-shadow .15s;display:flex}.stu-legend-item:hover{opacity:.8}.stu-legend-item.active{color:var(--text);box-shadow:0 0 0 2px}.stu-legend-item:before{content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px}.stu-legend-debt{background:#ef444417;border-left-color:#ef4444}.stu-legend-debt:before{background:#ef4444}.stu-legend-warn{background:#3b82f617;border-left-color:#3b82f6}.stu-legend-warn:before{background:#3b82f6}.stu-legend-nopkg{background:#f9731617;border-left-color:#f97316}.stu-legend-nopkg:before{background:#f97316}.enum-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:4px 0 24px;display:grid}.enum-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.enum-card-head{justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 16px 10px;display:flex}.enum-card-title{font-size:14px;font-weight:600}.enum-card-hint{color:var(--muted);margin-top:2px;font-size:11px}.enum-add-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:12px}.enum-add-btn:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.enum-list{border-top:1px solid var(--line)}.enum-item{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:7px 16px;font-size:13px;display:flex}.enum-item:last-child{border-bottom:none}.enum-item.system{opacity:.75}.enum-item-label{flex:1;font-weight:500}.enum-item-value{color:var(--muted);font-family:monospace;font-size:11px}.enum-item-lock{margin-left:4px;font-size:12px}.enum-item-del{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:0;font-size:16px;line-height:1;display:flex}.enum-item-del:hover{color:#ef4444;background:#ef44441f}.enum-empty{color:var(--muted);padding:12px 16px;font-size:13px}.enum-add-form{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.enum-add-form input{box-sizing:border-box;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px}.enum-add-error{color:#ef4444;font-size:12px}.enum-add-actions{gap:8px;display:flex}.enum-add-actions button{flex:1;font-size:13px}.expense-flag-label{color:var(--muted);cursor:pointer;flex-direction:row;align-items:center;gap:7px;font-size:12px;font-weight:400;display:flex}.expense-flag-label input[type=checkbox]{cursor:pointer;width:15px;min-height:0;padding:0}.report-outcome-pills{gap:10px;padding:16px 16px 0;display:flex}.report-outcome-pill{border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.report-outcome-pill.success{color:#15803d;background:0 0;border:2px solid #86efac}.report-outcome-pill.success:hover,.report-outcome-pill.success.active{background:#dcfce7;border-color:#4ade80}.report-outcome-pill.danger{color:var(--danger);background:0 0;border:2px solid #fca5a5}.report-outcome-pill.danger:hover,.report-outcome-pill.danger.active{background:#fff1f2;border-color:#f87171}.fm-badge{opacity:.7;cursor:default;font-size:11px}.paginator{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;padding:10px 0 4px;font-size:13px;display:flex}.paginator button{border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--text);background:0 0;border-radius:6px;font-size:16px;line-height:1;transition:background .15s}.paginator button:hover:not(:disabled){background:var(--hover)}.paginator button:disabled{opacity:.35;cursor:default}.section-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:5px;margin-left:auto;margin-right:4px;font-size:12px;font-weight:400;display:flex}.section-toggle input[type=checkbox]{accent-color:var(--primary);width:13px;height:13px}.fin-toolbar{flex-wrap:wrap;align-items:center;gap:16px;padding:0 0 20px;display:flex}.fin-period-toggle{background:var(--surface2);border-radius:8px;gap:2px;padding:3px;display:flex}.fin-ptab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:0;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.fin-ptab.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #0000001f}.fin-ptab:hover:not(.active){color:var(--text)}.fin-month-nav{align-items:center;gap:10px;display:flex}.fin-month-label{text-align:center;min-width:160px;color:var(--text);font-size:15px;font-weight:600}.fin-date-range{align-items:center;gap:8px;display:flex}.fin-date-range input[type=date]{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:7px;padding:5px 10px;font-size:13px}.fin-hero-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;display:grid}@media (width<=700px){.fin-hero-row{grid-template-columns:1fr}}.fin-hero-card{border-radius:14px;flex-direction:column;gap:4px;padding:22px 24px 18px;display:flex;position:relative;overflow:hidden}.fin-hero-card:before{content:"";opacity:.07;border-radius:inherit;position:absolute;inset:0}.fin-hero-in{background:linear-gradient(135deg,#064e3b 0%,#065f46 100%)}.fin-hero-out{background:linear-gradient(135deg,#450a0a 0%,#7f1d1d 100%)}.fin-hero-result{background:linear-gradient(135deg,#1e3a5f 0%,#1d4ed8 100%)}.fin-hero-result.positive{background:linear-gradient(135deg,#064e3b 0%,#047857 100%)}.fin-hero-result.negative{background:linear-gradient(135deg,#450a0a 0%,#dc2626 100%)}.fin-hero-label{text-transform:uppercase;letter-spacing:.07em;color:#ffffffa6;font-size:11px;font-weight:700}.fin-hero-value{color:#fff;font-size:28px;font-weight:700;line-height:1.1}.fin-hero-sub{color:#ffffff80;margin-top:2px;font-size:12px}.fin-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:18px 20px 20px}.fin-section-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px;font-size:11px;font-weight:700}.fin-cards-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=900px){.fin-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.fin-cards-grid{grid-template-columns:1fr}}.fin-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.fin-card.fin-card-dim{opacity:.65}.fin-card.fin-card-link{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.fin-card.fin-card-link:hover{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent);transform:translateY(-1px)}.fin-card-label{color:var(--text-muted);font-size:11px;font-weight:600;line-height:1.3}.fin-card-value{color:var(--text);margin-top:2px;font-size:20px;font-weight:700}.fin-val-expense{color:var(--danger)}.fin-card-note{color:var(--text-muted);margin-top:2px;font-size:11px;line-height:1.3}.fin-bottom-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.fin-section-half{margin-bottom:0}@media (width<=600px){.fin-bottom-row{grid-template-columns:1fr}}.fin-obl-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fin-obl-item{flex-direction:column;gap:3px;display:flex}.fin-obl-label{color:var(--text-muted);font-size:11px;font-weight:500}.fin-obl-val{color:var(--text);font-size:18px;font-weight:700}.fin-obl-val.fin-warn{color:var(--warn)}.fin-obl-val.fin-obl-ok{color:var(--success)}.page-tabs{border-bottom:2px solid var(--border);gap:4px;margin-bottom:16px;padding-bottom:0;display:flex}.page-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-2px;padding:8px 18px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.page-tab:hover{color:var(--text)}.page-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.fc-timeline-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:14px 16px}.fc-timeline-bar{background:var(--border);border-radius:4px;height:8px;margin-bottom:8px;position:relative;overflow:visible}.fc-timeline-fill{background:var(--primary);border-radius:4px;transition:width .3s;position:absolute;inset:0 auto 0 0}.fc-timeline-today{background:var(--primary);border:3px solid var(--bg);width:16px;height:16px;box-shadow:0 0 0 2px var(--primary);border-radius:50%;position:absolute;top:-4px;transform:translate(-50%)}.fc-timeline-labels{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.fc-today-tag{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.fc-note{color:var(--text-muted);margin-top:8px;font-size:12px}.fc-note.muted{font-style:italic}.fc-note strong{color:var(--text)}.fc-cols{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px;display:grid}@media (width<=700px){.fc-cols{grid-template-columns:1fr}}.fc-col{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.fc-col.fc-col-total{background:color-mix(in srgb, var(--primary) 4%, var(--surface));border-color:color-mix(in srgb, var(--primary) 25%, var(--border))}.fc-col-badge{letter-spacing:.04em;border-radius:8px;width:fit-content;margin-bottom:2px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.fc-badge-actual{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.fc-badge-proj{background:color-mix(in srgb, var(--warn) 15%, transparent);color:#b07d10}.fc-badge-total{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary)}.fc-col-period{color:var(--text-muted);margin-bottom:4px;font-size:11px}.fc-metric{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.fc-metric.fc-metric-sep{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.fc-metric-lbl{color:var(--text-muted);flex-shrink:0;font-size:12px}.fc-metric-val{color:var(--text);white-space:nowrap;font-size:15px;font-weight:600}.fc-metric.fc-metric-secondary .fc-metric-lbl{font-size:11px}.fc-metric.fc-metric-secondary .fc-metric-val{font-size:13px;font-weight:500}.fc-metric-result{font-size:17px!important;font-weight:700!important}.fc-metric-big{font-size:22px!important;font-weight:800!important}.fc-in{color:var(--success)}.fc-out{color:var(--danger)}.fc-pos{color:var(--success)}.fc-neg{color:var(--danger)}.fc-gen-dim{color:var(--text-muted);font-style:italic}.fc-gen-badge{letter-spacing:.03em;background:color-mix(in srgb, var(--warn) 15%, transparent);color:#9a6c00;vertical-align:middle;border-radius:6px;margin-left:5px;padding:1px 5px;font-size:10px;font-style:normal;font-weight:600;display:inline-block}.ls-spoiler{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;overflow:hidden}.ls-spoiler-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 18px;transition:background .12s;display:flex}.ls-spoiler-head:hover{background:var(--panel-2)}.ls-spoiler-title{color:var(--text);flex:1;font-size:14px;font-weight:700}.ls-spoiler-count{background:var(--panel-2);color:var(--muted);border-radius:20px;padding:1px 9px;font-size:12px;font-weight:600}.ls-spoiler-arrow{color:var(--muted);font-size:10px}.ls-spoiler-body{border-top:1px solid var(--line)}.ls-pagination{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:12px;padding:10px 16px;display:flex}.ls-pagination button{min-height:30px;padding:4px 14px;font-size:16px;font-weight:700;line-height:1}.ls-pagination span{color:var(--muted);text-align:center;min-width:60px;font-size:13px}.lesson-summary-line{gap:0;padding:2px 0;display:flex}.summary-line-item{border-right:1px solid var(--line);flex-direction:column;flex:1;gap:3px;padding:12px 20px;display:flex}.summary-line-item:last-child{border-right:none}.summary-line-val{color:var(--text);font-size:18px;font-weight:700}.db-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}@media (width<=860px){.db-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.db-stats{grid-template-columns:1fr}}.db-stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:16px 18px 14px;display:flex}.db-stat-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:700}.db-stat-value{color:var(--text);font-size:26px;font-weight:800;line-height:1.15}.db-stat-value.ok{color:var(--success)}.db-stat-value.warn{color:var(--warn)}.db-stat-value.neg{color:var(--danger)}.db-stat-sub{color:var(--muted);margin-top:1px;font-size:11px}.db-main{grid-template-columns:1fr 1.1fr;align-items:start;gap:14px;margin-bottom:14px;display:grid}@media (width<=820px){.db-main{grid-template-columns:1fr}}.db-side{flex-direction:column;gap:12px;display:flex}.db-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.db-card-head{border-bottom:1px solid var(--line);background:#f9fafc;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.db-card-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.db-card-badge{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.db-card-badge.danger{color:var(--danger);background:#fdecea}.db-card-badge.warn{color:var(--warn);background:#fef3e2}.db-card-badge.ok{color:var(--success);background:#e6f5f0}.db-card-badge.neutral{background:var(--panel-2);color:var(--muted)}.db-empty{color:var(--muted);text-align:center;padding:22px 16px;font-size:13px}.db-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:11px;padding:10px 16px;transition:background .12s;display:flex}.db-item:last-child{border-bottom:none}.db-item:hover{background:var(--panel-2)}.db-item-main{flex:1;min-width:0}.db-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.db-item-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.db-item-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.db-tag{letter-spacing:.02em;white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:700}.db-tag.danger{color:var(--danger);background:#fdecea}.db-tag.warn{color:var(--warn);background:#fef3e2}.db-tag.ok{color:var(--success);background:#e6f5f0}.db-tag.muted{background:var(--panel-2);color:var(--muted)}.db-day-header{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb, var(--accent) 5%, var(--bg));border-bottom:1px solid var(--line);padding:6px 16px 5px;font-size:10px;font-weight:800}.db-lesson{border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:11px;padding:10px 16px;transition:background .12s;display:flex}.db-lesson:last-child{border-bottom:none}.db-lesson:hover{background:var(--panel-2)}.db-lesson-time{color:var(--accent);min-width:42px;padding-top:1px;font-size:15px;font-weight:800;line-height:1.2}.db-lesson-dur{color:var(--muted);font-size:10px;font-weight:500}.db-lesson-body{flex:1;min-width:0}.db-lesson-who{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.db-lesson-where{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.db-tcolor{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:5px}.db-debt-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 16px;display:flex}.db-debt-item:last-child{border-bottom:none}.db-debt-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.db-debt-name{color:var(--text);min-width:130px;font-size:13px;font-weight:600}.db-debt-track{background:var(--line);border-radius:3px;flex:1;height:5px;overflow:hidden}.db-debt-fill{opacity:.75;border-radius:3px;min-width:5px;height:100%}.db-debt-amt{color:var(--text);text-align:right;min-width:75px;font-size:14px;font-weight:700}.reminder-badge{color:#92400e;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f59e0b26;border-radius:10px;align-items:center;gap:2px;padding:2px 6px;font-size:11px;display:inline-flex}.reminder-badge:hover{background:#f59e0b47}.reminder-add-btn{cursor:pointer;opacity:.4;background:0 0;border:none;min-height:0;padding:0 4px;font-size:14px;transition:opacity .15s}.reminder-add-btn:hover{opacity:1}.cal-reminder-dot{vertical-align:middle;cursor:default;background:#f59e0b;border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.week-reminder-row{justify-content:center;gap:3px;margin-top:3px;display:flex}.week-reminder-badge{cursor:default;filter:grayscale(.3);font-size:11px;line-height:1}.db-reminders-card{border-left:3px solid #f59e0b}.db-reminder-color{border-radius:50%;flex-shrink:0;width:10px;height:10px}.reminder-form{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;margin:4px 0;padding:10px 12px;display:flex}.reminder-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reminder-form-field{flex-direction:column;gap:2px;min-width:0;display:flex}.reminder-form-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.reminder-form-input{box-sizing:border-box;width:100%;min-height:32px;font-size:13px}.reminder-color-picker{align-self:center;align-items:center;gap:4px;display:flex}.reminder-color-dot{cursor:pointer;box-sizing:border-box;border:2px solid #0000;border-radius:50%;flex-shrink:0;align-self:center;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;font-size:0;line-height:1;transition:transform .1s;display:block}.reminder-color-dot:hover{transform:scale(1.2)}.reminder-color-dot.active{border-color:var(--fg);transform:scale(1.2)}.reminder-form-actions{gap:6px;display:flex}.reminder-form-actions button{min-height:30px;padding:0 14px;font-size:13px}.loading-state,.empty-state{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:28px 16px;display:flex}.loading-indicator{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.error-state{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.search-select-option.keyboard-active{background:var(--panel-2);outline:2px solid var(--accent);outline-offset:-2px}.mobile-nav-toggle{display:none}.product-policy-help{grid-column:1/-1;font-size:13px;line-height:1.55}.product-policy-check{align-self:center;align-items:center;gap:8px;display:flex}.product-form-notes{grid-column:1/-1}.product-form-actions{grid-column:1/-1;justify-content:flex-end;display:flex}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--accent);padding:0}@media (width<=980px){.app{grid-template-rows:auto minmax(0,1fr)}.sidebar{z-index:20;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto auto;align-content:start;align-items:center;gap:8px;min-height:64px;padding:10px 12px;position:sticky;top:0}.brand{grid-area:1/1}.brand strong{font-size:15px}.brand span{display:none}.mobile-nav-toggle{grid-area:1/2;align-self:center;display:block}.mobile-nav-toggle,.sidebar .session button{color:#fff;background:#263548;border-color:#405169;min-height:44px;padding:8px 10px}.sidebar .nav{background:#17202c;max-height:calc(100dvh - 64px);padding:12px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #0003}.sidebar .nav.nav-open{display:grid}.sidebar .nav button{min-height:48px}.sidebar .session{flex-wrap:nowrap;grid-area:1/3;display:flex}.sidebar .session span{display:none}.topbar{gap:10px;height:54px;padding:0 16px;top:64px}.topbar h1{min-width:0;font-size:20px}.topbar>span{font-size:10px}}@media (width<=640px){.pay-block-head,.pay-sub-head{flex-wrap:wrap;gap:12px;padding:12px}.recurring-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 12px;display:grid}.recurring-main{flex-wrap:wrap;gap:8px}.recurring-name{overflow-wrap:anywhere;flex:100%}.recurring-right{flex-wrap:wrap;justify-content:flex-start;gap:10px;min-width:0}.recurring-right>button{min-height:44px!important}.recurring-amount{margin-right:auto}.modal .lesson-hero-edit-btn{width:fit-content;min-height:44px;margin:0 36px 16px auto;display:block;position:static}.modal .lesson-hero-top{flex-wrap:wrap;padding-right:36px}.modal .lesson-hero-title{overflow-wrap:anywhere;padding-right:0}.student-balance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.student-balance-cards .summary-card{min-width:0}.student-balance-cards .summary-card:last-child:nth-child(odd){grid-column:1/-1}.student-balance-cards .summary-value{overflow-wrap:anywhere}.lesson-summary-cards{grid-template-columns:minmax(0,1fr)}.content{padding:16px 12px 28px}.topbar{padding:0 16px}.topbar h1{font-size:20px}.lesson-edit-grid,.modal .form-grid,.product-policy-grid{grid-template-columns:minmax(0,1fr)}.modal .form-grid>button{justify-self:stretch;width:100%}.modal .form-grid .wide{grid-column:1/-1}.form-footer{justify-content:stretch}.form-footer>button{flex:140px}.lesson-footer-main,.lesson-footer-danger{width:100%}.lesson-footer-main>button{flex:140px}.lesson-footer-danger{justify-content:flex-end;margin-left:0}.leg-cell{min-width:0;padding:12px 16px}.lesson-section-body{padding:0 12px 14px}.lesson-hero-meta{flex-wrap:wrap;gap:8px}.modal-head h2{overflow-wrap:anywhere;min-width:0}.modal-head>button{flex-shrink:0}.panel-head{padding:12px}.panel-head .actions>button{flex:auto}.stu-toolbar{align-items:stretch}.page-tabs{flex-wrap:wrap}.stu-legend-item{white-space:normal;max-width:100%}.stu-search{flex-basis:100%;max-width:none}.student-list-table th:nth-child(3),.student-list-table td:nth-child(3),.student-list-table th:nth-child(n+5),.student-list-table td:nth-child(n+5){display:none}.student-list-table{table-layout:fixed}.student-list-table th:first-child{width:42%}.student-list-table th:nth-child(2){width:38%}.student-list-table th:nth-child(4){width:20%}.student-list-table td{overflow-wrap:anywhere}.toolbar{flex-wrap:wrap}.calendar-controls{flex-wrap:wrap;min-width:0;max-width:100%}.toolbar label{flex:160px;min-width:0}.panel-head{flex-wrap:wrap}.panel-head .actions{width:100%}.modal{border-radius:10px}.modal-body{padding:16px 12px}.modal-head{padding:12px}button.primary,button.success,button.danger{min-height:44px}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.content>*,.panel,.panel-body,.fin-section,.fc-col,.enum-card,.pay-block,.pay-sub-block{min-width:0;max-width:100%}.panel-head>h2,.pay-block-head>h2,.pay-sub-head>h3{overflow-wrap:anywhere;min-width:0}.enum-grid{grid-template-columns:minmax(0,1fr)}.enum-card-head{flex-wrap:wrap;gap:8px;padding:12px}.enum-card-head>div{flex:150px;min-width:0}.enum-card-hint,.enum-item-value{overflow-wrap:anywhere}.enum-item{flex-wrap:wrap;gap:8px;padding:12px}.enum-item-label{overflow-wrap:anywhere;flex:120px;min-width:0}.enum-add-btn,.enum-item-del{min-height:44px}.enum-item-del{min-width:36px}.lead-status-tabs{flex-wrap:wrap;gap:6px}.lead-tab{min-height:44px;padding:8px 10px}.page-tab{min-height:44px}.reminder-form-row{flex-wrap:wrap}.reminder-form-row>input{flex:100%!important;min-width:0!important}.reminder-form-actions{flex-wrap:wrap}.reminder-form-actions>button{min-height:44px}.rent-view-toggle{flex-wrap:wrap;max-width:100%}.rent-view-btn{min-height:44px}.rent-day-head,.rent-week-total{flex-wrap:wrap;gap:8px;padding:12px}.rent-lesson-row{grid-template-columns:48px minmax(0,1fr) auto;gap:6px 10px;padding:12px}.rent-lesson-row>*{min-width:0}.rent-lesson-time{grid-area:1/1}.rent-lesson-title{overflow-wrap:anywhere;grid-area:1/2}.rent-lesson-amount{white-space:nowrap;grid-area:1/3;min-width:0}.rent-lesson-room{overflow-wrap:anywhere;grid-area:2/2}.rent-lesson-dur{text-align:right;grid-area:2/3}.rent-lesson-participants{gap:5px 10px;padding:0 12px 12px 70px}.rlp-teacher,.rlp-students{overflow-wrap:anywhere;min-width:0}.fin-toolbar{gap:12px}.fin-period-toggle{flex-wrap:wrap}.fin-ptab{min-height:44px}.fin-month-nav{justify-content:space-between;gap:8px;width:100%;min-width:0}.fin-month-label{overflow-wrap:anywhere;flex:1;min-width:0}.fin-date-range{flex-wrap:wrap;width:100%;min-width:0}.fin-date-range input[type=date]{flex:120px;width:100%;min-width:0}.fin-obl-grid{grid-template-columns:minmax(0,1fr)}.fin-hero-value,.fin-card-value{overflow-wrap:anywhere}.fc-metric{flex-wrap:wrap}.fc-metric-lbl{overflow-wrap:anywhere;flex-shrink:1;min-width:0}.fc-metric-val{max-width:100%;margin-left:auto}.db-debt-item{flex-wrap:wrap;gap:8px;padding:12px}.db-debt-name{overflow-wrap:anywhere;flex:120px;min-width:0}.db-debt-track{flex:100%;order:1}.paginator{flex-wrap:wrap}.paginator button{width:44px;height:44px}}.mobile-agenda{display:none}@media (width<=640px){.mobile-agenda{gap:16px;padding:12px;display:grid}.mobile-agenda~.week-container,.mobile-agenda~.panel-body{display:none}.agenda-day{min-width:0}.agenda-day-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.agenda-day-head h3{text-transform:capitalize;margin:0;font-size:14px}.agenda-day.today .agenda-day-head h3{color:var(--accent)}.agenda-day-head button{flex-shrink:0;width:44px;min-height:44px}.agenda-lesson{text-align:left;background:var(--panel);border-left:4px solid;border-radius:10px;gap:6px;width:100%;min-width:0;margin-bottom:8px;padding:12px;display:grid}.agenda-lesson>*{overflow-wrap:anywhere;white-space:normal}.agenda-lesson .badge{justify-self:start}.agenda-time{color:var(--accent);font-weight:700}.agenda-lesson>span{font-size:12px}.agenda-empty,.agenda-reminder{color:var(--muted);margin:6px 0;font-size:12px}.calendar-controls{width:100%}.calendar-controls>.primary:last-child{flex:100%}}.teacher-balance-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;display:grid}@media (width<=640px){.teacher-balance-cards,.product-detail-fields{grid-template-columns:minmax(0,1fr)}.agenda-day-empty:not(.today) .agenda-empty{display:none}.agenda-day-empty:not(.today) .agenda-day-head{margin-bottom:0}.agenda-day-empty:not(.today) .agenda-day-head h3{color:var(--muted);font-size:12px}.agenda-lesson .status{justify-self:start}}.gcal-help-button{width:44px;height:44px;color:var(--accent);border-radius:50%;font-weight:700}.gcal-account-email{overflow-wrap:anywhere;font-weight:600}.gcal-key-picker{gap:10px;margin:16px 0;display:grid}.gcal-key-picker input{min-width:0;max-width:100%}.gcal-key-confirm{margin-top:16px}.gcal-key-confirm strong{overflow-wrap:anywhere}.gcal-connection-help{gap:12px;line-height:1.6;display:grid}.gcal-connection-help h3,.gcal-connection-help p{margin:0}.gcal-connection-help ol{margin:0;padding-left:22px}.gcal-connection-help li+li{margin-top:8px}.gcal-settings-toolbar{justify-content:flex-end;margin-bottom:-8px;display:flex}.gcal-settings-toolbar button{width:44px;min-height:44px;font-size:20px}.tg-overview,.tg-section-stack{gap:20px;min-width:0;display:grid}.tg-status-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;display:grid}.tg-status-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);align-content:start;gap:8px;min-width:0;padding:16px;display:grid}.tg-status-title{color:var(--muted);font-size:12px;font-weight:600}.tg-status-value{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:20px;font-weight:700}.tg-status-card p{color:var(--muted);margin:0;font-size:13px}.tg-connection-banner{border-radius:var(--radius-panel);color:var(--text);background:#eef5fc;border:1px solid #bfd4ea;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.tg-connection-banner>div{flex:240px;min-width:0}.tg-connection-banner p{color:var(--muted);margin:4px 0 0;line-height:1.55}.tg-connection-banner.warn{background:#fff8eb;border-color:#eed5a5}.tg-connection-banner.error{background:#fff4f2;border-color:#efb4ae}.tg-settings-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.tg-settings-toolbar>button{min-width:44px;min-height:44px}.tg-recipient-list,.tg-history-list{gap:12px;min-width:0;display:grid}.tg-recipient-card{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:16px;display:flex}.tg-recipient-main{flex:240px;gap:6px;min-width:0;display:grid}.tg-recipient-main strong{overflow-wrap:anywhere;font-size:14px}.tg-recipient-main p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.tg-recipient-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.tg-recipient-status{background:var(--panel-2);width:fit-content;max-width:100%;color:var(--muted);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.tg-recipient-status.connected,.tg-recipient-status.success{color:var(--success);background:#e6f5f0}.tg-recipient-status.pending,.tg-recipient-status.warn{color:var(--warn);background:#fff3dd}.tg-recipient-status.failed,.tg-recipient-status.error{color:var(--danger);background:#fdecea}.tg-history-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:0;padding:16px}.tg-history-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;font-size:12px;display:flex}.tg-history-meta>*{overflow-wrap:anywhere;min-width:0}.tg-history-meta strong{color:var(--text);font-size:13px}.tg-history-message{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text);margin:0;line-height:1.6}.tg-template-preview{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-2);min-width:0;padding:16px}.tg-template-preview h3{margin:0 0 12px;font-size:14px}.tg-template-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.6}.tg-workspace-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.tg-workspace-intro h2{margin:0 0 4px;font-size:22px}.tg-workspace-intro p{color:var(--muted);margin:0}.tg-workspace-nav{background:var(--panel-2);border-radius:var(--radius-panel);gap:6px;padding:6px}.tg-workspace-nav .page-tab{border-radius:var(--radius-control)}.tg-settings-group{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);min-width:0;padding:16px}.tg-settings-group>summary{cursor:pointer;color:var(--text);padding:4px 0;font-size:14px;font-weight:600}.tg-settings-group[open]>summary{margin-bottom:16px}.tg-settings-group>summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}.tg-summary-recipient{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.tg-summary-recipient>*{min-width:0}.tg-add-recipient{justify-self:start}.tg-summary-sections{flex-wrap:wrap;gap:12px 20px;display:flex}.tg-summary-sections>label{color:var(--text);align-items:center;gap:8px;padding:8px 0;display:flex}.tg-approval-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;display:flex}.lead-merge-summary{background:var(--panel-2);border-radius:var(--radius-panel);overflow-wrap:anywhere;gap:8px;padding:16px;display:grid}.lead-merge-conflicts{gap:16px;display:grid}.lead-merge-field{border:1px solid var(--line);border-radius:var(--radius-panel);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:16px;display:grid}.lead-merge-field legend{padding:0 8px;font-size:14px;font-weight:600}.lead-merge-field label{cursor:pointer;background:var(--panel-2);border-radius:var(--radius-control);align-items:flex-start;gap:8px;min-width:0;padding:10px;display:flex}.lead-merge-field input{flex-shrink:0;margin-top:2px}.lead-merge-field label>span{gap:6px;min-width:0;display:grid}.lead-merge-field small{font-weight:400}.lead-merge-field strong{color:var(--text);overflow-wrap:anywhere}.lead-merge-confirm{align-items:flex-start;gap:10px;padding:12px 0;font-size:13px;display:flex}.lead-merge-confirm input{flex-shrink:0}.lead-merge-result{gap:12px;margin:0;display:grid}.lead-merge-result>div{grid-template-columns:minmax(100px,.5fr) minmax(0,1fr);gap:12px;display:grid}.lead-merge-result dt{color:var(--muted);font-size:12px}.lead-merge-result dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.lead-link-comparison{gap:12px;display:grid}.lead-link-compare-row{border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:minmax(80px,.5fr) repeat(2,minmax(0,1fr));gap:12px;padding:12px;display:grid}.lead-link-compare-row>*{overflow-wrap:anywhere;min-width:0}.lead-link-compare-row>span{gap:6px;display:grid}.lead-link-compare-row small{color:var(--muted)}.rental-location-list{gap:12px;display:grid}.rental-location-card{border:1px solid var(--line);border-radius:var(--radius-panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.rental-location-card>div{min-width:0}.rental-location-card strong,.rental-location-card p{overflow-wrap:anywhere}.rental-location-card p{margin:4px 0 10px}.rental-balance{background:var(--panel-2);border-radius:var(--radius-panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.rental-balance strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px}.rental-balance.negative strong{color:var(--danger)}.rental-booking{border-bottom:1px solid var(--line);gap:12px;padding:20px;display:grid}.rental-booking>p{margin:0}.rental-booking>button{justify-self:start}.rental-booking-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rental-booking-head h3{margin:0 0 6px;font-size:15px}.rental-warning{color:var(--warn);border-radius:var(--radius-control);background:#fff8eb;border:1px solid #eed5a5;padding:10px 12px;font-size:13px}.rental-check{align-items:flex-start;gap:8px;display:flex}.rental-check input{flex-shrink:0}.rental-warning-badge{color:#7a4303;background:#fff3dd;border-radius:6px;flex-wrap:wrap;gap:4px;padding:3px 6px;font-size:11px;display:inline-flex}.business-account-filter{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);min-height:44px;color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;display:flex}.business-account-filter input{flex-shrink:0}.business-cash-card{text-align:left;align-items:flex-start;width:100%;min-width:0}@media (width<=640px){.business-account-filter{flex:100%}.rental-location-card,.rental-booking{padding:12px}.rental-location-card>div,.rental-location-card .actions{width:100%}.rental-location-card .actions>button{flex:160px;min-height:44px}.rental-location-card .status{white-space:normal}.rental-booking>button{justify-self:stretch;min-height:44px}.rental-balance strong{font-size:22px}.lead-link-compare-row{grid-template-columns:minmax(0,1fr);gap:8px}.lead-merge-result>div{grid-template-columns:minmax(0,1fr);gap:4px}.lead-merge-field{grid-template-columns:minmax(0,1fr);padding:12px}}.tg-student-link{border-top:1px solid var(--line);flex:100%;gap:12px;min-width:0;padding-top:12px;display:grid}.tg-student-link>button{overflow-wrap:anywhere;justify-self:start;max-width:100%}.tg-student-link input{min-width:0;font-size:13px}.tg-student-link .loading-state{justify-content:flex-start;padding:8px 0}.tg-segment-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tg-preview-recipients{gap:6px;max-height:260px;padding-left:20px;display:grid;overflow-y:auto}.tg-preview-recipients li{overflow-wrap:anywhere}.tg-scenario-list{gap:12px;display:grid}.tg-scenario-card{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);cursor:pointer;flex-direction:row;align-items:flex-start;gap:12px;padding:16px;display:flex}.tg-scenario-card input{flex-shrink:0;margin:2px 0 0}.tg-scenario-card>span{gap:6px;min-width:0;display:grid}.tg-scenario-card strong{color:var(--text);font-size:14px}.tg-scenario-card .form-help{font-weight:400}.tg-scenario-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=640px){.tg-overview,.tg-section-stack{gap:16px}.tg-status-grid{grid-template-columns:minmax(0,1fr)}.tg-status-card,.tg-recipient-card,.tg-history-item,.tg-template-preview,.tg-connection-banner{padding:12px}.tg-recipient-main{flex-basis:100%}.tg-recipient-actions{width:100%}.tg-recipient-actions>button{flex:120px;min-height:44px}.tg-connection-banner>button{width:100%;min-height:44px}.tg-scenario-time-grid{grid-template-columns:minmax(0,1fr)}.tg-scenario-card{padding:12px}.tg-segment-actions>button{flex:140px;min-height:44px}.tg-student-link>button{justify-self:stretch;width:100%;min-height:44px}.tg-workspace-intro{gap:12px}.tg-workspace-intro>div:first-child{flex:200px}.tg-workspace-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tg-workspace-nav .page-tab{white-space:normal;min-width:0;padding:10px 6px}.tg-workspace-nav .page-tab:last-child:nth-child(odd){grid-column:1/-1}.tg-settings-group{padding:12px}.tg-summary-recipient{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);padding-bottom:12px}.tg-summary-recipient>button,.tg-approval-actions>button{min-height:44px}.tg-approval-actions>button{flex:160px}}
