.finance-page{display:grid;gap:16px}.finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.finance-book{padding:18px 20px;display:grid;gap:14px}.period-range{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.period-range input,.finance-book input[type=month]{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}.journal-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.journal-totals{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted)}.journal-totals strong{color:var(--ink);font-variant-numeric:tabular-nums}.cash-amount.is-reversed{text-decoration:line-through;opacity:.6}.record-action{display:grid;gap:10px;width:100%}.money-kind-income{background:#6f9c83}.money-kind-expense{background:#c28b5a}.money-kind-payout{background:#8a86b8}.debtor-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.debtor-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;font-size:13px}.debtor-list .text-button{font-size:12px;color:var(--muted)}.is-negative{color:#a3422f}.money-strip{display:flex;align-items:center;gap:18px;width:100%;padding:12px 16px;border-color:#eee3d0;background:#fbf8f2;text-align:left}.money-strip:hover{border-color:#dfcfb4}.money-strip .stat-icon{background:#f3e8d4;color:var(--amber)}.money-strip-cell{display:grid;gap:2px;min-width:0;flex:1}.money-strip-cell small{font-size:11.5px;color:#8d8472}.money-strip-cell strong{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:#6f5a33}.money-strip>svg:last-child{color:#a79a82}@media(max-width:760px){.money-strip{flex-wrap:wrap}.money-strip-cell{flex:1 1 40%}}.lesson-money{display:grid;gap:8px;margin-top:6px;padding:10px 12px;border:1px solid #eee3d0;border-radius:10px;background:#fbf8f2}.lesson-money h4{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:600;color:#6f5a33}.lesson-money-total{margin-left:auto;font-variant-numeric:tabular-nums}.seat-money{display:grid;gap:2px}.seat-money-line{display:flex;align-items:center;gap:8px;font-size:13px}.seat-money-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-money-line strong{font-variant-numeric:tabular-nums}.seat-money-line .icon-button{width:26px;height:26px}.is-agreed{color:#8a5a1f}.seat-money-meta{font-size:11.5px;color:#8d8472}.seat-money-form{display:grid;gap:8px;margin-top:6px}.seat-money-form label{display:grid;gap:3px;font-size:12px;color:var(--muted)}.seat-money-form input{padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:13px}.seat-money-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.finance-table{display:grid}.finance-table-row{display:grid;grid-template-columns:70px minmax(0,1.4fr) minmax(90px,.6fr) minmax(170px,1fr);align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}.finance-table-row .cash-date small{display:block;color:var(--muted)}.finance-table-row .link-button{flex-wrap:wrap}.finance-table-row .link-button i{width:8px;height:8px;border-radius:50%}.finance-table-row .link-button small{flex-basis:100%;font-weight:400;color:var(--muted)}.price-cell{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.price-cell small{color:var(--muted);font-size:11.5px}.price-edit{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.price-edit input{width:110px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;font-size:13px}.category-add{display:flex;gap:8px;flex-wrap:wrap}.category-add input,.category-add select{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.category-add input{flex:1;min-width:180px}.category-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.category-groups h3{margin-bottom:8px;font-size:13px;color:var(--muted)}.category-list{margin:0;padding:0;list-style:none}.category-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:13px}.category-list li.is-archived .category-name{color:var(--muted);text-decoration:line-through}.category-name{flex:1}.category-list .muted{font-size:12px}.category-actions{display:inline-flex}.payroll-table{display:grid}.payroll-head,.payroll-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.3fr) minmax(90px,.6fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.payroll-head{border-top:0;font-size:12px;color:var(--muted)}.payroll-row small{display:block;color:var(--muted);font-size:11.5px}.entry-form{display:grid;gap:12px}.entry-kinds{flex-wrap:wrap}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:760px){.finance-table-row,.payroll-head,.payroll-row{grid-template-columns:1fr;gap:4px}.payroll-head{display:none}.form-row{grid-template-columns:1fr}}.work-page{display:grid;gap:18px;min-width:0}.work-page>.segmented{justify-self:start;max-width:100%;overflow-x:auto}.work-section{display:grid;gap:16px;padding:20px 22px;min-width:0}.work-section .section-heading{margin-bottom:0}.work-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.work-toolbar>.push-right,.work-toolbar>.btn.push-right{margin-left:auto}.work-toolbar input[type=date],.work-select{min-height:36px;padding:6px 10px;border:1px solid #dcdee2;border-radius:8px;background:#fff;color:var(--ink)}.work-search{flex:1 1 260px}.work-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.work-form .form-field{min-width:150px}.work-form .form-field.grow{flex:1 1 220px}.work-form .form-check{display:flex;align-items:center;gap:8px;min-height:38px;font-size:13px}.counter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.counter-card{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfbfc}.counter-card>span{font-size:12.5px;color:var(--muted)}.counter-card>strong{font-size:26px;font-weight:560;font-variant-numeric:tabular-nums}.counter-card small{font-size:12px;color:var(--muted)}.counter-muted{background:#fff}.counter-actions{display:flex;gap:6px}.counter-actions .icon-button{border:1px solid #dcdee2;border-radius:8px;width:34px;height:34px}.counter-actions .counter-plus{background:#eaf1fa;border-color:#cfdcec;color:#416b99}.funnel{list-style:none;margin:0;padding:0;display:grid;gap:8px}.funnel li{display:grid;grid-template-columns:minmax(120px,170px) 1fr 48px 64px;align-items:center;gap:12px;font-size:13px}.funnel-label{color:#55595f}.funnel-track{height:12px;border-radius:6px;background:#f1f2f4;overflow:hidden}.funnel-bar{display:block;height:100%;border-radius:6px;background:var(--blue);transition:width .25s ease}.funnel-read{background:#5d82ad}.funnel-dialogs{background:#7494ba}.funnel-trials_assigned{background:#8b6f3e}.funnel-trials_conducted{background:#a88c5a}.funnel-clients{background:var(--green)}.funnel li strong{text-align:right;font-variant-numeric:tabular-nums}.funnel-conversion{color:var(--muted);font-variant-numeric:tabular-nums}.work-table-wrap{overflow-x:auto}.work-table{width:100%;border-collapse:collapse;font-size:13px}.work-table th,.work-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.work-table th{font-weight:550;color:#55595f;font-size:12px}.work-table td:not(:first-child),.work-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.work-table tr.is-vip td{background:#fbf7ef}.work-table .cell-actions{width:1%}.report-output{display:grid;gap:10px;justify-items:start}.report-output pre{margin:0;width:100%;padding:14px 16px;border-radius:10px;background:#f5f6f7;white-space:pre-wrap;font-size:13px;line-height:1.5}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{padding:4px 10px;border:1px solid #dcdee2;border-radius:999px;background:#fff;font-size:12.5px;color:#55595f}.tag-chip.selected{background:#eaf1fa;border-color:#cfdcec;color:#416b99}.methodic-grid,.dialog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.methodic-card,.dialog-card{display:grid;align-content:start;gap:8px;padding:16px 18px;text-align:left;min-width:0;transition:border-color .15s ease,box-shadow .15s ease}.methodic-card:hover,.dialog-card:hover{border-color:#cfd3d9;box-shadow:0 2px 8px #17191d0d}.methodic-card img{width:100%;height:120px;object-fit:cover;border-radius:8px}.methodic-card strong,.dialog-card strong{font-size:14.5px;font-weight:560}.methodic-card p{font-size:13px;color:#55595f;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.methodic-meta{font-size:12px;color:var(--muted)}.methodic-tags{display:flex;flex-wrap:wrap;gap:4px}.methodic-gallery{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.methodic-gallery img{height:120px;max-width:220px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.methodic-gallery.editable img{height:72px;max-width:110px}.gallery-item{position:relative}.gallery-item .icon-button{position:absolute;top:3px;right:3px;background:#fff;border-radius:6px;width:22px;height:22px}.methodic-editor{display:grid;gap:14px;margin:8px 0 14px}.editor-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.editor-tools{display:flex;flex-wrap:wrap;gap:4px}.editor-tools .btn{font-size:12.5px}.methodic-editor textarea{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.5}.methodic-preview{min-height:200px;max-height:60vh;overflow:auto;padding:12px 14px;border:1px solid #dcdee2;border-radius:8px}.markdown{font-size:14px;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}.markdown>*+*{margin-top:12px}.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:600;line-height:1.3;margin-top:20px}.markdown h2{font-size:19px}.markdown h3{font-size:16.5px}.markdown h4,.markdown h5,.markdown h6{font-size:14.5px}.markdown ul,.markdown ol{padding-left:22px;margin-bottom:0}.markdown li+li{margin-top:4px}.markdown blockquote{margin-left:0;margin-right:0;padding:8px 14px;border-left:3px solid #cfdcec;background:#f6f9fc;color:#444851}.markdown code{padding:1px 5px;border-radius:4px;background:#f1f2f4;font-size:12.5px}.markdown img{max-width:100%;border-radius:8px}.markdown a{color:#416b99;text-decoration:underline}.markdown hr{border:0;border-top:1px solid var(--line)}.markdown-code{margin:0}.markdown-code figcaption{font-size:11.5px;color:var(--muted);margin-bottom:4px}.markdown-code pre{margin:0;padding:12px 14px;border-radius:8px;background:#f5f6f7;overflow-x:auto}.markdown-code pre code{padding:0;background:none}.markdown-code.is-diagram pre{background:#f6f9fc}.markdown-table{overflow-x:auto}.markdown-table table{border-collapse:collapse;font-size:13px}.markdown-table th,.markdown-table td{border:1px solid var(--line);padding:6px 10px;text-align:left}.dialog-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dialog-problem{font-size:13px;color:#8b6f3e}.dialog-preview{font-size:13px;color:#55595f;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.dialog-callout{display:grid;gap:4px;padding:10px 14px;border-radius:10px;background:#fbf7ef;font-size:13px;margin-bottom:12px}.dialog-callout strong{display:flex;align-items:center;gap:6px}.dialog-callout.is-resolved{background:#eef4f0;margin:12px 0}.chat-thread{margin-bottom:14px;display:grid;gap:8px;max-height:55vh;overflow-y:auto;padding:4px 2px}.chat-bubble{position:relative;display:grid;gap:2px;max-width:78%;padding:8px 12px;border-radius:12px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble.them{justify-self:start;background:#f1f2f4;border-bottom-left-radius:4px}.chat-bubble.me{justify-self:end;background:#eaf1fa;border-bottom-right-radius:4px}.chat-sender{font-size:11px;font-weight:600;color:var(--muted)}.chat-bubble .chat-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;opacity:.6}.chat-compose{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px}.chat-compose-row{display:flex;gap:8px}.chat-compose-row select,.chat-compose-row input{min-height:38px;padding:7px 10px;border:1px solid #dcdee2;border-radius:8px;background:#fff}.chat-compose-row input{flex:1;min-width:0}@media(max-width:760px){.work-section{padding:16px}.funnel li{grid-template-columns:1fr 44px 56px}.funnel-track{grid-column:1 / -1;order:4}.chat-bubble{max-width:92%}.work-toolbar>.push-right{margin-left:0}}:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#222325;background:#f7f7f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #222325;--muted: #74777d;--line: #e8e9eb;--blue: #4c729f;--green: #416655;--amber: #8b6f3e;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #5d6777;outline-offset:4px}h1,h2,h3,p{margin:0}svg{flex-shrink:0}::selection{background:#d9dee8}button svg{pointer-events:none}.glass,.surface{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px #17191d03}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid transparent;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:550;line-height:1.4;transition:background .15s}.btn-primary{background:#4c729f;color:#fff;border-color:#4c729f}.btn-primary:hover:not(:disabled){background:#395e88}.btn-secondary{background:#fff;border-color:#dedfe2}.btn-secondary:hover:not(:disabled){background:#f4f4f5}.btn-quiet{background:transparent;color:#666a71}.btn-quiet:hover:not(:disabled){background:#f2f3f4}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #e8e9eb;border-radius:6px;font-size:12px;line-height:1.3;font-weight:500;white-space:nowrap;background:#f6f6f7;color:#656a73}.badge-blue{background:#f1f3f6;color:#525e70}.badge-green{background:#f1f6f2;border-color:#e2ebe4;color:#4c715b}.badge-amber{background:#faf7f0;border-color:#eee7d8;color:#8a724b}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #e0e1e4;border-radius:8px;background:#fff;color:#666b73}.icon-button:hover{background:#f4f5f6}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#555d69;background:none;border:0;padding:5px 0}.text-link:hover{color:#111}.notice{display:flex;gap:11px;align-items:flex-start;padding:15px 16px;border:1px solid #e2e5e9;border-radius:10px;font-size:14px;line-height:1.65;background:#f5f6f8;color:#515a69}.notice-error{background:#fdf6f4;border-color:#eddad6;color:#9a5347}.notice-success{background:#f3f7f3;border-color:#e1e9e1;color:#4e7055}.notice strong{display:block}.notice button{margin-top:10px}.notice svg{margin-top:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh}.app-shell.nav-hidden .sidebar{display:none}.app-shell.nav-hidden .workspace{margin-left:0}.app-shell.is-wide .workspace{max-width:none}@media(max-width:760px){.navigation-spacer{display:none}.foundation-summary{grid-template-columns:20px minmax(0,1fr) 16px}.foundation-summary>i{display:none}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:224px;background:#ffffffd9;border-right:1px solid var(--line);backdrop-filter:blur(16px);padding:32px 16px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;padding:0 11px;font-size:25px;font-weight:650;letter-spacing:-1.2px}.brand-symbol{width:32px;height:33px;border-radius:8px;background:#252525;display:grid;place-items:center}.brand-symbol svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round}.workspace-label{font-size:12px;font-weight:500;color:#777b82;padding:40px 12px 15px;letter-spacing:.2px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px;margin:4px 0;border-radius:8px;font-size:14px;color:#7a7a7a;transition:background .15s}.nav-item:hover{background:#f5f5f5}.nav-item.active{background:#eee;color:#272727;font-weight:550}.nav-count{font-size:12px;color:#6a6a6a;border:1px solid #dfdfdf;background:#fff;border-radius:5px;min-width:20px;line-height:18px;text-align:center;margin-left:auto}.sidebar-footer{margin-top:auto}.local-state{display:flex;align-items:center;gap:7px;margin:20px 12px;color:#777b82;font-size:12px}.local-state>span{width:5px;height:5px;border-radius:50%;background:#aaa}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:22px 10px 0}.profile>div{min-width:0}.profile strong{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile small{display:block;font-size:12px;line-height:1.5;color:#777b82;margin-top:5px}.avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#f1f1f1;color:#777;font-size:12px;letter-spacing:.2px}.avatar-large{width:58px;height:58px;font-size:19px}.workspace{margin-left:224px;padding:0 40px;max-width:1590px}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;color:#9b9b9b}.breadcrumb>span{color:#6c6c6c}.topbar-meta{display:flex;align-items:center;gap:17px;font-size:12px;color:#9b9b9b}.demo-label{padding:5px 8px;border:1px solid #e5e5e5;border-radius:5px;background:#ffffffb3}.timezone{padding-left:17px;border-left:1px solid #dfdfdf}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:35px 0 28px}.eyebrow{font-size:12px;color:#777b82;line-height:1.5}.eyebrow:first-letter{text-transform:uppercase}h1{font-size:32px;font-weight:550;letter-spacing:-1px;line-height:1.25}.page-heading h1{margin-top:9px}.page-heading p{font-size:14px;color:#777b82;line-height:1.75;margin-top:9px}.heading-actions{display:flex;gap:9px;align-items:center}.heading-actions .icon-button{width:42px;height:42px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.metric-card{text-align:left;padding:21px 22px;background:#fff;transition:border-color .15s}.metric-card:hover{border-color:#c4c4c4}.metric-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#777b82;line-height:1.5}.metric-top>svg{color:#a8a8a8}.metric-card>strong{font-size:35px;font-weight:550;letter-spacing:-1.2px;display:block;margin:18px 0 14px;line-height:1}.metric-bottom{display:flex;justify-content:space-between;align-items:center;gap:7px}.metric-bottom>small{font-size:12px;color:#777b82;line-height:1.5}.metric-bottom>svg{color:#b1b1b1}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:22px;margin-bottom:23px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 25px 0}.panel-header h2{font-size:16px;font-weight:550;letter-spacing:-.2px;line-height:1.4}.panel-header p{font-size:12px;color:#777b82;margin-top:7px;line-height:1.7}.period-select{position:relative;flex-shrink:0}.period-select>select{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid #e4e4e4;padding:8px 30px 8px 12px;border-radius:7px;font-size:12px;color:#707070;cursor:pointer;min-height:35px}.period-select>svg{position:absolute;right:9px;top:11px;pointer-events:none;color:#a3a3a3}.chart-legend{display:flex;gap:18px;align-items:center;margin:25px 27px 0;font-size:12px;color:#989898}.chart-legend>span{display:flex;align-items:center;gap:6px}.chart-legend i{display:block;width:7px;height:7px;border-radius:2px}.legend-planned{background:#ddd}.legend-confirmed{background:#4a4a4a}.activity-chart{position:relative;height:258px;margin:20px 26px 17px}.chart-grid{height:182px;position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;justify-content:space-between}.chart-grid>div{display:flex;align-items:center;gap:11px;font-size:12px;color:#777b82;height:0}.chart-grid span{width:16px;text-align:right;flex-shrink:0}.chart-grid i{height:1px;width:100%;border-top:1px dashed #e9e9e9}.chart-bars{position:absolute;left:30px;right:0;top:0;height:211px;display:flex;gap:16px;justify-content:space-around;align-items:flex-end}.chart-day{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;height:100%;position:relative;background:none;border:0;padding:0;justify-content:flex-end}.bar-group{height:182px;display:flex;justify-content:center;align-items:flex-end;width:100%;gap:5px;max-width:43px}.bar{width:50%;border-radius:4px 4px 0 0;min-height:0;display:block;transition:background .15s}.bar-planned{background:#ddd}.bar-confirmed{background:#4a4a4a}.chart-day-active .bar-planned{background:#bfbfbf}.chart-day-active .bar-confirmed{background:#1c1c1c}.chart-label{font-size:12px;color:#777b82;margin-top:12px;line-height:17px;height:17px}.chart-bars-dense{gap:5px}.chart-bars-dense .bar-group{gap:2px}.chart-bars-dense .bar{border-radius:2px 2px 0 0}.chart-detail{position:absolute;bottom:0;left:29px;right:0;display:flex;align-items:center;gap:12px;min-height:24px;font-size:12px;color:#777b82;line-height:1.6}.chart-detail strong{font-size:12px;color:#707070;font-weight:500}.period-summary{padding-bottom:22px;display:flex;flex-direction:column}.period-summary dl{padding:0 24px;margin:22px 0 0}.period-summary dl>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.period-summary dt{font-size:13px;color:#929292}.period-summary dd{font-size:19px;font-weight:500;color:#5d5d5d;margin:0}.period-summary .summary-total{border-top:1px solid #ebebeb;padding-top:21px;margin-top:6px;margin-bottom:13px}.period-summary dt small{font-size:12px;color:#777b82;display:block;margin-top:6px}.data-caption{font-size:12px;line-height:1.7;color:#777b82;margin:0 24px 21px}.period-summary .btn{margin:auto 23px 0;justify-content:space-between;font-size:12px}.recent-panel{overflow:hidden}.recent-panel .panel-header{padding-bottom:22px}.recent-list{padding:0 24px}.recent-row{display:flex;align-items:center;gap:13px;min-height:78px;border-top:1px solid #eeeeee}.activity-dot{width:5px;height:5px;background:#c7c7c7;border-radius:50%;margin:0 6px 0 1px}.recent-row>div{flex:1;min-width:0}.recent-row button{background:none;border:0;padding:0;font-size:13px;font-weight:500}.recent-row p{font-size:12px;color:#777b82;margin-top:7px;line-height:1.6}.recent-date{font-size:12px;color:#a8a8a8}.recent-delta{font-size:15px;font-weight:500;color:#7d7d7d;min-width:31px;text-align:right}.schedule-panel{overflow:hidden}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px;border-bottom:1px solid var(--line)}.segmented{display:inline-flex;align-items:center;gap:3px;padding:3px;background:#f4f4f4;border-radius:8px}.segmented button{display:flex;gap:9px;align-items:center;background:none;border:1px solid transparent;border-radius:6px;padding:8px 12px;font-size:13px;color:#8c8c8c}.segmented button.selected{background:#fff;color:#494949;border-color:#777b82;box-shadow:0 1px 2px #00000004}.segmented span{color:#777b82;font-size:12px}.schedule-counter{font-size:12px;color:#9c9c9c}.schedule-table-head,.schedule-row{display:grid;grid-template-columns:105px minmax(160px,1fr) 89px 153px 23px;align-items:center;gap:16px;padding:0 25px}.schedule-table-head{font-size:12px;color:#777b82;min-height:48px;border-bottom:1px solid var(--line);background:#fcfcfc}.schedule-row{min-height:91px;border-bottom:1px solid #eeeeee}.schedule-row:last-child{border-bottom:0}.lesson-time{background:none;border:0;padding:10px 0;text-align:left;font-size:13px;color:#797979;white-space:nowrap}.student-cell{display:flex;align-items:center;gap:11px;min-width:0;background:none;border:0;padding:9px 0;text-align:left}.student-cell>span:last-child{min-width:0}.student-cell strong{display:block;font-size:14px;font-weight:500;line-height:1.5}.student-cell small{display:block;font-size:12px;color:#777b82;line-height:1.5;margin-top:5px}.student-cell:hover strong,.lesson-time:hover{color:#141414}.balance-cell{display:flex;align-items:baseline;gap:5px;background:none;border:0;padding:12px 0;text-align:left}.balance-cell strong{font-size:15px;font-weight:500;color:#6e6e6e}.balance-cell small{font-size:12px;color:#ababab}.balance-cell:disabled{opacity:1}.schedule-state{line-height:1.5}.schedule-state .badge{font-size:12px;white-space:normal}.attendance-check{position:relative;display:grid;place-items:center;width:26px;height:42px;cursor:pointer}.attendance-check input{position:absolute;opacity:0;margin:0;width:20px;height:20px}.attendance-check>span{width:18px;height:18px;border-radius:4px;border:1px solid #d6d6d6;background:#fff;display:grid;place-items:center}.attendance-check svg{color:#fff;opacity:0;stroke-width:2.5}.attendance-check input:checked+span{background:#5b5b5b;border-color:#5b5b5b}.attendance-check input:checked+span svg{opacity:1}.attendance-check input:focus-visible+span{outline:2px solid #808080;outline-offset:4px}.attendance-check input:disabled+span{opacity:.5}.row-chevron{display:grid;place-items:center;background:none;border:0;color:#777b82;min-height:40px;padding:0}.review-actionbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 25px;background:#fcfcfc;border-top:1px solid var(--line)}.review-actionbar strong{display:block;font-size:13px;font-weight:500}.review-actionbar span{display:block;font-size:12px;color:#777b82;margin-top:6px}.queue-panel,.history-panel,.students-panel{overflow:hidden}.queue-panel>.panel-header,.history-panel>.panel-header{padding-bottom:22px}.queue-row{display:flex;align-items:flex-start;gap:18px;padding:26px;border-top:1px solid var(--line)}.queue-marker{width:6px;height:6px;flex-shrink:0;background:#9f9f9f;border-radius:50%;margin-top:26px}.queue-content{flex:1}.row-overline{font-size:12px;color:#999}.queue-content h3{font-size:15px;font-weight:550;margin-top:7px;line-height:1.5}.queue-content p{font-size:13px;line-height:1.75;color:#777b82;max-width:680px;margin-top:9px}.queue-row>.btn{margin-top:9px;font-size:12px;min-height:37px}.panel-note{padding:19px 26px;font-size:12px;color:#777b82;line-height:1.7;border-top:1px solid var(--line)}.count-inline{color:#777b82;font-size:12px;font-weight:400;margin-left:7px}.history-row{display:flex;align-items:center;gap:17px;padding:23px 25px;border-top:1px solid var(--line)}.history-symbol{width:30px;height:32px;display:grid;place-items:center;color:#777b82;background:#f6f6f6;border-radius:8px;flex-shrink:0}.history-content{flex:1;min-width:0}.history-heading{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.history-heading>button{background:none;border:0;padding:0;font-size:14px;font-weight:500}.history-heading .badge{font-size:12px;padding:4px 6px}.subtle-label{font-size:12px;color:#aeaeae}.history-contract{display:inline-flex;gap:4px;align-items:center;font-size:12px;color:#777b82;background:none;border:0;padding:0;line-height:1.8;margin-top:7px;text-align:left}.history-content>small{display:block;font-size:12px;color:#777b82;margin-top:5px}.history-reason{font-size:12px;color:#777b82;line-height:1.7;margin-top:9px;padding:9px 11px;border-left:2px solid #e7e7e7}.history-delta{display:flex;flex-direction:column;gap:4px;align-items:center;font-size:20px;color:#777b82;font-weight:500;min-width:48px}.history-delta small{font-size:12px;font-weight:400;color:#aeaeae}.history-row>.btn{font-size:12px;min-height:36px;padding:9px}.students-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 24px}.students-toolbar>span{font-size:12px;color:#a4a4a4}.search-field{display:flex;gap:10px;align-items:center;max-width:350px;width:100%;padding:10px 12px;border:1px solid #e5e5e5;border-radius:8px;color:#777b82;background:#fff}.search-field input{border:0;outline:0;width:100%;min-width:0;color:#626262;background:none;font-size:13px}.search-field:focus-within{outline:2px solid #949494;outline-offset:2px}.search-field input::placeholder{color:#b1b1b1}.search-field>button{background:none;border:0;padding:0;font-size:18px;line-height:16px;color:#b6b6b6}.student-table-head,.student-list-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 160px 18px;align-items:center;gap:16px;padding:0 25px}.student-table-head{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfcfc;min-height:45px;font-size:12px;color:#a9a9a9}.student-list-row{width:100%;background:#fff;border:0;border-bottom:1px solid var(--line);min-height:87px;text-align:left}.student-list-row:hover{background:#fbfbfb}.student-list-row:last-child{border-bottom:0}.student-contract-summary{font-size:12px;color:#777b82;line-height:1.6}.student-contract-summary>small{display:block;font-size:12px;color:#777b82;margin-top:5px}.student-next{font-size:12px;color:#ababab}.student-next strong{font-size:12px;color:#777b82;font-weight:400;display:block}.student-next small{display:block;font-size:12px;margin-top:6px}.student-list-row>svg{color:#bbb}.empty-state{padding:48px 23px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:13px}.empty-state h3{font-size:16px;font-weight:500;color:#767676}.empty-state p{font-size:14px;line-height:1.8;color:#777b82;max-width:380px}.empty-state .btn{margin-top:5px}.page-notice{margin-bottom:22px}.operation-banner{display:flex;align-items:center;gap:13px;padding:16px 18px;background:#f9f9f9;border:1px solid #e7e7e7;border-radius:11px;margin-bottom:22px;color:#7c7c7c}.operation-banner>div{flex:1}.operation-banner strong{font-size:14px;font-weight:500}.operation-banner p{font-size:12px;color:#777b82;margin-top:5px;line-height:1.6}.operation-banner .icon-button{background:transparent;border:0;color:#a1a1a1}.operation-banner:focus{outline:2px solid #9d9d9d;outline-offset:3px}.recovery-actions{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 25px;font-size:12px;color:#777b82;line-height:1.7}.page-footer>span:first-child{font-weight:500}.loading-state{min-height:65vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:#a3a3a3}.loading-state p{font-size:14px}.modal{padding:0;width:590px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);border:1px solid #e4e4e4;border-radius:16px;background:#fff;box-shadow:0 25px 100px #1f1f1f2b;color:var(--ink);overscroll-behavior:contain}.modal-wide{width:940px}.modal::backdrop{background:#18181840;backdrop-filter:blur(3px)}.modal-inner{padding:28px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.dialog-heading h2{font-size:23px;font-weight:550;letter-spacing:-.5px;line-height:1.4}.dialog-heading .eyebrow{margin-bottom:9px;display:block}.dialog-heading>.icon-button{flex-shrink:0}.dialog-description{font-size:14px;color:#777b82;line-height:1.85;margin:0 0 23px}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:23px}.preview-list{border:1px solid #eaeaea;border-radius:10px;overflow:hidden}.preview-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 20px;border-bottom:1px solid #ececec}.preview-row:last-child{border-bottom:0}.preview-row>div:first-child strong{display:block;font-size:14px;font-weight:500}.preview-row small{display:block;font-size:12px;color:#777b82;line-height:1.6;margin-top:6px}.preview-row>div:first-child>span{font-size:12px;color:#777b82;display:block;margin-top:6px;line-height:1.6}.preview-effect{display:grid;grid-template-columns:27px 16px 27px;align-items:center;gap:8px;text-align:center}.preview-effect>span{font-size:20px;color:#a8a8a8}.preview-effect>strong{font-size:23px;font-weight:500;color:#7e7e7e}.preview-effect>svg{color:#bdbdbd}.preview-effect small{grid-column:1/-1;text-align:center;font-size:12px;margin:0}.preview-total{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 3px;font-size:13px;color:#949494}.preview-total strong{font-size:16px;font-weight:500;color:gray}.preview-excluded{font-size:12px;color:#777b82;line-height:1.8;margin:1px 0 17px}.preview-excluded summary{cursor:pointer}.preview-excluded p{margin:8px 0}.field-label{display:block;font-size:14px;font-weight:500;margin:22px 0 10px}.modal textarea{width:100%;padding:14px 15px;border:1px solid #e0e0e0;border-radius:9px;resize:vertical;min-height:115px;font-size:15px;color:#777;line-height:1.8;background:#fefefe}.modal textarea::placeholder{color:#afafaf}.field-hint{font-size:12px;color:#777b82;line-height:1.8;margin:12px 0 17px}.entity-navigation{display:flex;align-items:center;gap:13px;margin-bottom:31px}.entity-navigation>.text-link{flex-shrink:0}.entity-breadcrumb{display:flex;align-items:center;gap:3px;margin-left:auto;flex-wrap:wrap;color:#777b82;font-size:12px}.entity-breadcrumb>span{display:flex;align-items:center;gap:3px}.entity-navigation>.icon-button{flex-shrink:0;width:33px;height:33px;margin-left:8px}.entity-title{margin-bottom:23px}.entity-title h2{font-size:25px;font-weight:550;letter-spacing:-.6px;margin:8px 0 10px;line-height:1.4}.entity-title>p,.entity-student-title p{font-size:13px;color:#777b82;line-height:1.7}.related-student{display:flex;align-items:center;gap:12px;border:1px solid #ececec;background:#fbfbfb;border-radius:10px;width:100%;padding:15px;text-align:left;margin-bottom:24px}.related-student>span:nth-child(2){flex:1}.related-student strong{font-size:14px;font-weight:500;display:block}.related-student small{display:block;font-size:12px;color:#777b82;margin-top:5px}.related-student>svg{color:#b5b5b5}.entity-properties{margin:24px 0}.entity-properties>div{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.entity-properties dt{font-size:13px;color:#a5a5a5}.entity-properties dd{margin:0;font-size:14px;color:#8b8b8b}.context-explanation{font-size:13px;line-height:1.75;color:#777b82;background:#f8f8f8;padding:13px 15px;border-radius:8px;margin-bottom:23px}.entity-section{margin-top:29px}.entity-section>h3{font-size:14px;font-weight:550;margin-bottom:13px;line-height:1.5}.contract-link{display:flex;align-items:center;gap:13px;padding:17px 0;width:100%;background:transparent;border:0;border-top:1px solid #ececec;text-align:left}.contract-link>span:first-child{flex:1}.contract-link strong{font-size:14px;font-weight:500;display:block}.contract-link small{display:block;font-size:12px;color:#777b82;margin-top:6px;line-height:1.6}.contract-link>svg{color:#bdbdbd}.contract-link-balance{text-align:right;font-size:21px;color:#8b8b8b}.contract-link-balance>small{font-size:12px;margin-top:3px}.section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 0;background:none;border:0;border-top:1px solid #ececec;font-size:14px;color:#909090}.section-toggle>span{display:flex;align-items:center;gap:9px}.section-toggle>svg{color:#bcbcbc}.section-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.integration-state,.subtle-text{font-size:13px;line-height:1.8;color:#777b82;padding:5px 0}.inline-loading{display:flex;gap:9px;align-items:center;padding:14px 0;color:#777b82;font-size:13px}.entity-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:250px;color:#777b82;font-size:14px}.entity-footer{margin-top:30px;padding-top:19px;border-top:1px solid #ededed;font-size:12px;color:#777b82;line-height:1.7;text-align:center}.entity-student-title{display:flex;align-items:center;gap:17px;margin-bottom:23px}.entity-student-title h2{font-size:25px;font-weight:550;letter-spacing:-.5px;margin:7px 0 9px;line-height:1.4}.student-note{font-size:13px;color:#777b82;line-height:1.9;margin:15px 0 25px}.context-row{display:flex;align-items:center;gap:11px;padding:16px 0;width:100%;text-align:left;background:none;border:0;border-top:1px solid #ededed}.context-row>span:first-child{flex:1;min-width:0}.context-row strong{display:block;font-size:13px;font-weight:500;line-height:1.6}.context-row small{display:block;font-size:12px;color:#777b82;line-height:1.6;margin-top:4px}.context-row>.badge{font-size:12px}.context-row>svg{color:silver}.entity-question-count{font-size:12px;color:#777b82;border-top:1px solid #ededed;margin-top:26px;padding-top:16px}.contract-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 0;border-top:1px solid #ededed;border-bottom:1px solid #ededed}.contract-metrics span{display:block;font-size:12px;color:#777b82;line-height:1.6}.contract-metrics strong{display:block;font-size:31px;font-weight:500;color:#777b82;margin-top:10px}.contract-history-row{display:flex;justify-content:space-between;align-items:flex-start;gap:17px;padding:17px 0;border-top:1px solid #ededed}.contract-history-row>span{flex:1}.contract-history-row>span>strong{font-size:13px;font-weight:500;display:block}.contract-history-row small{display:block;font-size:12px;color:#777b82;line-height:1.8;margin-top:6px}.contract-history-row p{font-size:12px;color:#777b82;line-height:1.7;margin-top:6px}.contract-history-row>strong{font-size:18px;font-weight:500;color:#9c9c9c}.material-body{font-size:15px;line-height:1.9;color:#777b82;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #eeeeee;padding-top:23px;margin-bottom:25px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;border:2px solid #222;padding:12px;border-radius:8px}.skip-link:focus{top:14px}main:focus{outline:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.foundation-summary{width:100%;display:grid;grid-template-columns:20px minmax(0,1fr) auto 16px;gap:13px;align-items:center;text-align:left;padding:17px 20px;margin-bottom:23px;color:#777b82}.foundation-summary:hover{border-color:#c8c8c8}.foundation-summary span strong,.foundation-summary span small{display:block}.foundation-summary span strong{color:#303030;font-size:14px;font-weight:550}.foundation-summary span small{margin-top:5px;font-size:12px;line-height:1.5}.foundation-summary>i{font-size:12px;font-style:normal;padding:5px 8px;border-radius:6px;background:#f3f3f3}.foundation-summary>i.consistent{color:#397154;background:#edf7f1}@media(min-width:1550px){.workspace{margin-left:240px;padding:0 52px}.sidebar{width:240px}.metric-card{padding:24px}.metric-top{font-size:14px}.metric-card>strong{font-size:39px}.metric-bottom>small{font-size:12px}.panel-header h2{font-size:18px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.activity-chart{height:278px}.chart-grid{height:200px}.chart-bars{height:229px}.bar-group{height:200px;max-width:54px}.chart-detail{font-size:12px}.recent-row{min-height:85px}}@media(max-width:1200px){.sidebar{width:196px;padding-left:12px;padding-right:12px}.workspace{margin-left:196px;padding:0 27px}.brand{font-size:24px;padding:0 10px}.workspace-label{font-size:12px;padding-left:10px}.nav-item{padding:12px 10px}.profile{padding-left:7px;padding-right:7px;gap:8px}.profile small{font-size:12px}.local-state{font-size:12px;margin-left:10px}.metric-grid{gap:12px}.metric-card{padding:18px 16px}.metric-top{font-size:12px}.metric-top>svg{width:15px;height:15px}.metric-bottom>small{font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.panel-header,.period-summary dl{padding-left:20px;padding-right:20px}.period-summary dt{font-size:12px}.data-caption{margin-left:20px;margin-right:20px}.period-summary .btn{margin-left:19px;margin-right:19px}.chart-legend{margin-left:22px}.activity-chart{margin-left:20px;margin-right:20px}.schedule-table-head,.schedule-row{grid-template-columns:88px minmax(140px,1fr) 75px 133px 23px;gap:12px;padding-left:20px;padding-right:20px}.student-cell{gap:9px}.student-cell .avatar{width:30px;height:30px;font-size:12px}.student-cell strong{font-size:13px}.student-cell small{font-size:12px}.student-table-head,.student-list-row{grid-template-columns:minmax(170px,1fr) 125px 125px 16px;gap:12px;padding-left:20px;padding-right:20px}.students-toolbar{padding-left:20px;padding-right:20px}.recent-date{font-size:12px}.history-row{padding:22px 20px}.page-heading{padding-top:30px}}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:20px}.metric-top{font-size:13px}.metric-bottom>small{font-size:12px}.metric-card>strong{margin:17px 0 13px}.dashboard-grid{grid-template-columns:1fr}.period-summary{display:block;padding-bottom:22px}.period-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 25px;margin-top:20px}.period-summary dl>div{margin:0;justify-content:flex-start;gap:15px}.period-summary dd{margin-left:auto}.period-summary .summary-total{padding:0;border:0;margin:0}.data-caption{margin-top:18px;margin-bottom:0;display:inline-block;font-size:12px}.period-summary>.btn{float:right;margin-top:14px}.activity-chart{height:264px}.schedule-table-head,.schedule-row{grid-template-columns:82px minmax(140px,1fr) 113px 25px}.schedule-table-head>span:nth-child(3),.balance-cell{display:none}.schedule-toolbar{flex-wrap:wrap;gap:12px;padding-left:20px;padding-right:20px}.schedule-state .badge{font-size:12px;padding:4px 6px}.lesson-time{font-size:12px}.schedule-row{min-height:94px}.student-cell .avatar{display:none}.student-list-row .avatar{display:grid}.student-table-head,.student-list-row{grid-template-columns:minmax(170px,1fr) 125px 18px}.student-table-head>span:nth-child(3),.student-next{display:none}.student-list-row .student-cell strong{font-size:13px}.review-actionbar{align-items:flex-start;gap:15px}.review-actionbar>div{max-width:170px}.review-actionbar .btn{font-size:12px;white-space:nowrap}.recent-row{gap:10px;flex-wrap:wrap;padding:17px 0}.recent-date{margin-left:auto}.recent-delta{min-width:22px}.recent-row>div{flex-basis:50%}.history-row{gap:12px;flex-wrap:wrap}.history-content{flex-basis:calc(100% - 96px)}.history-row>.btn{margin-left:auto}.history-heading{gap:7px}.queue-row{gap:13px;flex-wrap:wrap}.queue-row>.btn{margin-left:20px;margin-top:0}.queue-content{flex-basis:calc(100% - 26px)}.queue-content p{font-size:13px}.chart-detail{gap:9px}.page-footer{font-size:12px}}@media(max-width:760px){.sidebar{position:fixed;inset:auto 0 0;width:auto;height:70px;padding:7px 12px;background:#fffffff5;border-right:0;border-top:1px solid #e7e7e7;z-index:20}.brand,.workspace-label,.sidebar-footer{display:none}.sidebar nav{display:flex;height:100%;gap:3px;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{flex:1 0 68px;min-width:0;max-width:96px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:0;padding:5px 2px;font-size:12px;position:relative;border-radius:7px}.nav-item svg{width:18px;height:18px}.nav-item>span:not(.nav-count){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{position:absolute;right:21%;top:0;font-size:12px;line-height:14px;min-width:15px}.workspace{margin-left:0;padding:0 22px 80px}.topbar{height:66px}.topbar-meta{font-size:12px;gap:10px}.timezone{padding-left:10px}.breadcrumb{font-size:12px;gap:10px}.page-heading{padding:27px 0 24px;gap:13px}.page-heading h1{font-size:30px;margin-top:7px}.page-heading p{font-size:13px;margin-top:8px;max-width:390px}.heading-actions{gap:7px}.heading-actions>.btn{font-size:12px;padding:10px 11px}.heading-actions>.btn svg{width:14px;height:14px}.heading-actions>.icon-button{width:38px;height:38px}.metric-grid{gap:13px;margin-bottom:18px}.metric-top{font-size:12px}.metric-bottom>small{font-size:12px}.metric-card{padding:19px 18px}.metric-card>strong{font-size:34px}.dashboard-grid{gap:18px;margin-bottom:18px}.panel-header{padding:22px 21px 0}.panel-header h2{font-size:16px}.panel-header p,.chart-legend{font-size:12px}.activity-chart{margin-left:19px;margin-right:19px}.recent-list{padding:0 21px}.recent-row button{font-size:13px}.recent-row p,.recent-date{font-size:12px}.recent-delta{font-size:15px}.period-summary dt{font-size:13px}.data-caption{font-size:12px}.period-summary>.btn{font-size:12px}.schedule-table-head,.schedule-row{grid-template-columns:89px minmax(145px,1fr) 140px 25px;padding-left:20px;padding-right:20px;gap:12px}.student-cell .avatar{display:grid}.schedule-state .badge{font-size:12px}.lesson-time{font-size:13px}.student-cell strong{font-size:14px}.student-cell small{font-size:12px}.review-actionbar{align-items:center}.review-actionbar>div{max-width:230px}.review-actionbar .btn{font-size:13px}.schedule-counter{font-size:12px}.queue-row,.history-row{padding:22px}.history-content{flex-basis:calc(100% - 110px)}.history-heading>button{font-size:14px}.students-toolbar{padding:19px 20px}.search-field{max-width:300px}.student-list-row .student-cell strong{font-size:14px}.page-footer{font-size:12px}.modal{max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);border-radius:13px}.modal-inner{padding:24px}.dialog-heading h2{font-size:23px}.dialog-description{font-size:14px}.dialog-actions .btn{font-size:13px}.entity-breadcrumb{font-size:12px}}@media(max-width:540px){.workspace{padding-left:16px;padding-right:16px}.topbar{height:62px}.breadcrumb{font-size:12px;gap:7px}.topbar-meta{gap:0}.timezone{display:none}.demo-label{font-size:12px}.page-heading{align-items:flex-start;padding:25px 0 22px;gap:10px}.heading-actions{padding-top:22px}.heading-actions>.btn{display:none}.page-heading h1{font-size:28px}.page-heading p{font-size:13px;max-width:285px;line-height:1.7}.eyebrow{font-size:12px}.metric-card{padding:17px 15px}.metric-top{align-items:flex-start;font-size:12px;min-height:32px;gap:7px}.metric-top>svg{width:14px;height:14px;margin-top:1px}.metric-card>strong{font-size:32px;margin:14px 0 13px}.metric-bottom>small{font-size:12px;line-height:1.65}.metric-bottom>svg{width:13px;height:13px}.metric-grid{gap:10px}.panel-header{padding:20px 18px 0;gap:10px}.panel-header h2{font-size:15px}.panel-header p{font-size:12px}.period-select>select{font-size:12px;padding-left:10px;padding-right:26px}.period-select>svg{right:7px;width:13px}.chart-legend{margin:20px 19px 0;font-size:12px;gap:15px}.activity-chart{margin:21px 16px 13px;height:233px}.chart-grid{height:157px}.chart-bars{height:186px;gap:10px;left:25px}.bar-group{height:157px;gap:4px;max-width:31px}.chart-grid>div{gap:9px;font-size:12px}.chart-label{font-size:12px}.chart-detail{left:24px;gap:8px;flex-wrap:wrap;font-size:12px;min-height:27px}.chart-detail strong{font-size:12px}.chart-bars-dense{gap:3px}.chart-bars-dense .bar-group{gap:1px}.period-summary dl{padding-left:18px;padding-right:18px;gap:18px}.period-summary dl>div{align-items:flex-start;gap:10px}.period-summary dt{font-size:12px;line-height:1.6}.period-summary dd{font-size:20px;line-height:1.2}.period-summary dt small{font-size:12px}.period-summary .summary-total dt{max-width:100px}.period-summary .data-caption{display:block;font-size:12px;margin:20px 18px 14px}.period-summary>.btn{float:none;display:flex;margin:0 17px;font-size:13px}.recent-panel .panel-header{align-items:flex-start;padding-bottom:18px}.recent-panel .text-link{font-size:12px;gap:4px;white-space:nowrap}.recent-panel .text-link>svg{width:13px}.recent-panel .panel-header p{max-width:170px}.recent-list{padding:0 18px}.recent-row{padding:16px 0;gap:9px}.recent-row>div{flex-basis:calc(100% - 53px)}.activity-dot{margin-right:2px;width:4px;height:4px}.recent-row button{font-size:13px}.recent-row p{font-size:12px}.recent-date{margin-left:15px;font-size:12px;flex:1}.recent-delta{font-size:14px}.schedule-toolbar{padding:17px 15px}.segmented button{font-size:12px;padding:8px 10px;gap:7px}.schedule-counter{font-size:12px}.schedule-table-head{display:none}.schedule-row{position:relative;grid-template-columns:1fr 25px;gap:5px 10px;padding:17px 16px;min-height:107px}.lesson-time{grid-row:1;grid-column:1;font-size:12px;padding:0;line-height:1.6}.schedule-row .student-cell{grid-column:1;grid-row:2;padding:4px 0 3px}.schedule-row .student-cell .avatar{display:none}.schedule-row .student-cell strong{font-size:15px}.schedule-row .student-cell small{font-size:12px;display:inline;margin-top:0;margin-left:0;line-height:1.6}.schedule-state{grid-column:1;grid-row:3}.schedule-state .badge{font-size:12px;padding:4px 6px;margin-top:4px}.attendance-check,.row-chevron{grid-column:2;grid-row:1/4;align-self:center}.review-actionbar{align-items:stretch;flex-direction:column;padding:18px 16px;gap:14px}.review-actionbar>div{max-width:none}.review-actionbar strong{font-size:13px}.review-actionbar span{font-size:12px}.review-actionbar .btn{font-size:14px}.students-toolbar{padding:17px 16px;flex-direction:column;align-items:flex-start;gap:12px}.search-field{max-width:none;font-size:13px}.students-toolbar>span{font-size:12px}.student-table-head{display:none}.student-list-row{grid-template-columns:1fr 17px;padding:18px 16px;gap:8px 12px}.student-list-row .student-cell{grid-column:1;grid-row:1;padding:0}.student-list-row .student-cell strong{font-size:14px}.student-list-row .student-cell small{font-size:12px}.student-list-row .avatar{width:32px;height:32px;font-size:12px}.student-contract-summary{grid-column:1;grid-row:2;margin-left:43px;font-size:12px}.student-contract-summary>small{display:inline;margin-left:8px;font-size:12px}.student-list-row>svg{grid-column:2;grid-row:1/3}.queue-row{padding:22px 18px;gap:11px}.queue-content h3{font-size:14px}.queue-content p{font-size:13px}.row-overline{font-size:12px}.queue-row>.btn{font-size:13px;margin-left:17px}.panel-note{font-size:12px;padding:18px;line-height:1.8}.history-row{padding:20px 17px;gap:11px;align-items:flex-start}.history-symbol{width:26px;height:29px}.history-content{flex-basis:calc(100% - 84px)}.history-heading>button{font-size:14px}.history-heading .badge{font-size:12px}.history-heading{gap:7px}.history-contract{font-size:12px}.history-content>small{font-size:12px;line-height:1.7}.history-reason{font-size:12px;padding-left:9px}.history-delta{font-size:18px;min-width:32px;gap:6px}.history-delta small{font-size:12px}.history-row>.btn{font-size:12px;padding:7px 10px}.page-footer{font-size:12px;gap:12px;align-items:flex-start;margin-top:25px}.page-footer>span:last-child{max-width:235px;text-align:right}.operation-banner{padding:14px;gap:10px}.operation-banner>svg{width:17px;height:17px}.operation-banner strong{font-size:13px}.operation-banner p{font-size:12px}.operation-banner .icon-button{width:27px;height:27px}.modal-inner{padding:21px}.dialog-heading h2{font-size:22px}.dialog-description{font-size:14px}.dialog-heading{gap:10px}.dialog-heading>.icon-button{width:32px;height:32px}.preview-row{padding:16px 13px;gap:12px}.preview-row>div:first-child strong{font-size:13px}.preview-row small{font-size:12px}.preview-row>div:first-child>span{font-size:12px}.preview-effect{grid-template-columns:22px 14px 22px;gap:5px}.preview-effect>span{font-size:18px}.preview-effect>strong{font-size:20px}.preview-effect small,.preview-total{font-size:12px}.preview-total strong{font-size:15px}.dialog-actions{flex-direction:column;align-items:stretch;gap:9px}.dialog-actions .btn{font-size:14px;width:100%}.field-hint{font-size:12px}.entity-navigation{gap:8px;margin-bottom:26px;flex-wrap:wrap}.entity-navigation>.text-link{font-size:13px}.entity-breadcrumb{font-size:12px;gap:1px;max-width:180px}.entity-navigation>.icon-button{margin-left:0}.entity-title h2{font-size:24px}.entity-title p{font-size:12px}.related-student{padding:13px}.related-student strong{font-size:14px}.related-student small,.entity-properties dt{font-size:12px}.entity-properties dd{font-size:13px}.entity-properties .badge{font-size:12px}.entity-section h3{font-size:14px}.context-explanation,.contract-link strong{font-size:13px}.contract-link small{font-size:12px}.entity-student-title{gap:13px}.entity-student-title h2{font-size:24px}.avatar-large{width:50px;height:50px;font-size:17px}.entity-student-title p{font-size:12px}.context-row{flex-wrap:wrap;gap:7px}.context-row>span:first-child{flex-basis:calc(100% - 26px)}.context-row .badge{order:3;font-size:12px}.context-row>svg{order:2}.context-row small{font-size:12px}.contract-metrics{gap:13px}.contract-metrics span{font-size:12px}.contract-metrics strong{font-size:29px}.entity-footer{font-size:12px}.material-body{font-size:14px}}.nav-resizer{position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;touch-action:none;z-index:1}.nav-resizer:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:transparent;transition:background .15s}.nav-resizer:hover:after,.nav-resizer:focus-visible:after,.nav-resizing .nav-resizer:after{background:#c9ced6}.nav-resizer:focus-visible{outline:none}.nav-resizing{cursor:col-resize;user-select:none}@media(min-width:761px){.app-shell.nav-sized .sidebar{width:var(--nav-width)}.app-shell.nav-sized .workspace{margin-left:var(--nav-width)}.app-shell.nav-sized.nav-hidden .workspace{margin-left:0}}@media(max-width:760px){.nav-resizer{display:none}}.schedule{display:grid;gap:12px}.schedule-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.schedule-nav,.schedule-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-nav h2{font-size:18px;font-weight:600;margin-left:6px;text-transform:capitalize}.schedule-hint{font-size:12.5px;color:var(--muted)}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.schedule-layout.panel-hidden{grid-template-columns:minmax(0,1fr)}.schedule-main{padding:0;overflow:hidden;position:relative}.edge-hint{position:absolute;top:0;bottom:0;width:52px;z-index:6;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--blue);background:linear-gradient(to right,#4c729f26,#4c729f00);opacity:.55}.edge-hint.is-left{left:0}.edge-hint.is-right{right:0;background:linear-gradient(to left,#4c729f26,#4c729f00)}.edge-hint.is-armed{opacity:1}.schedule-panel{padding:18px;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto}@media(max-width:1100px){.schedule-layout{grid-template-columns:1fr}.schedule-panel{position:static;max-height:none}}.google-chip{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12.5px;color:var(--muted);max-width:360px}.google-chip>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.google-chip strong{color:var(--ink);font-weight:600}.google-connected svg:first-child{color:var(--green)}.google-attention{border-color:#e6cfa2;background:#fffaf0}.text-button{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:4px;border-radius:6px;color:var(--blue);font-size:12.5px;white-space:nowrap}.text-button:hover:not(:disabled){background:#f1f4f8}.time-grid{max-height:calc(100dvh - 220px);min-height:420px;overflow:auto;position:relative}.time-grid-head,.time-grid-body{display:grid;min-width:max-content}.time-grid-head{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid var(--line)}.day-head{position:relative;border:0;border-left:1px solid var(--line);background:none;padding:8px 6px;display:flex;align-items:baseline;justify-content:center;gap:6px;color:var(--muted)}.day-head strong{font-size:17px;font-weight:600;color:var(--ink);min-width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%}.day-head.is-today strong{background:var(--blue);color:#fff}.day-head.is-selected{background:#f4f6f9}.review-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#c9893a}.hour-rail{position:relative}.hour-rail span{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;color:#9a9da3;font-variant-numeric:tabular-nums}.hour-rail span:first-child{transform:none}.day-column{position:relative;border-left:1px solid var(--line);user-select:none;touch-action:pan-y}.day-column.is-selected{background:#fafbfc}.slot{border-top:1px dashed #f0f1f3;background:#f6f7f9;cursor:cell}.slot.is-working{background:#fff}.day-column.is-selected .slot.is-working{background:#fcfdfe}.slot.is-hour{border-top:1px solid #ebecef}.slot:hover{background:#eef3f9}.slot.is-selecting{background:#dce7f4}.slot.is-drop{background:#d7e6f7}.lesson-block{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:1px;overflow:hidden;padding:3px 7px 2px;border:0;border-left:4px solid var(--lesson);border-radius:7px;background:color-mix(in srgb,var(--lesson) 17%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lesson) 30%,transparent),0 1px 2px #1f2a3a14;text-align:left;font-size:12.5px;line-height:1.25;color:color-mix(in srgb,var(--lesson) 35%,#161b26);-webkit-touch-callout:none;user-select:none}.lesson-block.is-movable{cursor:grab}.lesson-block:hover{background:color-mix(in srgb,var(--lesson) 24%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lesson) 40%,transparent),0 3px 10px #1f2a3a24}.lesson-block.is-active{outline:2px solid var(--lesson);outline-offset:1px;z-index:3}.lesson-block.is-dragging{opacity:.35}.lesson-block.is-resizing{outline:2px solid var(--lesson);outline-offset:1px;z-index:4}.lesson-grip{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize;touch-action:none}.lesson-grip:before{content:"";position:absolute;left:50%;bottom:2px;width:22px;height:3px;border-radius:2px;transform:translate(-50%);background:var(--lesson);opacity:0;transition:opacity .12s ease}.lesson-block:hover .lesson-grip:before,.lesson-block.is-active .lesson-grip:before,.lesson-block.is-resizing .lesson-grip:before{opacity:.85}body.schedule-dragging .lesson-grip,body.schedule-dragging .lesson-block.is-resizing{cursor:ns-resize!important}.lesson-block.is-confirmed{background:color-mix(in srgb,var(--lesson) 8%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lesson) 18%,transparent);color:#5f636a}.lesson-block.is-cancelled{background:#fff;box-shadow:inset 0 0 0 1px #e0e0e2;border-left-color:#c3c5c9;color:#9a9da3;text-decoration:line-through}.lesson-block.needs-review:after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:#c9893a}.block-time{display:inline-flex;align-items:center;line-height:1.15;white-space:nowrap;gap:4px;max-width:100%;overflow:hidden;font-weight:600;font-variant-numeric:tabular-nums}.block-time svg:last-child{color:var(--green)}.block-time b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-name{display:flex;align-items:center;gap:3px;font-weight:600;max-width:100%;min-width:0}.lesson-name>svg{flex:none}.lesson-name>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-width:0}.lesson-meta{color:color-mix(in srgb,var(--lesson) 45%,#6b717b);font-size:11px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.busy-block{position:absolute;left:3px;right:3px;z-index:1;padding:2px 6px;border-left:2px solid #dde0e5;border-radius:3px;background:#eceef180;color:#b3b8bf;font-size:10.5px;line-height:1.25;overflow:hidden;pointer-events:none}.drop-preview{position:absolute;left:2px;right:2px;z-index:3;border:2px dashed var(--blue);border-radius:6px;background:#4c729f14;pointer-events:none}.now-line{position:absolute;left:0;right:0;z-index:3;border-top:2px solid #d0473c;pointer-events:none}.now-line:before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:#d0473c}body.schedule-dragging,body.schedule-dragging *{cursor:grabbing!important}.drag-ghost,.selection-label{position:fixed;z-index:50;pointer-events:none;display:grid;gap:2px;padding:7px 10px;border-radius:8px;background:#22252b;color:#fff;font-size:12px;box-shadow:0 8px 24px #0003}.drag-ghost span{color:#c8ced8;font-variant-numeric:tabular-nums}.selection-label{left:50%;bottom:24px;transform:translate(-50%)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekday{padding:8px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.month-cell{position:relative;min-height:118px;padding:26px 4px 4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;cursor:pointer}.month-cell .lesson-block{position:relative;flex-direction:row;gap:5px;padding:1px 5px;font-size:11px}.month-cell.is-outside{background:#fafafa;color:#a4a7ad}.month-cell.is-selected{background:#f3f6fa}.month-cell.is-drop{background:#dce7f4}.month-date{position:absolute;top:5px;left:8px;font-size:13px;font-weight:600}.month-cell.is-today .month-date{color:#fff;background:var(--blue);border-radius:10px;padding:0 6px;left:4px}.month-more{font-size:11px;color:var(--muted);padding-left:4px}.panel-top{display:flex;align-items:center;justify-content:space-between}.lesson-panel,.day-panel{display:grid;gap:10px}.lesson-panel h4{margin:8px 0 0;font-size:13px;color:var(--muted);font-weight:600}.lesson-panel-title,.day-panel h3{font-size:20px;font-weight:600;text-transform:none}.lesson-panel-title{border-left:4px solid var(--lesson);padding-left:8px}.lesson-panel-time,.lesson-panel-line{display:flex;align-items:center;gap:6px;font-size:14px;color:#50545b}.sync-failed{color:#a3422f}.sync-synced{color:var(--green)}.lesson-panel-tags{display:flex;flex-wrap:wrap;gap:5px}.lesson-panel-note{font-size:13.5px;padding:8px 10px;background:#f6f7f8;border-radius:8px;white-space:pre-wrap}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.panel-participant{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:2px 8px;font-size:13px}.panel-participant .participant-meta{grid-column:2;font-size:11.5px;color:var(--muted)}.participant-meta:empty{display:none}.panel-participant.is-attended .link-button{color:#5d6168}.participant-state{color:var(--green);display:inline-grid}.link-button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;text-align:left;font-weight:500}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{opacity:1;cursor:default}.link-button i{width:8px;height:8px;border-radius:50%;flex:none}.day-panel-lesson{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;padding:8px 0;border-top:1px solid var(--line)}.day-panel-lesson.is-cancelled{opacity:.6}.day-panel-time{display:grid;align-content:start;gap:2px;border:0;border-left:3px solid var(--lesson);background:none;padding:0 0 0 6px;text-align:left;font-weight:600;font-variant-numeric:tabular-nums}.day-panel-time small{font-weight:400;font-size:11px;color:var(--muted)}.day-panel-lesson>div{display:grid;gap:6px}.review-box{display:grid;gap:8px;padding:12px;border-radius:10px;background:#fbf6ec;border:1px solid #efdfbf;font-size:13px}.review-box small{color:var(--muted)}.subtle-text{font-size:13px;color:var(--muted)}.schedule-toast{position:fixed;left:50%;bottom:24px;z-index:60;transform:translate(-50%);display:flex;align-items:center;gap:14px;min-width:280px;max-width:calc(100vw - 32px);padding:10px 12px 12px 16px;border-radius:10px;background:#22252b;color:#fff;font-size:13.5px;box-shadow:0 12px 32px #0004;overflow:hidden}.schedule-toast.is-error{background:#7d2d24}.schedule-toast .btn{background:#3b4049;border-color:#4d535d;color:#fff;min-height:32px;padding:4px 10px;font-size:13px}.schedule-toast .btn:hover:not(:disabled){background:#4b515b}.toast-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#7aa2d6;transform-origin:left;animation:toast-shrink linear forwards}@keyframes toast-shrink{to{transform:scaleX(0)}}.work-hours{display:grid;gap:8px;margin:14px 0}.work-hours-row{display:grid;grid-template-columns:80px 1fr auto 1fr;align-items:center;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0;padding:0;margin:16px 0 0;min-width:0}.form-wide{grid-column:1 / -1}.form-field{display:grid;gap:6px;min-width:0}.form-field>span{font-size:12.5px;font-weight:550;color:#55595f}.form-field small,.form-hint{font-size:12px;color:var(--muted)}.form-field input,.form-field select,.form-field textarea,.work-hours-row input,.duration-picker input{width:100%;min-height:38px;padding:7px 10px;border:1px solid #dcdee2;border-radius:8px;background:#fff;color:var(--ink)}.form-field textarea{resize:vertical}.form-check{display:flex;align-items:center;gap:8px;font-size:13.5px}.form-error,.form-note{margin-top:12px;padding:10px 12px;border-radius:8px;font-size:13px}.form-error{background:#fcefed;color:#8f3326}.form-error .form-error-action{display:flex;align-items:center;gap:6px;margin-top:8px}.form-note{background:#f4f6f9;color:#4d5561}.duration-picker{display:flex;flex-wrap:wrap;gap:6px}.duration-picker button{border:1px solid #dcdee2;background:#fff;border-radius:8px;padding:7px 10px;font-size:13px}.duration-picker button.selected{border-color:var(--blue);background:#eef3f9;color:#2f5580}.duration-picker input{width:90px}.participant-chips{display:flex;flex-wrap:wrap;gap:6px}.participant-chip{padding:4px 9px;border-radius:999px;border-left:4px solid var(--chip);background:#f3f4f6;font-size:13px}.cancel-box{display:grid;gap:10px;margin-top:16px;padding:12px;border-radius:10px;background:#fcf3f1}.btn-danger{background:#a3422f;border-color:#a3422f;color:#fff}.btn-danger:hover:not(:disabled){background:#8a3726}.push-left{margin-right:auto}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.move-consent{display:grid;gap:14px}.move-consent-title{margin:0;font-size:15px;font-weight:600}.move-consent-times{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:var(--surface-sunken, #f4f5f7)}.move-consent-times span{display:grid;gap:2px;font-size:12px;color:var(--muted, #6d737c)}.move-consent-times strong{font-size:15px;font-variant-numeric:tabular-nums;color:var(--ink)}.move-consent-times .was strong{text-decoration:line-through;color:#8b9099}.move-consent-times .will strong{color:var(--blue)}.move-consent-warning{display:flex;gap:10px;padding:12px;border-radius:10px;background:#fdf5ec;color:#7a4f1d;font-size:13px}.move-consent-warning ul{margin:4px 0 0;padding-left:16px;display:grid;gap:2px}.zoom-control{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px}.zoom-control span{min-width:42px;text-align:center;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.schedule.is-expanded{position:fixed;inset:0;z-index:60;margin:0;padding:12px 16px 16px;background:#f7f7f8;overflow:auto}.schedule.is-expanded .time-grid{max-height:calc(100dvh - 120px)}.lesson-block.is-picked{outline:2px solid #d0473c;outline-offset:1px;z-index:3}.lesson-block.is-picked:before{content:"✓";position:absolute;top:3px;right:4px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#d0473c;color:#fff;font-size:10px;font-weight:700}.pick-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;padding:8px 10px 8px 14px;border:1px solid #f0d2cf;border-radius:10px;background:#fdf5f4;font-size:13px}.pick-bar>span{margin-right:auto;color:#5f636a}.modal:has(.lesson-form){width:700px}.repeat-picker,.scope-picker{display:grid;gap:8px}.repeat-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.repeat-picker .segmented,.scope-picker .segmented{flex-wrap:wrap;justify-self:start}.repeat-days-label{margin-top:2px}.weekday-picker{display:flex;flex-wrap:wrap;gap:6px}.weekday-picker button{min-width:44px;border:1px solid #dcdee2;background:#fff;border-radius:8px;padding:7px 10px;font-size:13px}.weekday-picker button.selected{border-color:var(--blue);background:#eef3f9;color:#2f5580}.weekday-picker button:disabled{opacity:1;cursor:default;font-weight:600}.weeks-input{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#55595f}.form-field .weeks-input input{width:76px}.dashboard-finance{display:grid;gap:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{font-size:16px;font-weight:550}.section-heading p{font-size:13px;color:var(--muted);margin-top:5px}.section-heading-actions{display:flex;align-items:center;gap:14px}.subtle-label{font-size:12px;color:#9398a1}.finance-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:14px}.finance-metric{padding:21px 22px;min-width:0}.finance-metric>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#747c87;font-size:13px;min-height:32px}.finance-metric>div svg{color:#98a2af}.finance-metric>strong{display:block;font-size:29px;font-weight:550;line-height:1.5;margin-top:9px;font-variant-numeric:tabular-nums;letter-spacing:-.7px;white-space:nowrap}.finance-metric>small{font-size:12px;color:#9499a0;display:block;margin-top:5px;line-height:1.5}.finance-metric-primary{background:#f3f7fc;border-color:#dce6f2}.finance-metric-primary>strong{color:#3b6088}.finance-metric-primary>div svg{color:#6d90b7}.operational-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:4px 0}.operational-strip>button{border:0;border-right:1px solid #e0e3e8;background:none;padding:6px 16px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:left}.operational-strip>button:first-child{padding-left:0}.operational-strip>button:last-child{border-right:0;padding-right:0}.operational-strip>button>svg{color:#8b929c}.operational-strip>button>strong{font-size:20px;font-weight:550}.operational-strip>button>span{font-size:12px;color:#737b87;line-height:1.45;max-width:150px}.operational-strip>button>svg:last-child{margin-left:auto}.dashboard-chart-region{min-width:0}.dashboard-chart-region>.section-heading{margin-bottom:12px}.cash-chart-panel{overflow:hidden}.cash-chart-panel .panel-header{padding:24px 26px 0}.cash-chart{height:230px;display:flex;margin:25px 26px 0;gap:15px}.cash-chart-axis{position:relative;width:65px;flex-shrink:0;height:200px;color:#9097a1;font-size:12px}.cash-chart-axis>span{position:absolute;right:0;white-space:nowrap;transform:translateY(-50%)}.cash-chart-axis>span:nth-child(1){top:7%}.cash-chart-axis>span:nth-child(2){top:50%}.cash-chart-axis>span:nth-child(3){top:93%}.cash-chart-plot{position:relative;flex:1;min-width:0;height:200px}.cash-gridline{position:absolute;left:0;right:0;border-top:1px dashed #e9ecf0}.cash-gridline.top{top:7%}.cash-gridline.zero{top:50%;border-top-style:solid;border-color:#dce2ea}.cash-gridline.bottom{top:93%}.cash-bars{display:flex;justify-content:space-around;gap:12px;height:100%;position:relative}.cash-day{position:relative;flex:1;border:0;background:transparent;min-width:0;border-radius:5px;padding:0;max-width:90px}.cash-day:hover,.cash-day:focus-visible{background:#486e9e05}.cash-bar{position:absolute;left:30%;width:40%;max-width:30px;background:#7d9fc7;border-radius:4px 4px 0 0;min-height:0}.cash-bar-negative{background:#b5beca;border-radius:0 0 4px 4px}.cash-day-label{position:absolute;top:100%;left:50%;transform:translate(-50%);padding-top:13px;font-size:12px;color:#969ca5;text-transform:capitalize}.cash-bars-dense{gap:3px}.cash-bars-dense .cash-bar{width:55%;left:23%;border-radius:3px}.cash-chart-detail{height:50px;border-top:1px solid #f0f1f3;margin:0 26px;display:flex;align-items:center;justify-content:center;gap:15px;font-size:12px;color:#8e96a0}.cash-chart-detail strong{color:#57789f;font-weight:500}.lesson-period-totals{display:flex;gap:25px;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 20px;font-size:12px;color:var(--muted)}.lesson-period-totals strong{margin-left:7px;font-size:14px;font-weight:550;color:var(--ink)}.dashboard-finance .chart-panel .panel-header{gap:16px}.dashboard-finance .bar-confirmed,.dashboard-finance .legend-confirmed{background:#779ac4}.cash-journal{padding:0 24px 9px}.cash-journal-head,.cash-journal-row{display:grid;grid-template-columns:85px 110px minmax(0,1fr) 130px 16px;align-items:center;gap:16px}.cash-journal-head{padding:12px 0;color:#9399a2;font-size:12px;border-bottom:1px solid var(--line)}.cash-journal-head>span:nth-child(4){text-align:right}.cash-journal-row{padding:16px 0;background:transparent;border:0;border-bottom:1px solid #eef0f3;width:100%;text-align:left}.cash-journal-row:last-child{border-bottom:0}.cash-journal-row:hover .cash-party>strong{color:var(--blue)}.cash-date{font-size:13px;color:#828a96}.cash-kind{font-size:13px;display:flex;align-items:center;gap:8px}.cash-kind-dot{height:6px;width:6px;border-radius:50%;background:#aab2bf;flex-shrink:0}.cash-kind-payment{background:#7e9fc4}.cash-kind-refund{background:#bdad94}.cash-party{min-width:0}.cash-party strong{font-size:14px;display:block;font-weight:500;overflow-wrap:anywhere}.cash-party small{display:block;font-size:12px;color:#979da5;margin-top:4px;line-height:1.4}.cash-amount{font-size:14px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cash-amount-positive{color:#4e6f96}.cash-journal-row>svg{color:#a5acb7}.cash-receipt-amount{font-size:32px;font-weight:550;letter-spacing:-1px;margin:24px 0;color:#456b95}.cash-note{padding:16px 18px;background:#f7f8fa;border-radius:8px;font-size:14px;line-height:1.7;margin:20px 0}.preview-date{font-size:14px;color:var(--blue);font-weight:500;margin:8px 0;text-transform:capitalize}.sidebar .nav-item.active{background:#edf3fb;color:#426891}.sidebar .nav-item.active .nav-count{background:#dce8f6;color:#426891}.segmented button.selected{background:#eaf1fa!important;color:#416b99!important;box-shadow:none!important}.attendance-check input:checked+span{background:var(--blue)!important;border-color:var(--blue)!important}@media(max-width:1200px){.finance-metrics{gap:11px}.finance-metric{padding:18px}.finance-metric>strong{font-size:25px}.operational-strip>button{padding-inline:12px;gap:8px}.operational-strip>button>svg:last-child{display:none}}@media(max-width:1000px){.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-metric>strong{font-size:29px}.operational-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0}.operational-strip>button:nth-child(2){border:0}.operational-strip>button:first-child,.operational-strip>button:last-child{padding-inline:12px}.operational-strip>button>span{max-width:none}.cash-journal-head,.cash-journal-row{grid-template-columns:60px 88px minmax(0,1fr) 106px 12px;gap:12px}.cash-journal{padding-inline:18px}}@media(max-width:650px){.dashboard-finance{gap:20px}.finance-metrics{gap:10px}.finance-metric{padding:15px 13px}.finance-metric>div{font-size:12px;min-height:35px;gap:4px}.finance-metric>div svg{width:14px;height:14px}.finance-metric>strong{font-size:23px;letter-spacing:-.6px;margin-top:5px}.finance-metric>small{font-size:12px;min-height:36px}.section-heading-actions{gap:8px}.section-heading-actions .subtle-label{display:none}.operational-strip>button{gap:7px;padding-inline:9px}.operational-strip>button>strong{font-size:18px}.operational-strip>button>svg{width:14px}.operational-strip>button>span{font-size:12px}.cash-chart-panel .panel-header{padding:20px 16px 0}.cash-chart{margin:24px 16px 0;gap:7px;height:215px}.cash-chart-axis{width:52px;font-size:12px;height:185px}.cash-chart-plot{height:185px}.cash-bars{gap:5px}.cash-bar{left:25%;width:50%}.cash-bars-dense{gap:1px}.cash-day-label{font-size:12px}.cash-chart-detail{margin:0 16px;font-size:12px;line-height:1.5;text-align:center}.cash-journal{padding:0 16px 6px}.cash-journal-head{display:none}.cash-journal-row{grid-template-columns:58px minmax(0,1fr) auto;gap:6px 10px;padding:16px 0}.cash-date{grid-column:1;grid-row:1;font-size:12px}.cash-kind{grid-column:1;grid-row:2;font-size:12px;gap:4px}.cash-kind-dot{height:4px;width:4px}.cash-party{grid-column:2;grid-row:1/3}.cash-party strong{font-size:13px}.cash-amount{grid-column:3;grid-row:1/3;font-size:13px}.cash-journal-row>svg{display:none}.dashboard-finance .recent-panel>.panel-header{align-items:flex-start;gap:10px}.dashboard-finance .recent-panel>.panel-header>.data-caption{max-width:64px;text-align:right;font-size:12px}.lesson-period-totals{justify-content:flex-start;gap:12px 22px}.dashboard-finance .chart-panel .panel-header{align-items:flex-start;flex-direction:column}}.db-section{display:grid;gap:12px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(186px,1fr));gap:12px}.stat-card{display:flex;align-items:stretch;gap:12px;padding:16px 18px;min-width:0}.stat-card>div{min-width:0;display:flex;flex-direction:column}.stat-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;background:#f1f2f4;color:#7d858f}.stat-label{display:block;font-size:12.5px;line-height:1.35;color:#747c87;min-height:2.7em}.stat-value{display:block;margin-top:4px;font-size:22px;font-weight:550;line-height:1.3;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.stat-card small{display:block;margin-top:auto;padding-top:6px;font-size:11.5px;color:#9499a0;line-height:1.45}.stat-card.is-gold{background:#fbf8f2;border-color:#eee3d0}.stat-card.is-gold .stat-icon{background:#f3e8d4;color:var(--amber)}.stat-card.is-gold .stat-value{color:#6f5a33}.stat-card.is-warn{background:#fdf5ec;border-color:#eed9bd}.stat-card.is-warn .stat-icon,.stat-card.is-warn .stat-value{color:#a4642a}.stat-card.is-bad .stat-value{color:#a3422f}.next-lesson{max-width:340px;display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;color:var(--ink);text-align:left}.next-lesson:hover{border-color:#cfd6df}.next-lesson small{display:block;color:var(--muted);font-size:11.5px}.next-lesson svg:first-child{color:var(--blue)}.dashboard-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;align-items:start}.dashboard-single{display:grid;gap:14px}@media(max-width:960px){.dashboard-split{grid-template-columns:1fr}}.legend-received{background:var(--green)}.legend-expenses{background:#b57a51}.trend-chart{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;padding:20px 25px 22px}.trend-month{display:grid;gap:6px;justify-items:center}.trend-bars{display:flex;align-items:flex-end;gap:4px;height:104px;width:100%;justify-content:center;border-bottom:1px solid var(--line)}.trend-bars i{width:26px;max-width:22%;min-height:2px;border-radius:4px 4px 0 0}.bar-received{background:var(--green)}.bar-expenses{background:#b57a51}.trend-label{font-size:11.5px;color:var(--muted)}.trend-net{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.trend-net.is-negative{color:#a3422f}.subject-mix{display:grid;gap:12px;padding:20px 25px 22px;list-style:none;margin:0}.subject-mix li{display:grid;grid-template-columns:10px minmax(72px,auto) minmax(0,1fr) auto;align-items:center;gap:9px;font-size:12.5px}.subject-dot{width:9px;height:9px;border-radius:50%}.subject-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject-bar{height:7px;border-radius:4px;background:#f0f1f3;overflow:hidden}.subject-bar i{display:block;height:100%;border-radius:4px}.subject-value{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.extensions-page{display:grid;gap:18px}.foundation-card{padding:20px 22px;display:grid;gap:14px}.foundation-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.foundation-head h2{font-size:16px;font-weight:600}.foundation-head p{margin-top:3px;font-size:12.5px;color:var(--muted)}.foundation-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px 16px;margin:0;padding:0;list-style:none;font-size:12.5px;color:var(--muted)}.foundation-parts li{display:flex;align-items:center;gap:6px}.foundation-parts svg{color:var(--green);flex:none}.extension-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.extension-card{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.extension-card.is-on{border-color:#cfdccf}.extension-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.extension-head h3{font-size:15px;font-weight:600}.extension-head p{margin-top:3px;font-size:12.5px;color:var(--muted);line-height:1.45}.extension-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;color:#9499a0}.extension-card .btn{align-self:flex-start;margin-top:auto}.signin-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.signin-card{width:min(400px,100%);padding:30px 32px;display:grid;gap:14px}.signin-brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:650;letter-spacing:-1px}.signin-card h1{font-size:22px;font-weight:600;margin-top:6px}.signin-hint{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:-8px}.signin-error{font-size:12.5px;color:#a3422f}.signin-card .btn{justify-content:center}.signin-demo{justify-self:center}.settings-page{display:grid;gap:22px;max-width:720px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:12px}@media(max-width:640px){.settings-page{padding:16px}.settings-day{grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px}}.settings-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}.settings-head p{margin-top:4px;font-size:13px;color:var(--muted)}.settings-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.settings-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:0}.settings-facts dt{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.settings-facts dd{margin:4px 0 0;font-size:13.5px;overflow-wrap:anywhere}.settings-actions{display:flex;flex-wrap:wrap;gap:10px}.members-page{display:grid;gap:14px}.member-table{padding:0;overflow:auto;scrollbar-gutter:stable}.member-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.member-table th{text-align:left;font-weight:550;font-size:12px;color:#686c73;padding:11px 14px;background:#fafafb;border-bottom:1px solid var(--line);white-space:nowrap}.member-table td{padding:10px 14px;height:48px;border-bottom:1px solid #f0f1f3;vertical-align:middle}.member-table tr:last-child td{border-bottom:0}.member-table td.strong{font-weight:600}.chip-row{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}.row-actions{display:inline-flex;gap:6px;justify-content:flex-end}.member-form{display:grid;gap:14px}.chip-field{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}.chip-field legend{width:100%;font-size:12px;color:var(--muted);margin-bottom:7px}.chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 12px;font-size:12.5px;color:var(--ink)}.chip:hover{border-color:#cfd6df}.chip.selected{border-color:color-mix(in srgb,var(--chip, #4c729f) 55%,white);background:color-mix(in srgb,var(--chip, #4c729f) 14%,white);font-weight:550}.field-hint.is-error{color:#a3422f}.form-field>.credential-input,.credential-input{position:relative;display:block;font-size:inherit;font-weight:inherit;color:inherit}.credential-input input{padding-right:42px}.credential-input .icon-button{position:absolute;top:4px;right:4px;width:30px;height:30px;border:0;background:transparent}.credential-input .icon-button:hover{background:#f1f2f4}.credential-input input.is-mono,.credential-sheet dd,.access-value{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.3px}.member-form>.field-hint{margin:-4px 0 0;line-height:1.5}.credential-sheet{margin:0;display:grid;gap:1px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}.credential-sheet>div{display:flex;align-items:baseline;gap:16px;padding:12px 14px;background:#fafafb}.credential-sheet dt{width:64px;font-size:12.5px;color:var(--muted)}.credential-sheet dd{margin:0;font-size:15px;color:var(--ink);word-break:break-all}.access-menu{position:relative}.access-trigger{display:inline-flex;align-items:center;gap:7px}.access-chevron{color:var(--muted);transition:transform .15s}.access-trigger[aria-expanded=true] .access-chevron{transform:rotate(180deg)}.access-popover{position:absolute;z-index:40;top:calc(100% + 6px);right:0;width:min(320px,calc(100vw - 32px));padding:12px;display:grid;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #14181e1a}.access-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:550;color:#55595f}.access-row{display:flex;align-items:center;gap:6px;min-height:34px}.access-label{width:58px;flex-shrink:0;font-size:12.5px;color:var(--muted)}.access-value{flex:1;min-width:0;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-value.is-masked{color:var(--muted)}.access-row .icon-button{width:30px;height:30px;flex-shrink:0}.access-draft{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.access-draft input{width:100%;min-height:36px;padding:6px 42px 6px 10px;border:1px solid #dcdee2;border-radius:8px;background:#fff;color:var(--ink)}.access-note{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.access-note.is-error{color:#a3422f}.access-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.access-draft .access-actions{justify-content:flex-end;border-top:0;padding-top:0}.copy-done{color:var(--green)}.cabinet-shell{min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr)}.cabinet-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 28px;border-bottom:1px solid var(--line);background:#fff}.cabinet-identity{display:flex;align-items:center;gap:12px}.cabinet-identity strong{display:block;font-size:15px}.cabinet-identity small{color:var(--muted);font-size:12px}.cabinet-top-actions{display:flex;align-items:center;gap:14px}.cabinet-main{padding:22px 28px 40px;display:grid;gap:16px;align-content:start;max-width:1100px;width:100%;margin:0 auto}.cabinet-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.cabinet-panel{padding-bottom:8px}.cabinet-list,.cabinet-children{list-style:none;margin:0;padding:12px 25px 16px;display:grid;gap:2px}.cabinet-list li,.cabinet-children li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f1f3;font-size:13px}.cabinet-list li:last-child,.cabinet-children li:last-child{border-bottom:0}.cabinet-list li>div{min-width:0;flex:1}.cabinet-list strong{display:block;font-variant-numeric:tabular-nums}.cabinet-list small{color:var(--muted);font-size:12px}.cabinet-amount{font-variant-numeric:tabular-nums;color:var(--green);white-space:nowrap}.cabinet-amount.is-negative{color:#a3422f}.cabinet-balance{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}@media(max-width:640px){.cabinet-top,.cabinet-main{padding-left:16px;padding-right:16px}}.members-actions{display:flex;justify-content:flex-end}.subject-chip{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--chip) 16%,white);border:1px solid color-mix(in srgb,var(--chip) 40%,white);font-size:12px}.profile{padding-top:14px}.account-menu{position:relative;min-width:0;width:100%}.cabinet-top .account-menu{width:auto}.account-trigger{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:7px 8px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:#f4f5f6;border-color:var(--line)}.account-trigger>svg{flex-shrink:0;color:var(--muted);margin-left:auto}.account-trigger-text{min-width:0;display:grid}.account-trigger-text strong,.account-row strong{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-trigger-text small,.account-row small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover{position:absolute;z-index:40;width:min(260px,calc(100vw - 32px));padding:4px;display:grid;gap:1px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 18px #14181e14}.account-menu.is-up .account-popover{bottom:calc(100% + 6px);left:0}.account-menu.is-down .account-popover{top:calc(100% + 6px);right:0}.account-popover ul,.saved-accounts ul{list-style:none;margin:0;padding:0;display:grid;gap:1px}.account-row{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:7px 9px;border:0;border-radius:7px;background:transparent;text-align:left}.account-row>span{display:grid;min-width:0;flex:1}.account-row:hover:not(:disabled){background:#f5f5f6}.account-current{color:var(--blue);flex-shrink:0}.account-popover-actions{display:grid;gap:1px;border-top:1px solid var(--line);padding-top:4px;margin-top:3px}.account-action{display:flex;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:7px;background:transparent;font-size:13px;text-align:left}.account-action:hover:not(:disabled){background:#f5f5f6}.account-action.is-danger{color:#a3422f}.saved-accounts{display:grid;gap:8px}.saved-accounts-title,.saved-accounts-or{font-size:12px;color:var(--muted)}.saved-accounts-or{text-align:center;margin-top:4px}.saved-accounts li{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:8px;padding-right:4px}.settings-block{display:grid;gap:12px;padding:0 0 22px;border-bottom:1px solid var(--line)}.settings-page>.settings-block:last-child{border-bottom:0}.settings-block-head h2{font-size:15px;font-weight:600}.settings-block-head p{margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--muted)}.settings-alert{font-size:13px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.settings-alert.is-error{color:#a3422f;border-color:color-mix(in srgb,#a3422f 30%,white)}.settings-rows{list-style:none;margin:0;padding:0;display:grid}.settings-rows li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f1f2f3;font-size:13px}.settings-rows li:last-child{border-bottom:0}.settings-rows li>span:first-child{display:grid;flex:1;min-width:0}.settings-rows strong{font-weight:550}.settings-rows small{font-size:12px;color:var(--muted)}.settings-current{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.settings-week{display:grid;gap:2px;max-width:460px}.settings-day{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;font-size:13px}.settings-day input[type=time]{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff}.settings-day input[type=time]:disabled{color:#b3b6bb;background:#fafafa}.settings-chips{display:flex;flex-wrap:wrap;gap:6px}.subject-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;color:var(--muted)}.subject-toggle.is-on{color:var(--ink);border-color:color-mix(in srgb,var(--chip) 45%,white);background:color-mix(in srgb,var(--chip) 12%,white)}.subject-toggle:disabled{opacity:.55}.settings-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.settings-inline-form input[type=text],.settings-inline-form input:not([type]){flex:1;min-width:200px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.settings-inline-form input[type=color]{width:38px;height:34px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff}.text-button.is-danger{color:#a3422f}.cabinet-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.child-filter{display:flex;flex-wrap:wrap;gap:6px}.child-filter button{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px}.child-filter .subject-dot{background:var(--chip)}.child-filter button.selected{border-color:color-mix(in srgb,var(--chip, var(--blue)) 55%,white);background:color-mix(in srgb,var(--chip, var(--blue)) 12%,white);font-weight:550}.profile-card{padding:22px 24px;display:grid;gap:18px}.profile-card h2{font-size:17px;font-weight:600}.profile-card-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.profile-card-head .subject-dot{width:12px;height:12px}.profile-card-head p{margin-top:3px;font-size:13px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 28px}.profile-block{display:grid;gap:10px;align-content:start}.profile-block h3{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--muted)}.profile-facts{margin:0;display:grid;gap:8px}.profile-facts+.profile-facts{padding-top:10px;border-top:1px solid #f0f1f3}.profile-facts>div{display:grid;grid-template-columns:minmax(110px,40%) minmax(0,1fr);gap:10px;font-size:13px}.profile-facts dt{color:var(--muted)}.profile-facts dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.profile-facts dd.is-negative{color:#a3422f}.profile-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.profile-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px}.profile-list small{color:var(--muted);font-size:12px}@media(max-width:640px){.profile-card{padding:18px 16px}.profile-facts>div{grid-template-columns:1fr;gap:2px}.cabinet-top .account-trigger-text{display:none}}.extension-card.is-wide{grid-column:1 / -1}.calendar-import{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:14px}.calendar-import .btn,.import-checklist .btn{margin-top:0;align-self:auto}.import-start{display:grid;gap:10px;justify-items:start;font-size:13px;color:var(--muted)}.import-checklist{display:grid;gap:8px;justify-items:start;border-top:1px solid var(--line);padding-top:14px;font-size:13px}.import-checklist ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.import-checklist li{display:flex;align-items:center;gap:6px;color:#a0525a}.import-checklist li.is-done{color:#4c7a5c}.import-list{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:10px}.import-list li{display:grid;grid-template-columns:auto minmax(0,2fr) minmax(0,1.2fr) minmax(0,1.2fr);gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);opacity:.55}.import-list li.is-picked{opacity:1}.import-list li:last-child{border-bottom:0}.import-person,.import-lessons,.import-subject{display:grid;gap:3px;min-width:0;font-size:13px}.import-person small,.import-lessons small,.import-subject small,.import-subject span{font-size:11.5px;color:var(--muted)}.import-names{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.import-names input,.import-subject input{min-width:0;width:9em;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font:inherit}.import-subject input{width:100%}.import-ignored{font-size:12.5px;color:var(--muted)}.import-ignored ul,.import-skipped{margin:6px 0 0;padding-left:18px;display:grid;gap:2px}.import-offer{display:grid;gap:10px;justify-items:start}.import-offer h2{font-size:18px}.import-offer p{font-size:13.5px;line-height:1.5}.import-offer .dialog-actions{justify-self:stretch}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.settings-rows li.gemini-row{flex-wrap:wrap}.gemini-row strong{display:inline-flex;align-items:center;gap:5px}.gemini-form{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:end;padding-top:6px}.gemini-form .row-actions{grid-column:1 / -1}.settings-rows li.gemini-row>.field-hint{flex-basis:100%}@media(max-width:720px){.import-list li{grid-template-columns:auto minmax(0,1fr)}.import-subject,.import-lessons{grid-column:2}}.ai-access{flex-basis:100%;display:grid;gap:8px;padding:8px 0 2px}.ai-access-rows{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:8px}.ai-access-rows li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line)}.ai-access-rows li:last-child{border-bottom:0}.ai-access-rows li>span:first-child{display:grid;flex:1;min-width:0}.ai-access-rows small{font-size:11.5px;color:var(--muted)}.token-input{display:inline-flex;align-items:center;gap:6px}.token-input input{width:11em;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font:inherit;text-align:right}.reconcile{display:grid;gap:18px}.reconcile section{display:grid;gap:8px;justify-items:start}.reconcile h3{font-size:14px;font-weight:600}.reconcile .calendar-import,.reconcile .import-checklist{border-top:0;padding-top:0;width:100%}.key-input{display:flex;align-items:center;gap:6px}.key-input input{flex:1;min-width:0}.redirect-uri code{font-size:11.5px;overflow-wrap:anywhere}.stat-grid-compact{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.dashboard-lessons .chart-panel .period-select{flex:none}.week-board{padding:18px 20px 14px;display:grid;gap:12px}.week-legend{display:flex;gap:12px;font-size:12px;color:var(--muted)}.week-legend span{display:inline-flex;align-items:center;gap:5px}.week-legend i{width:10px;height:10px;border-radius:3px;background:#cfd6df}.week-legend i.is-confirmed{background:#7d9c8d}.week-legend i.is-scheduled{background:#fff;border:1.5px solid #8ea3bd}.week-legend i.is-cancelled{background:repeating-linear-gradient(135deg,#e3e5e8 0 3px,#f6f7f8 3px 6px)}.week-grid{display:grid;grid-template-columns:38px repeat(7,minmax(0,1fr));gap:6px;min-height:300px}.week-axis{position:relative;margin-top:26px;font-size:10.5px;color:#a0a5ac;font-variant-numeric:tabular-nums}.week-axis span{position:absolute;right:4px;transform:translateY(-50%)}.week-day{display:grid;grid-template-rows:20px minmax(0,1fr);gap:6px;min-width:0}.week-day-label{font-size:12px;color:var(--muted);text-align:center}.week-day-label strong{color:var(--ink);font-weight:600}.week-day.is-today .week-day-label strong{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--ink);color:#fff}.week-day-lane{position:relative;min-height:260px;border-radius:9px;background:repeating-linear-gradient(180deg,transparent 0 calc(12.5% - 1px),#eef0f2 calc(12.5% - 1px) 12.5%),#fafbfb}.week-day.is-today .week-day-lane{background:repeating-linear-gradient(180deg,transparent 0 calc(12.5% - 1px),#e6ebf1 calc(12.5% - 1px) 12.5%),#f4f7fa}.week-lesson{position:absolute;left:3px;right:3px;min-height:18px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:2px 5px;border:1.5px solid var(--lesson);border-left-width:4px;border-radius:6px;background:#fff;font-size:10.5px;line-height:1.25;text-align:left;transition:transform .12s ease,box-shadow .12s ease}.week-lesson span{color:var(--muted);font-variant-numeric:tabular-nums}.week-lesson strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.week-lesson.is-confirmed,.week-lesson.is-partial{background:color-mix(in srgb,var(--lesson) 18%,#fff)}.week-lesson.is-cancelled{opacity:.55;border-style:dashed;text-decoration:line-through}.week-lesson:hover,.week-lesson:focus-visible{z-index:2;transform:scale(1.03);box-shadow:0 6px 16px #22232524}.week-day.is-past .week-lesson.is-scheduled{border-style:dotted}.attention-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.attention-list li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px}.attention-list .link-button i{width:8px;height:8px;border-radius:50%}.attention-list .muted{font-size:12px;text-align:right}@media(max-width:760px){.week-grid{grid-template-columns:30px repeat(7,minmax(34px,1fr));overflow-x:auto}.week-lesson strong,.week-legend{display:none}}.students-board{display:grid;gap:12px}.board-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:13.5px;color:var(--muted)}.board-summary strong{color:var(--ink);font-weight:600}.board-summary .is-alert strong{color:#a3422f}.board-summary .is-warning strong{color:#9a6b1f}.push-right{margin-left:auto}.board-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px}.board-filters select{min-height:36px;border:1px solid #dcdee2;border-radius:8px;padding:5px 8px;background:#fff}.board-search{display:flex;align-items:center;gap:6px;flex:1 1 240px;min-height:36px;padding:0 10px;border:1px solid #dcdee2;border-radius:8px;color:var(--muted)}.board-search input{border:0;outline:0;width:100%;background:none}.board-table{padding:0;overflow:auto;scrollbar-gutter:stable;max-height:calc(100dvh - 260px)}.board-table th:last-child,.board-table td:last-child{padding-right:20px}.board-table table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px}.board-table th{position:sticky;top:0;z-index:2;background:#fafafb;text-align:left;font-weight:550;font-size:12px;color:#686c73;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.board-table td{padding:8px 10px;height:44px;border-bottom:1px solid #f0f1f3;white-space:nowrap;background:#fff;vertical-align:middle}.board-table td.wrap{white-space:normal;min-width:160px;max-width:240px}.board-table td.num{text-align:right;font-variant-numeric:tabular-nums}.board-table td small{color:var(--muted)}.board-table .sticky-col{position:sticky;left:0;z-index:1;min-width:120px}.board-table .sticky-col.second{left:120px;min-width:100px;box-shadow:1px 0 0 var(--line)}.board-table th.sticky-col{z-index:3}.board-table td.strong{font-weight:600}.board-row{cursor:pointer}.board-row:hover td{background:#f5f7fa}.board-row.is-marked td:first-child{box-shadow:inset 4px 0 0 var(--row)}.board-row.is-debt td{background:#fdf1ef}.board-row.is-debt:not(.is-marked) td:first-child{box-shadow:inset 4px 0 #c65a47}.board-row.is-shortfall:not(.is-marked) td:first-child{box-shadow:inset 4px 0 #d6a042}.board-row.is-inactive td{color:#9a9da3}.is-warning{color:#9a6b1f}.muted{color:#a4a7ad}.balance{font-weight:600}.balance.is-low{color:#9a6b1f}.balance.is-negative{color:#a3422f}.need-review{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;border-radius:9px;background:#fbeed6;color:#8a5c15;font-size:11px;font-weight:600}.subject-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.subject-chips span{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--chip) 16%,white);border:1px solid color-mix(in srgb,var(--chip) 40%,white);font-size:12px}.subject-chips .group-chip{background:#f1f2f4;border-color:#e1e3e6;color:#5d6168}.status-pill{display:inline-block;padding:2px 8px;margin-right:4px;border-radius:6px;font-size:12px;background:#f1f2f4;color:#5d6168}.status-active{background:#e8f1ec;color:#2f5c45}.status-none{background:#fbeed6;color:#8a5c15}.status-ambiguous{background:#fcefed;color:#8f3326}.status-external{background:#ecf0f7;color:#3c5c86}.form-section{margin:8px 0 -4px;padding-top:10px;border-top:1px solid var(--line);font-size:14px;font-weight:600}.form-section:first-child{border-top:0;padding-top:0}.color-field>div{display:flex;align-items:center;gap:8px}.color-field input[type=color]{width:44px;min-height:34px;padding:2px}.subject-picker{display:flex;flex-wrap:wrap;gap:8px}.subject-option{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #dcdee2;border-left:4px solid var(--chip);border-radius:8px;font-size:13px}.subject-option label{display:inline-flex;align-items:center;gap:6px}.subject-option.is-on{background:color-mix(in srgb,var(--chip) 10%,white)}.subject-option input[type=color]{width:26px;height:22px;padding:0;border:0;background:none}.subject-new{display:inline-flex;align-items:center;gap:4px}.subject-new input{min-height:32px;padding:4px 8px;border:1px dashed #cfd2d7;border-radius:8px}.guardian-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 110px 36px;gap:6px}.guardian-row input,.guardian-row select,.guardian-actions select{min-height:36px;min-width:0;padding:5px 8px;border:1px solid #dcdee2;border-radius:8px;background:#fff}.guardian-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}@media(max-width:720px){.guardian-row{grid-template-columns:1fr 1fr}}.student-card-head{display:flex;align-items:center;gap:14px}.student-card-head>div{flex:1;min-width:0}.student-card-head h2{font-size:22px}.student-card-head p{color:var(--muted);font-size:13.5px}.card-tabs{display:flex;gap:4px;margin:16px 0 12px;border-bottom:1px solid var(--line)}.card-tabs button{border:0;background:none;padding:9px 12px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.card-tabs button.selected{color:var(--ink);font-weight:600;border-bottom-color:var(--blue)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px 22px;margin:0}.card-empty{margin:12px 0 0;font-size:12.5px;color:var(--muted)}.card-grid div{min-width:0}.card-grid dt{font-size:12.5px;color:var(--muted)}.card-grid dd{margin:3px 0 0;font-size:15px;overflow-wrap:anywhere;white-space:pre-wrap}.card-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:18px}.card-metrics div{padding:12px 14px;border:1px solid var(--line);border-radius:10px}.card-metrics span{display:block;font-size:12px;line-height:1.35;color:var(--muted);min-height:2.7em}.card-metrics strong{font-size:18px;font-weight:600}.card-metrics .is-negative{color:#a3422f}.shortfall-banner{margin:12px 0;padding:10px 12px;border-radius:10px;font-size:13px;background:#f4f6f9}.shortfall-banner.is-active{background:#fbf3e4;color:#7a5313}.card-list{display:grid;gap:2px}.card-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f1f3;font-size:13.5px}.card-list-row small{display:block;color:var(--muted);font-size:12px}.card-list-row button{text-align:left}.attendance-mark{font-size:12px;padding:2px 8px;border-radius:6px;background:#f1f2f4}.attendance-mark.is-attended{background:#e8f1ec;color:#2f5c45}.attendance-mark.is-open{background:#fbeed6;color:#8a5c15}.inline-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end;margin-top:10px}.board-tabs{align-self:flex-start}.card-section{display:grid;gap:8px;margin-top:18px}.card-section h3{font-size:13px;font-weight:600;color:var(--muted)}.card-section .card-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f0f1f3;font-size:13.5px;list-style:none}.card-section .card-list li:last-child{border-bottom:0}.card-section .card-list .num{margin-left:auto;color:var(--muted);font-size:12.5px}.contact-item{display:block;font-size:12.5px}.subject-chip.is-button{cursor:pointer}.staff-agreement{display:grid;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.staff-agreement legend{font-size:12px;color:var(--muted);padding:0 4px}.time-pair{display:flex;gap:6px}.time-pair input{flex:1;min-width:0}.shifts-board{display:grid;gap:14px}.shift-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 14px}.shift-form .form-field{min-width:120px}.shift-form .form-field.grow{flex:1;min-width:180px}.shift-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-items:start}.shift-day{padding:12px 14px;display:grid;gap:8px}.shift-day.is-today{border-color:color-mix(in srgb,var(--blue) 40%,white)}.shift-day h3{font-size:12.5px;font-weight:600;color:var(--muted)}.shift-day ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.shift-day li{display:flex;align-items:center;gap:8px;font-size:13px}.shift-day li>div{min-width:0;flex:1}.shift-day strong{display:block;font-variant-numeric:tabular-nums}.shift-day small{color:var(--muted);font-size:12px}
