/* Рабочий интерфейс: плотные строки, нейтральная палитра, минимум декора. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--blue:#345f7b;--muted:#757c83;--line:#e0e3e5;color:#292f34;background:#f5f5f3}
body,.parent-page{background:#f5f5f3;color:#292f34;-webkit-font-smoothing:antialiased}
.btn{min-height:38px;padding:9px 13px;border-radius:5px;border-color:#d9dddf;background:#fff;font-size:12px;font-weight:550;box-shadow:none;transition:background .12s,border-color .12s}.btn:hover{background:#f2f3f3;border-color:#bfc6cb}.btn-primary{color:#fff;background:#345f7b;border-color:#345f7b;box-shadow:none}.btn-primary:hover{background:#284d65;border-color:#284d65}.btn-danger{color:#fff;background:#b44941;border-color:#b44941}.btn-danger:hover{background:#9f3d36;border-color:#9f3d36}.icon-btn{color:#7b8389;border-radius:4px;min-width:36px;min-height:36px}.icon-btn:hover{color:#345f7b;background:#eef0f1}.text-btn{font-size:12px;color:#345f7b;font-weight:550}.pill{padding:3px 7px;border-radius:4px;font-size:10px;font-weight:550}.pill.planned{background:#edf2f5;color:#526f83}.pill.done,.pill.paid{background:#edf2ed;color:#527357}.pill.canceled{background:#efefed;color:#7c7e7b}.pill.no_show{background:#f6eee5;color:#976e43}.pill.unpaid{background:#f8f0e3;color:#98713d}.pill.partial{background:#f0edf4;color:#7d6a91}
.card{border:1px solid #dde1e3;border-radius:6px;background:white;box-shadow:none!important}.card-heading{padding:16px 18px;border-color:#e7e9ea}.card-heading h2{font-size:14px;font-weight:600;color:#3a454e}.card-heading p{font-size:11px;color:#838c92}.avatar{border-radius:5px;background:#eef0f2;color:#7b8a97}.brand{color:#303c45;font-weight:650;letter-spacing:-.4px}.brand-icon{background:#345f7b;border-radius:6px;box-shadow:none}.brand-icon svg{width:20px;height:20px}.topbar{height:62px;background:#fff;border-color:#dfe3e5;padding:0 22px;backdrop-filter:none}.topbar .brand{font-size:16px}.topbar .brand-icon{width:28px;height:28px;border-radius:6px}.topbar-right{gap:10px}.topbar-right>.text-btn{font-size:11px;color:#78848c;padding:6px}.topbar-right .avatar{width:28px;height:28px;font-size:11px;background:#f1f2f2;color:#8a9399}.subscription-shortcut{border:0;background:none;border-radius:0;color:#7f898f!important;font-size:10px!important}.topbar-title{font-size:12px;color:#90989e;font-weight:400}
.sidebar{padding:26px 17px;background:#fafbf9;border-color:#dfe3e5;width:232px}.sidebar .brand{margin:0 10px 35px}.nav-label{font-size:9px;color:#9bA1a4;letter-spacing:.1em}.nav-link{font-size:13px;color:#747f87;border-radius:4px;padding:11px 13px;margin:3px 0;font-weight:450}.nav-link svg{width:17px;height:17px}.nav-link.active{background:#e9edef;color:#34586e;font-weight:600;box-shadow:none;border-left:2px solid #52748a;padding-left:11px}.nav-link:hover{background:#f0f2f2}.workspace-note,.today-tip,.hint-card{display:none}.sidebar-profile{border-top:1px solid #e4e7e7;padding-top:16px}.profile-name{font-size:12px;color:#596771}.profile-caption{font-size:10px;color:#9aA1a6}
.content{max-width:1400px;padding:26px 25px 100px}.page-heading{margin-bottom:20px;gap:16px;align-items:center}.page-heading h1{font-size:25px;font-weight:600;letter-spacing:-.7px;line-height:1.25;color:#303b43}.page-heading p{font-size:12px;margin-top:7px;color:#899198}.page-heading:not(.page-heading-today)>div>p{display:none}.heading-actions{gap:8px}.heading-actions>.btn:not(.btn-primary){font-size:11px;color:#737e86}.month-control{border-radius:5px;border-color:#d9dee1;padding:0;background:white}.month-control input{font-size:12px;color:#56636c;font-weight:550}.month-control .icon-btn{min-height:36px;min-width:28px}
.mobile-nav{background:#fff;border-top:1px solid #dfe3e5;box-shadow:none;backdrop-filter:none;padding-top:7px;padding-bottom:max(7px,env(safe-area-inset-bottom))}.mobile-nav button{font-size:10px;color:#8b949a;gap:4px;padding-top:5px;padding-bottom:5px;font-weight:400}.mobile-nav button svg{width:18px;height:18px}.mobile-nav button.active{color:#345f7b;font-weight:600}.mobile-nav button.active svg{background:none;box-shadow:none;padding:0;margin:0}
.stats-grid{gap:12px;margin-bottom:20px}.stat{padding:17px 18px;border-radius:5px;box-shadow:none!important}.stat-label{font-size:11px;color:#899198;margin-bottom:14px;font-weight:450}.stat-label svg{color:#9aa9b2;width:15px;height:15px}.stat-value{font-size:27px;font-weight:550;letter-spacing:-.7px;color:#44545f}.stat-foot,.stat-foot.blue{font-size:10px;line-height:1.6;color:#9aa2a7}.dashboard-grid{gap:18px}.weekday{font-size:10px;color:#8a959c}.day-number{font-size:11px;color:#6b7881}.day-number.today{background:#345f7b}.calendar-day{border-color:#eceeef}.lesson-chip{border-radius:3px;font-size:10px}.calendar-legend{color:#8b959b;font-size:10px}.vacation-day-label{font-size:9px}
.list-toolbar{padding:12px 18px;gap:10px;background:#fcfcfb;border-color:#e4e7e8}.search-box{max-width:290px}.search-box input{font-size:12px;padding:7px 0}.search-box svg{width:16px;height:16px}.count-text{font-size:10px;color:#9ba3a8}.filter-select{font-size:11px;min-height:35px;border-radius:4px;padding-top:8px;padding-bottom:8px}.archive-lessons-toggle{font-size:11px;color:#8e979d}.archive-lessons-toggle input{width:14px;height:14px;accent-color:#345f7b}
table{font-size:12px}th{font-size:9px;letter-spacing:.04em;font-weight:500;color:#929ba1;background:#fafbfa;padding:12px 18px}td{padding:15px 18px;color:#71808b;border-color:#edf0f0}.name-cell{font-weight:550;color:#4f616e}.name-cell .avatar{border-radius:4px;background:#f0f2f2;color:#8c9aa4;width:28px;height:28px}.cell-sub{font-size:10px;color:#929ca3}.mobile-cards{gap:0;padding:0}.mobile-record{border:0;border-bottom:1px solid #e8ebec;border-radius:0;padding:17px 18px}.mobile-record:last-child{border-bottom:0}.record-heading strong{font-size:14px;font-weight:550;color:#4f616e}.record-details{font-size:11px;color:#8b979f;margin-top:9px}.record-bottom{padding-top:10px;margin-top:10px;border-color:#f0f1f1}.record-bottom>span{font-size:12px;color:#6e808d}.balance-link{color:#6f897b;font-size:12px}.balance-link.debt{color:#a57a4b}.parent-contact-summary{font-size:10px;color:#919da5}
/* Список уроков без вложенных декоративных карточек. */
.lesson-groups{padding:0;gap:0}.lesson-group{border:0;border-bottom:1px solid #e0e5e8;border-radius:0;box-shadow:none;overflow:hidden;background:#fff}.lesson-group:last-child{border-bottom:0}.lesson-group-toggle{padding:18px 20px;gap:13px 22px;background:white;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-left:2px solid transparent}.lesson-group-toggle:hover{background:#fafbfb}.is-expanded .lesson-group-toggle{background:#f8fafb;border-left-color:#6f899a}.group-student{gap:0}.group-avatar{display:none}.group-student-text strong{font-size:15px;font-weight:600;color:#4c606e}.group-student-text>span{font-size:11px;color:#919da5}.group-caption{font-size:10px;color:#929da5}.group-schedule>strong{font-size:12px;font-weight:500;color:#667d8c}.group-period{font-size:10px;color:#98a3aa}.group-progress{gap:4px;font-size:10px;color:#8b9aa3}.group-balance{font-size:13px;font-weight:550;color:#6c8978}.group-progress-line{font-size:10px;color:#98a4ad}.group-disclosure{font-size:11px;color:#718b9c;font-weight:450;gap:6px}.group-disclosure svg{width:12px;height:12px}.group-payment{color:#839a8c}.group-wallet-actions{padding:11px 18px;background:#fff;font-size:10px;border-color:#e8edef;color:#a0aab1}.group-wallet-actions .text-btn{font-size:10px}.lesson-group-details{border-top:1px solid #e5eaed}.lesson-group-details .mobile-cards{padding:0 18px;background:#fff}.lesson-group-details .mobile-record{padding:15px 0;border:0;border-bottom:1px solid #edf0f1;background:#fff}.lesson-group-details .mobile-record:last-child{border-bottom:0}.payment-select{border-radius:4px;font-weight:500}.cancellation-note{font-size:10px;color:#9a8d7b}.lesson-payment-summary>small{font-size:10px;color:#9aa4ab}
/* Сегодня — хронологические записи и короткая строка итогов. */
.today-layout{gap:22px;align-items:start}.today-main{display:grid;gap:0;min-width:0}.today-day-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid #dce2e5;padding:0 0 14px;margin:0 0 1px;background:none;border-radius:0;box-shadow:none}.today-day-summary>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.today-day-summary span{font-size:11px;color:#929ca4}.today-day-summary strong{font-size:11px;color:#566e7c;font-weight:600;margin-left:4px}.today-day-summary .today-date-pill{font-size:9px;background:none;border:1px solid #e0e5e8;border-radius:3px;color:#a0aab1;padding:4px 6px}.today-lesson{border:0;border-bottom:1px solid #dfe5e8;border-radius:0;box-shadow:none;padding:20px 18px;background:white;overflow:hidden}.today-lesson.is-next{border-color:#dce4e8;border-left:2px solid #648398;padding-left:16px;box-shadow:none}.today-lesson.is-canceled{opacity:.72;background:#fafbfb}.today-lesson-top{gap:17px;align-items:center}.today-time{background:none;border:0;border-radius:0;min-width:61px;text-align:left;padding:0;display:grid;gap:4px}.today-time strong{font-size:20px;letter-spacing:-.7px;font-weight:550;color:#5b7588;font-variant-numeric:tabular-nums}.today-time span{font-size:10px;margin:0;color:#a3aeb6}.today-person h2{font-size:16px;font-weight:550;letter-spacing:-.2px;color:#4e6677}.today-person p{font-size:11px;color:#9aa7b0;margin-top:4px}.today-context{margin-top:14px}.today-context details{border:0;border-top:1px solid #edf0f2;border-radius:0;background:none}.today-context summary{padding:10px 0;font-size:11px;color:#8093a0}.today-context-content{padding:0 0 9px}.today-context-content p,.today-current-note p{font-size:12px;color:#748b9b;line-height:1.75}.today-context-content b,.today-current-note b{font-size:10px;color:#a2afb8;font-weight:500}.today-note{font-size:11px;color:#a1adb5}.today-current-note{gap:9px}.today-lesson-actions{margin-top:14px;padding-top:12px;border-color:#edf1f3;gap:9px}.today-lesson-actions .btn{min-height:34px;font-size:11px;padding:8px 11px;border-radius:4px}.today-secondary-actions .text-btn{font-size:10px}.today-aside{gap:15px}.today-aside .card{border-radius:4px;background:#fafbfb;border-color:#e3e7e9}.today-aside .card-heading{padding:15px 17px}.today-aside .card-heading h2{font-size:12px;color:#778d9b;font-weight:550}.today-aside .card-heading p{font-size:10px;color:#a7b1b8}.today-aside .card-heading svg{color:#a4b3bd;width:17px;height:17px}.today-payments-empty{font-size:11px;color:#a2afb8;padding:16px 17px;line-height:1.7}.today-payment-person{padding:14px 17px}.today-payment-person strong{font-size:12px;color:#6a8394}.today-payment-person small{font-size:10px}.today-empty{border:0;background:none;padding:38px 15px}.today-empty>svg{display:none}.today-empty strong{font-size:14px;font-weight:550}.today-empty p{font-size:12px;color:#8999a4}
.modal-panel{max-width:620px;border-radius:7px;box-shadow:0 18px 65px #263f5930;border-color:#e0e5e8}.modal-header{padding:18px 22px;border-color:#e5eaed}.modal-header h2{font-size:17px;font-weight:600;letter-spacing:-.2px;color:#445e70}.modal-body{padding:21px 22px}.modal-footer{padding:15px 22px;background:#fbfcfc;border-color:#e8edef}.field{font-size:12px;font-weight:550;color:#728898}.field input,.field select,.field textarea{border-radius:4px;border-color:#dce4e9;color:#597286;font-size:12px;min-height:40px;padding:10px 11px;background:white}.field small{font-size:10px;line-height:1.65;color:#a1afb9}.form-grid{gap:17px}.parent-learning-fields{border-radius:4px;border-color:#e5eaee;background:#fafcfd;padding:15px;gap:15px}.parent-help{font-size:11px;color:#8fa1ae;line-height:1.75}.empty-state strong{font-size:14px;font-weight:550;color:#6b8293}.empty-state p{font-size:12px;color:#9aa9b4}.attachment-panel{border-radius:4px}.attachment-upload{border-radius:4px;background:#fafcfd;border-color:#cad6df}.inbox-panel{border-radius:6px;box-shadow:0 12px 35px #263f5920}.inbox-heading strong{font-size:13px}.access-status{border-radius:4px;background:#f2f6f9}.access-status strong{font-size:18px;font-weight:550}.access-account-actions .btn{border-radius:4px}.parent-stats article{border-radius:5px;box-shadow:none}.parent-stats strong{font-size:25px;font-weight:550;color:#5e7a8f}.parent-header h1{font-size:21px;font-weight:600;color:#526d81}.parent-intro h2{font-size:23px;font-weight:550;color:#5c778b}.parent-lesson h3{font-size:14px;font-weight:550;color:#617d91}.parent-homework{border-radius:4px;background:#f5f8fa}.parent-lesson,.parent-request-item{padding:18px 21px}.parent-page dialog{border-radius:7px}
@media(min-width:1200px){.content{padding:28px 32px 65px}.today-layout{grid-template-columns:minmax(0,1fr) 270px}.lesson-group-toggle{grid-template-columns:minmax(135px,1fr) minmax(140px,1fr) minmax(165px,1.1fr) auto}.page-heading h1{font-size:27px}}
@media(max-width:720px){.content{padding:25px 21px 95px}.page-heading{align-items:flex-start;gap:16px}.heading-actions{width:100%}.heading-actions>.btn-primary{margin-left:auto}.page-heading h1{font-size:25px}.topbar-right{gap:6px}.topbar-right>.text-btn{font-size:10px}.topbar .brand{font-size:15px}.group-progress{gap:4px}.lesson-group-toggle{padding:18px 19px;gap:13px 18px}.today-lesson{padding:18px 17px}.today-lesson.is-next{padding-left:15px}.today-lesson-top>.pill{margin-left:0}.today-person h2{font-size:15px}}
@media(max-width:480px){.content{padding:22px 15px 90px}.topbar{height:58px;padding:0 13px}.topbar .brand{font-size:13px;gap:7px}.topbar-right .avatar{display:none}.topbar-right{gap:2px}.topbar-right>.text-btn{font-size:9px;padding:5px}.page-heading h1{font-size:23px}.heading-actions{gap:6px}.heading-actions>.btn{font-size:10px;padding:8px 10px}.today-day-summary>div{gap:11px}.today-day-summary span{font-size:10px}.today-time{min-width:52px}.today-time strong{font-size:18px}.today-lesson-top{gap:12px}.today-lesson-top>.pill{margin-left:64px}.lesson-group-toggle{padding:16px;gap:12px}.group-schedule>strong{font-size:11px}.group-student-text strong{font-size:14px}.modal-body{padding:19px 18px}.modal-header{padding:16px 18px}.modal-footer{padding:14px 18px}.group-wallet-actions{padding:10px 14px}.stat{padding:15px}.stat-value{font-size:24px}.today-day-summary{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Читаемый выбор статуса урока, в том числе для длинного названия пропуска. */
.status-control,.mobile-record .status-control{width:184px;max-width:100%;flex-shrink:0}
.payment-select.status-select,.mobile-record .payment-select.status-select{width:100%;min-height:36px;padding:8px 35px 8px 11px;border:1px solid #cdd5da;border-radius:4px;font-size:12px;line-height:18px;font-weight:600;color:#34444e;background-color:#fff;opacity:1;box-shadow:none}
.payment-select.status-select.planned{color:#345b75;background-color:#f0f4f7;border-color:#cbd8e2}
.payment-select.status-select.done{color:#355f43;background-color:#edf4ef;border-color:#c6d8cb}
.payment-select.status-select.canceled{color:#424c55;background-color:#f0f1f2;border-color:#cbd0d4}
.payment-select.status-select.no_show{color:#79512e;background-color:#f8eee2;border-color:#dfcbb5}
.payment-select.status-select option{color:#27343e;background:#fff;font-size:13px;font-weight:500}
.payment-select.status-select:hover{border-color:#93a5b3}
.payment-select.status-select:focus{border-color:#557c94;outline:2px solid #557c9425;outline-offset:1px;box-shadow:none}
.payment-select.status-select:disabled{opacity:.8;cursor:wait}

.payment-select.status-select,.mobile-record .payment-select.status-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%2345525e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:16px 16px;padding-right:36px}
@media(forced-colors:active){.payment-select.status-select,.mobile-record .payment-select.status-select{appearance:auto;-webkit-appearance:auto;background-image:none}}

.status-control,.mobile-record .status-control{width:172px}
.payment-select.status-select,.mobile-record .payment-select.status-select{min-height:32px;padding:6px 29px 6px 9px;font-size:11px;line-height:18px;background-position:right 9px center;background-size:14px 14px}
