/* Страница «Занятия» личного кабинета. Mobile-first; палитра сайта. */
.wrap.k-mode{max-width:1180px;padding-top:8px}
.k-head{display:flex;flex-direction:column;gap:6px;padding:16px 0 8px}
.k-head .k-kicker{font-size:14px;color:#4F5E51}
.k-head h1{margin:0;font-size:26px;font-weight:800;line-height:1.15;color:#26422A}
.k-head .k-sub{font-size:15px;color:#4F5E51}
.k-picker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
.k-picker label{font-size:14px;color:#4F5E51;font-weight:600}
.k-picker select{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid #EADFC0;background:#fff;font:600 15px Montserrat,Arial,sans-serif;color:#26422A}
.k-note{display:flex;align-items:center;gap:8px;background:#FDE7DC;border:1px solid #EA672D;color:#8A3A13;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:500;margin-top:8px}
.k-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 0}
.k-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid #26422A;color:#26422A}
.k-tab.on{background:#26422A;color:#FFF7E0;font-weight:700}
.k-tab.off{border-color:#EADFC0;color:#7A7A6E;cursor:default}
.k-tab small{font-size:11px;background:#F3EFE0;border-radius:999px;padding:2px 8px;color:#6B6B5E;font-weight:600}
.k-main{display:flex;flex-direction:column;gap:20px;padding:16px 0}
.k-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.k-col{display:flex;flex-direction:column;gap:20px;min-width:0}
@media(min-width:900px){.k-cols{grid-template-columns:minmax(0,1fr) 360px}.k-head h1{font-size:28px}}

.k-alert{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:#FDE7DC;border:1px solid #EA672D;border-radius:12px;padding:16px 20px}
.k-alert strong{display:block;font-size:16px;color:#8A3A13}
.k-alert span{font-size:14px;color:#6B3416}
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;text-decoration:none;font:600 15px Montserrat,Arial,sans-serif;border:0;cursor:pointer}
.k-btn.orange{background:#EA672D;color:#fff;border-radius:5px}

.k-next{background:#26422A;color:#FFF7E0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:18px}
.k-next .k-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#C9D3C4;font-weight:600}
.k-next .k-when{font-size:26px;font-weight:800;line-height:1.2;margin:6px 0}
.k-next .k-meta{font-size:15px;color:#E3E8DD}
.k-next .k-actions{display:flex;flex-wrap:wrap;gap:10px}
.k-next .k-btn.main{min-height:48px;padding:0 22px;background:#DCEFFF;color:#26422A;font-weight:700;font-size:16px}
.k-next .k-btn.ghost{min-height:48px;border:1px solid #FFF7E0;color:#FFF7E0}
.k-next .k-later{font-size:14px;color:#C9D3C4}
@media(min-width:700px){.k-next{flex-direction:row;justify-content:space-between;align-items:center;padding:24px}}

.k-teaser{background:#DCEFFF;border-radius:12px;padding:20px;color:#26422A;display:flex;flex-direction:column;gap:6px}
.k-teaser .k-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#26659A}
.k-teaser .k-title{font-size:22px;font-weight:800}
.k-teaser .k-text{font-size:14px;color:#33503A}

.k-card{background:#fff;border:1px solid #EADFC0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.k-card h2{margin:0;font-size:19px;font-weight:700;color:#26422A}
.k-empty{font-size:14px;color:#4F5E51}

.k-lesson{border-top:1px solid #F0E8D2;padding-top:16px;display:flex;gap:14px}
.k-lesson .k-date{flex:0 0 64px;display:flex;flex-direction:column}
.k-lesson .k-day{font-size:24px;font-weight:800;color:#26422A;line-height:1.1}
.k-lesson .k-mon{font-size:13px;color:#4F5E51}
.k-lesson .k-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.k-lesson strong{font-size:16px}
.k-lesson .k-details{font-size:14px;line-height:1.55;color:#3A3A3A}
.k-hw{background:#FFF7E0;border-radius:8px;padding:10px 12px;font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px}
.k-hw .ok{font-size:13px;color:#26422A;font-weight:700}
.k-hw .wait{font-size:13px;color:#8A3A13;font-weight:700}
.k-hw .cm{flex-basis:100%;color:#4F5E51}
.k-pdf{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid #26659A;color:#26659A;text-decoration:none;font-size:14px;font-weight:500;align-self:flex-start}

.k-calhead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.k-calhead h2{text-align:center;font-size:18px}
.k-arrow{width:44px;height:44px;border-radius:8px;border:1px solid #EADFC0;background:#fff;color:#26422A;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.k-arrow:disabled{opacity:.35;cursor:default}
.k-now{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid #EA672D;background:#FFF4EC;color:#8A3A13;font:700 12px Montserrat,Arial,sans-serif;cursor:pointer;margin-top:4px}
.k-chips{overflow-x:auto;margin:0 -4px;padding:0 4px 4px;-webkit-overflow-scrolling:touch}
.k-chips div{display:flex;gap:6px;width:max-content}
.k-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:44px;padding:6px 10px;border-radius:8px;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;color:#26422A;border:1px solid #EADFC0}
.k-chip b{font-size:12px}.k-chip span{font-size:11px}
.k-chip.cur{background:#FFF4EC;color:#8A3A13;border-color:#EA672D}
.k-chip.on{background:#26422A;color:#FFF7E0;border-color:#26422A}
.k-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.k-count{background:#FFF7E0;border-radius:10px;padding:10px 12px}
.k-count small{display:block;font-size:12px}
.k-count b{font-size:22px;font-weight:800}
.k-count.paid-all{background:#DCEFFF;color:#26422A}.k-count.paid-none{background:#FDE7DC;color:#8A3A13}.k-count.paid-na{background:#F3EFE0;color:#6B6B5E}
.k-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.k-wd{text-align:center;font-size:11px;font-weight:600;color:#7A7A6E;padding:2px 0}
.k-cell{aspect-ratio:1/1;min-height:34px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:14px;color:#8C8C80;box-sizing:border-box}
.k-cell i{font-style:normal;font-size:9px;font-weight:600;line-height:1}
.k-cell.done{background:#26422A;color:#FFF7E0;font-weight:700}
.k-cell.today{border:2px solid #EA672D;color:#8A3A13;background:#FFF4EC;font-weight:700}
.k-cell.later{background:#DCEFFF;color:#26422A;font-weight:700}
.k-cell.moved{background:#F3EFE0;color:#7A7A6E;border:1px dashed #B9AD8A;text-decoration:line-through;font-weight:600}
.k-cell.movedDone{background:#26659A;color:#fff;font-weight:700}
.k-cell.movedLater{background:#fff;color:#26659A;border:2px solid #26659A;font-weight:700}
.k-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#4F5E51}
.k-legend span{display:inline-flex;align-items:center;gap:6px}
.k-legend u{display:inline-block;width:14px;height:14px;border-radius:4px;box-sizing:border-box}

.k-transfers{background:#FFF7E0;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.k-transfers .k-trh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.k-transfers .k-trh small{display:block;font-size:12px;color:#4F5E51}
.k-transfers .k-trh b{font-size:20px;font-weight:800}
.k-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px}
.k-pill.blue{background:#26659A;color:#fff}
.k-pill.dash{background:#fff;border:1px dashed #B9AD8A;color:#4F5E51;font-weight:600}
.k-trline{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;background:#fff;border-radius:8px;padding:8px 10px}
.k-trline s{color:#7A7A6E}
.k-trline em{font-style:normal;color:#26659A;font-weight:700}
.k-trline .st{margin-left:auto;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}
.k-trline .st.done{background:#26659A;color:#fff}.k-trline .st.later{background:#DCEFFF;color:#26422A}
.k-transfers details{font-size:13px;color:#3A3A3A}
.k-transfers summary{cursor:pointer;min-height:36px;display:flex;align-items:center;font-weight:600;color:#26422A}
.k-transfers ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;line-height:1.45}

.k-pay .k-sum{font-size:30px;font-weight:800;line-height:1.1}
.k-pay .k-due{font-size:14px;color:#4F5E51}
.k-pay .k-calc{background:#FFF7E0;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.k-pay .k-calc b{font-weight:600}
.k-badge{display:inline-flex;align-self:flex-start;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:600}
.k-badge.wait{background:#DCEFFF;color:#26422A}.k-badge.late{background:#FDE7DC;color:#8A3A13}.k-badge.paid{background:#CFE3C8;color:#26422A}
.k-report{border-radius:10px;background:#FFF7E0}
.k-report summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:15px;font-weight:500;list-style:none}
.k-report summary::-webkit-details-marker{display:none}
.k-report summary span{color:#4F5E51;font-weight:400;font-size:14px}
.k-report p{padding:0 14px 14px;font-size:14px;line-height:1.55;color:#3A3A3A;white-space:pre-wrap}

/* Правки для узких экранов */
.k-count{padding:8px 10px}
.k-count small{font-size:11px;overflow-wrap:normal;word-break:normal;hyphens:none}
.k-cell{padding:0;min-width:0}
.k-cell i{white-space:nowrap;overflow-wrap:normal;font-size:8px}
.k-lesson{flex-wrap:wrap}
.k-lesson .k-date{flex:0 0 100%;flex-direction:row;align-items:baseline;gap:8px}
.k-lesson .k-body{flex:1 1 100%}
@media(min-width:480px){
  .k-lesson .k-date{flex:0 0 64px;flex-direction:column;gap:0}
  .k-lesson .k-body{flex:1 1 260px}
  .k-cell i{font-size:9px}
}

/* Редактирование */
.k-edit-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:10px;border:1px dashed #B9AD8A;background:#fff;font:500 14px Montserrat,Arial,sans-serif;color:#3A3A3A;cursor:pointer}
.k-edit-btn.solid{background:#26422A;color:#FFF7E0;border:0;font-weight:600;border-radius:5px;min-height:40px}
.k-edit-btn.onDark{background:transparent;border-color:#C9D3C4;color:#FFF7E0}
.k-edit-btn.small{min-height:36px;font-size:13px}
.k-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.k-sub-h{font-size:13px;font-weight:700;color:#4F5E51;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.k-badge-draft{font-size:12px;font-weight:600;color:#8A3A13;background:#FDE7DC;border-radius:999px;padding:2px 10px;align-self:flex-start}
.k-lesson .k-btns{display:flex;flex-wrap:wrap;gap:8px}
.k-moved{font-size:13px;color:#4F5E51;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.k-dlg{border:0;border-radius:16px;padding:0;width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);background:#fff;color:#1A1A1A;font:400 15px/1.5 Montserrat,Arial,sans-serif;overflow:auto}
.k-dlg::backdrop{background:rgba(26,26,26,.5)}
.k-dlg-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid #EADFC0;position:sticky;top:0;background:#fff;z-index:1}
.k-dlg-head h2{margin:0;font-size:18px;color:#26422A}
.k-dlg-x{width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#4F5E51}
.k-form{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}
.k-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.k-fl{font-size:13px;font-weight:600;color:#26422A}
.k-fh{font-size:12px;color:#4F5E51;margin:0}
.k-f input,.k-f textarea,.k-f select{width:100%;min-height:44px;padding:10px 12px;font:400 16px Montserrat,Arial,sans-serif;border:2px solid #EADFC0;border-radius:10px;background:#fff;color:#1A1A1A;letter-spacing:0;text-transform:none}
.k-f textarea{resize:vertical}
.k-f input:focus,.k-f textarea:focus,.k-f select:focus{outline:none;border-color:#26422A}
.k-row2{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media(min-width:520px){.k-row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.k-fs{border:1px solid #EADFC0;border-radius:10px;padding:12px 14px 14px;display:flex;flex-direction:column;gap:12px;min-width:0}
.k-fs legend{font-size:13px;font-weight:700;color:#26422A;padding:0 6px}
.k-note-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;min-height:36px}
.k-note-row a{color:#26659A}
.k-file{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#26422A}
.k-actions{display:flex;flex-wrap:wrap;gap:10px}
.k-b{min-height:48px;padding:0 20px;border-radius:10px;border:1px solid #26422A;background:#fff;color:#26422A;font:700 15px Montserrat,Arial,sans-serif;cursor:pointer}
.k-b.primary{background:#26422A;color:#FFF7E0}
.k-b.ghost{border-color:#EADFC0;color:#4F5E51;font-weight:600}
.k-b.danger{border-color:#EA672D;color:#8A3A13;margin-left:auto}
.k-b.link{min-height:36px;padding:0 8px;border:0;background:none;color:#8A3A13;font-weight:600;font-size:13px}
.k-b:disabled{opacity:.5;cursor:default}
.k-warn{background:#FDE7DC;border:1px solid #EA672D;border-radius:10px;padding:10px 14px;font-size:14px;color:#6B3416}
.k-warn ul{margin:6px 0 0;padding-left:18px}
@media(max-width:519px){.k-dlg{margin:auto auto 0;width:100%;max-height:92%;border-radius:16px 16px 0 0}}
.k-form input[type=text]{text-transform:none;letter-spacing:0;font-weight:400;font-size:16px;min-height:44px;border-width:2px}

/* Задания ОГЭ в занятиях и в редакторе */
.k-taskchips{display:flex;flex-wrap:wrap;gap:6px}
.k-taskchip{display:inline-flex;flex-direction:column;gap:4px;background:#FFF7E0;border:1px solid #EADFC0;border-radius:8px;padding:6px 10px;font-size:12px;color:#26422A}
.k-taskchip b{font-weight:800}
.k-taskchip i{display:block;height:5px;border-radius:999px}
.k-tasks{display:flex;flex-direction:column;gap:10px}
.k-task-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:8px;align-items:center}
.k-task-row select{min-height:44px;padding:0 8px;border:2px solid #EADFC0;border-radius:10px;font:600 15px Montserrat,Arial,sans-serif;background:#fff;color:#26422A}
.k-task-info{font-size:12px;color:#4F5E51;grid-column:1/-1;order:5}
@media(min-width:520px){.k-task-info{grid-column:auto;order:0}}

/* Заметки */
.k-important{display:flex;flex-direction:column;gap:12px}
.k-important h2{margin:0;font-size:19px;font-weight:700;color:#26422A}
.k-note-card{background:#FFF4EC;border:1px solid #EA672D;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.k-note-card.internal{background:#F3EFE0;border:1px dashed #B9AD8A}
.k-note-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.k-note-meta{font-size:12px;color:#6B3416}
.k-note-card.internal .k-note-meta{color:#4F5E51}
.k-aud{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:#DCEFFF;color:#26422A}
.k-aud.internal{background:#fff;border:1px dashed #B9AD8A;color:#4F5E51}
.k-new{font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;background:#EA672D;color:#fff;text-transform:uppercase;letter-spacing:.04em}
.k-note-text{font-size:15px;line-height:1.55;color:#1A1A1A;white-space:pre-wrap;overflow-wrap:anywhere}
.k-note-text.collapsed{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.k-note-text a{color:#26659A}
.k-more{align-self:flex-start;min-height:44px;padding:0 4px;border:0;background:none;color:#26659A;font:600 14px Montserrat,Arial,sans-serif;cursor:pointer}
.k-archive{background:#fff;border:1px solid #EADFC0;border-radius:12px;padding:6px 16px 16px;display:flex;flex-direction:column;gap:10px}
.k-archive summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:#26422A;font-size:15px}
.k-archive .k-note-card{opacity:.9}
.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;cursor:pointer}
.check input{width:22px;height:22px;accent-color:#26422A}
.k-sched-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;align-items:center}
.k-sched-row select,.k-sched-row input{min-height:44px;padding:0 10px;border:2px solid #EADFC0;border-radius:10px;font:500 16px Montserrat,Arial,sans-serif;background:#fff;color:#1A1A1A;min-width:0}

/* Оплата: оплаченные месяцы и свёрнутая карточка «к оплате» */
.k-pay{gap:10px}
.k-paidrow{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;background:#F3F8EF;border-radius:10px;font-size:15px}
.k-check{flex:0 0 24px;width:24px;height:24px;border-radius:999px;background:#26422A;color:#FFF7E0;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.k-paidtext{flex:1 1 auto;min-width:0}
.k-paidsum{font-weight:700;color:#26422A;white-space:nowrap}
.k-paydet{background:#FFF7E0;border:1px solid #EADFC0;border-radius:10px}
.k-paydet.late{background:#FDE7DC;border-color:#EA672D}
.k-paydet summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:0 14px;cursor:pointer;list-style:none;font-size:15px}
.k-paydet summary::-webkit-details-marker{display:none}
.k-paydet summary::after{content:"";flex:0 0 10px;width:10px;height:10px;border-right:2px solid #26422A;border-bottom:2px solid #26422A;transform:rotate(45deg);margin:-4px 2px 0 6px;transition:transform .15s}
.k-paydet[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.k-paysum{margin-left:auto;font-weight:800;font-size:17px;white-space:nowrap}
.k-paybody{display:flex;flex-direction:column;gap:12px;padding:0 14px 14px}
.k-paybody .k-calc{background:#fff}
.k-paidtext,.k-paylabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-paidtext{font-size:14px}
.k-paylabel{font-size:14px}
.k-paysum{font-size:16px}
.k-paydet.paid{background:#F3F8EF;border-color:#CFE3C8}
.k-paydet summary .k-check{margin-right:2px}
.k-paydet summary .k-paylabel{flex:1 1 auto;min-width:0}
.k-paydet summary{gap:8px;padding:0 12px}
.k-paydet summary::after{margin:-4px 0 0 0}
.k-paydet[open] summary::after{margin-top:4px}
.k-paydet summary .k-check{flex:0 0 22px;width:22px;height:22px;margin:0}
.k-paysum{font-size:15px}
.k-paydet.next{background:#EEF6FF;border-color:#DCEFFF}
.k-paytwo{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;white-space:normal}
.k-paytwo b{font-size:15px;line-height:1.3}
.k-paytwo small{font-size:13px;color:#4F5E51}
.k-paydet.late .k-paytwo small{color:#6B3416}
.k-paydet.paid .k-paytwo small{color:#26422A;font-weight:600}
.k-paydet summary{align-items:center}
.k-paydet summary .k-paysum{margin-left:auto;flex:0 0 auto}

/* Полоска «времени до срока оплаты» и выделение последних дней */
.k-bar{display:block;width:100%;height:8px;border-radius:999px;background:#E3E8DD;overflow:hidden;margin-top:8px}
.k-bar i{display:block;height:100%;border-radius:999px;transition:width .3s}
.k-payleft{font-size:13px;font-weight:700;color:#8A3A13;margin-top:2px}
.k-paydet.urgent{background:#FFF4EC;border:2px solid #EA672D;animation:kpulse 2.4s ease-in-out infinite}
.k-paydet.urgent .k-paytwo b{color:#8A3A13}
.k-paydet.urgent .k-bar{height:10px;background:#F6D9C9}
@keyframes kpulse{0%,100%{box-shadow:0 0 0 0 rgba(234,103,45,.35)}50%{box-shadow:0 0 0 6px rgba(234,103,45,0)}}
@media (prefers-reduced-motion:reduce){.k-paydet.urgent{animation:none}}
.k-paydet summary{padding:12px}
.k-barcap{font-size:11px;color:#6B7A6D;margin-top:4px;line-height:1.2}
.k-paydet.urgent .k-barcap{color:#8A3A13}
.k-paybody{padding-top:2px}
.k-paybody .k-calc{background:#fff;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.k-paybody .k-calc b{font-weight:600}
.k-paybody .k-due{font-size:14px;color:#4F5E51}

/* Дневник младших: звёзды, чипы, итог месяца */
.k-gstars{font-size:15px;font-weight:800;color:#B7791F;margin-left:auto}
@media(min-width:480px){.k-gstars{margin:6px 0 0}}
.k-gchips{display:flex;flex-wrap:wrap;gap:6px}
.k-gchip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;background:#F3EFE0;color:#4F5E51}
.k-gchip.star{background:#FFF4D6;color:#8A6A10;border:1px solid #F2C94C}
.k-gchip.bar{background:#DCEFFF;color:#26422A}
.k-gchip.streak{background:#FDE7DC;color:#8A3A13}
.k-gchip.shield{background:#E3ECF5;color:#26659A}
.k-gchip.medal{background:#26422A;color:#FFF7E0}
.k-gchip.pause{background:#F3EFE0;color:#6B6B5E;border:1px dashed #B9AD8A}
.k-gchip.bonus{background:#FFF4D6;color:#8A6A10;border:1px solid #F2C94C;font-weight:800}
.k-gtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.k-gtile{border-radius:12px;padding:12px;background:#FFF7E0}
.k-gtile .k-gl{font-size:12px;color:#4F5E51}
.k-gtile .k-gv{font-size:26px;font-weight:800;line-height:1.2}
.k-gtile .k-gv span{font-size:13px;font-weight:600;color:#4F5E51}
.k-gtile.star{background:#FFF4D6}.k-gtile.star .k-gl{color:#6B5A1F}.k-gtile.star .k-gv{color:#8A6A10}
.k-gtile.medal{background:#26422A;color:#FFF7E0}.k-gtile.medal .k-gl{color:#C9D3C4}
.k-gtile.shield .k-gv{color:#26659A}
.k-glink{font-size:13px;font-weight:600;color:#26659A}

/* Диалоги: общий сброс margin:0 на странице ломает центрирование <dialog> */
dialog{margin:auto}
dialog::backdrop{background:rgba(26,26,26,.5)}
.k-row3{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media(min-width:520px){.k-row3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.k-sched-row{grid-template-columns:minmax(0,1fr) 110px 120px auto}
@media(max-width:519px){.k-sched-row{grid-template-columns:minmax(0,1fr) 100px auto}.k-sched-row select:nth-of-type(2){grid-column:1/3}}

/* ---------- Календарь расписания ---------- */
.k-staffnav{margin-bottom:8px}
.kc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.kc-nav{min-height:44px;min-width:44px;padding:0 12px;border-radius:10px;border:1px solid #EADFC0;background:#fff;color:#26422A;font:700 18px Montserrat,Arial,sans-serif;cursor:pointer}
.kc-nav.today{font-size:14px;font-weight:600}
.kc-range{font-size:16px;font-weight:700;color:#26422A;margin:0 4px}
.kc-add{margin-left:auto}
.kc-zones{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}
.kc-zgroup{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.kc-zl{font-size:12px;color:#4F5E51;font-weight:600}
.kc-seg{display:inline-flex;border:1px solid #EADFC0;border-radius:10px;overflow:hidden;background:#fff}
.kc-seg button{min-height:40px;padding:0 12px;border:0;background:transparent;font:600 13px Montserrat,Arial,sans-serif;color:#26422A;cursor:pointer;border-right:1px solid #EADFC0}
.kc-seg button:last-child{border-right:0}
.kc-seg button.on{background:#26422A;color:#FFF7E0}
.kc-seg.multi button.on{background:#DCEFFF;color:#26422A}
.kc-dst{background:#FFF4EC;border:1px solid #EA672D;border-radius:10px;padding:10px 14px;font-size:13px;color:#6B3416;margin-bottom:10px}
.kc-wrap{overflow:auto;border:1px solid #EADFC0;border-radius:12px;background:#fff;max-height:78vh}
.kc-grid{display:grid;min-width:880px;position:relative}
.kc-hd{position:sticky;top:0;z-index:4;background:#F3EFE0;border-bottom:1px solid #EADFC0;text-align:center;font-size:13px;font-weight:700;padding:8px 4px;color:#26422A}
.kc-hd.today{background:#26422A;color:#FFF7E0}
.kc-corner{display:grid;left:0;z-index:6;font-size:11px;padding:8px 0}
.kc-corner span{color:#6B6B5E}.kc-corner span.main{color:#26422A;font-weight:800}
.kc-gut{position:sticky;left:0;z-index:3;background:#FBF8EC;border-right:1px solid #EADFC0}
.kc-hl{position:absolute;width:46px;text-align:center;font-size:11px;color:#8A8576;transform:translateY(-7px);background:#FBF8EC}
.kc-hl.main{color:#1A1A1A;font-weight:800;font-size:12px}
.kc-tick{position:absolute;right:0;height:1px;background:#CFC8B0}
.kc-tick.q1,.kc-tick.q3{width:5px}.kc-tick.q2{width:10px}
.kc-col{position:relative;border-left:1px solid #EADFC0;cursor:cell;background-image:linear-gradient(to bottom,#E2DABF 1px,transparent 1px),linear-gradient(to bottom,#F0EBD9 1px,transparent 1px);background-size:100% 64px,100% 16px}
.kc-col.today{background-color:#FFFCF2}
.kc-now{position:absolute;left:0;right:0;height:2px;background:#E0533A;z-index:2;pointer-events:none}
.kc-ev{position:absolute;z-index:2;border-radius:6px;padding:2px 5px;overflow:hidden;font-size:11px;line-height:1.25;cursor:pointer;border:1px solid transparent;box-sizing:border-box}
.kc-ev b{display:block;font-size:12px;font-weight:700}
.kc-ev span{display:block}
.kc-ev.sel{outline:2px solid #1A1A1A;z-index:3}
.kc-ev.busy{background:#F6D3D0;color:#7A1F1A;border-color:#E9A8A3}
.kc-ev.task{background:#E3E8DD;color:#26422A;border-color:#B9C4B3}
.kc-ev.moved{background:transparent!important;border:1px dashed #B9AD8A;color:#7A7A6E!important}
.kc-ev.moved b{text-decoration:line-through}
.kc-ev.arrived{border:2px solid #26659A}
.kc-buf{position:absolute;left:2px;right:2px;z-index:1;border-radius:4px;background:#EFEAD8;border:1px dashed #CFC8B0;box-sizing:border-box}
.kc-buf.busy{background:#FBE7E5;border-color:#E9B9B5}
.kc-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#4F5E51;margin:10px 0}
.kc-leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px;box-sizing:border-box}
.kc-leg i.busy{background:#F6D3D0;border:1px solid #E9A8A3}.kc-leg i.moved{border:1px dashed #B9AD8A}.kc-leg i.arrived{border:2px solid #26659A}
.kc-panel{position:relative;background:#fff;border:1px solid #EADFC0;border-radius:12px;padding:14px 44px 14px 16px;display:flex;flex-direction:column;gap:8px}
.kc-panel h3{margin:0;font-size:16px;color:#26422A}
.kc-m{margin:0;font-size:13px;color:#3A3A3A}
.kc-x{position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:none;font-size:26px;color:#4F5E51;cursor:pointer}
.kc-zrows{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
.kc-zrows span{font-size:11px;font-weight:700;color:#6B6B5E;margin-right:6px;text-transform:uppercase}
.kc-wdchips{display:flex;flex-wrap:wrap;gap:6px}
.kc-wdchips button{min-width:44px;min-height:44px;border-radius:10px;border:1px solid #EADFC0;background:#fff;font:600 14px Montserrat,Arial,sans-serif;color:#26422A;cursor:pointer}
.kc-wdchips button.on{background:#26422A;color:#FFF7E0;border-color:#26422A}
.k-form-sub{display:flex;flex-direction:column;gap:14px}
.kc-aside{display:none}
.kc-adminlink{background:none;border:0;color:#26659A;font:600 14px Montserrat,Arial,sans-serif;cursor:pointer;min-height:44px;margin-top:8px;padding:0}

.kc-hl.first{transform:translateY(1px)}

/* ---------- Сводка по месяцу ---------- */
.ks-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.ks-tile{background:#fff;border:1px solid #EADFC0;border-radius:12px;padding:12px 14px}
.ks-l{font-size:12px;color:#4F5E51}.ks-v{font-size:24px;font-weight:800;line-height:1.2;color:#1A1A1A}.ks-s{font-size:12px;color:#4F5E51;margin-top:2px}
.ks-tile.done{background:#F3F8EF}.ks-tile.paid{background:#F3F8EF}.ks-tile.money{background:#FFF7E0}
.ks-tile.warn{background:#FDE7DC;border-color:#EA672D}.ks-tile.warn .ks-v{color:#8A3A13}
.ks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.ks-card{background:#fff;border:1px solid #EADFC0;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ks-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.ks-name{border:0;background:none;padding:0;min-height:44px;font:800 20px Montserrat,Arial,sans-serif;color:#26422A;cursor:pointer;text-align:left}
.ks-name:hover{text-decoration:underline}
.ks-sub{font-size:12px;color:#4F5E51;white-space:nowrap}
.ks-sched{font-size:13px;color:#3A3A3A}
.ks-stats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:#4F5E51}.ks-stats b{color:#1A1A1A;font-size:15px}.ks-stats .bad,.ks-stats .bad b{color:#8A3A13}
.ks-tr{background:#FFF7E0;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.ks-tr.over{background:#FDE7DC}
.ks-trh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-weight:700}
.ks-pills i{font-style:normal;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;margin-left:4px}
.ks-pills i.blue{background:#26659A;color:#fff}.ks-pills i.dash{background:#fff;border:1px dashed #B9AD8A;color:#4F5E51;font-weight:600}
.ks-trl{display:flex;align-items:center;gap:8px;background:#fff;border-radius:8px;padding:6px 8px}
.ks-trl s{color:#7A7A6E}.ks-trl em{font-style:normal;color:#26659A;font-weight:700}
.ks-trl span{margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.ks-trl .ok{background:#26659A;color:#fff}.ks-trl .wait{background:#DCEFFF;color:#26422A}
.ks-none{color:#4F5E51}
.ks-fin{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;border-top:1px dashed #D8CCA8;padding-top:10px}
.ks-amt{font-size:18px;font-weight:800}
.ks-b{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}.ks-b.paid{background:#CFE3C8;color:#26422A}.ks-b.wait{background:#DCEFFF;color:#26422A}.ks-b.late{background:#FDE7DC;color:#8A3A13}
.ks-fin .k-edit-btn{margin-left:auto}
.ks-foot{font-size:12px;color:#4F5E51;margin:14px 0 0}
.ks-b.none{background:#F3EFE0;color:#6B6B5E}

/* Сводка: висящие переносы и разбивка по занятиям */
.ks-hang{background:#FDE7DC;border:1px solid #EA672D;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13px}
.ks-hl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;background:#fff;border-radius:8px;padding:8px 10px}
.ks-hl span{flex:1 1 140px;font-weight:600}
.ks-det{border-top:1px dashed #D8CCA8;padding-top:6px}
.ks-det summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:#26422A;font-size:14px}
.ks-rows{display:flex;flex-direction:column;gap:4px;font-size:13px}
.ks-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 8px;background:#FBF8EC;border-radius:8px}
.ks-row.free{background:#F3EFE0;color:#6B6B5E}
.ks-row.total{background:#FFF7E0;font-weight:700}.ks-row.manual{background:#DCEFFF}
.ks-rd{font-weight:600;min-width:110px}.ks-rn{color:#6B6B5E;flex:1 1 120px}.ks-rp{margin-left:auto;white-space:nowrap}
.ks-st{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#DCEFFF;color:#26422A}
.ks-st.ok{background:#CFE3C8}.ks-st.moved{background:#fff;border:1px dashed #B9AD8A;color:#4F5E51}.ks-st.bad{background:#FDE7DC;color:#8A3A13}

/* Сводка: компактный вид */
.ks-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.ks-bar{height:6px;border-radius:999px;background:#EFE8D0;overflow:hidden}.ks-bar i{display:block;height:100%;background:#26422A;border-radius:999px}
.ks-trc{margin-left:auto;font-size:12px;color:#6B6B5E}.ks-trc.over{color:#8A3A13;font-weight:700}
.ks-hang{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:0}
.ks-hl{background:#FDE7DC;border:1px solid #EA672D;border-radius:10px;padding:6px 10px}
.ks-hl .k-edit-btn{min-height:36px}
.ks-det{border-top:0;padding-top:0}
.ks-det summary{min-height:36px;list-style:none;justify-content:space-between}
.ks-det summary::-webkit-details-marker{display:none}
.ks-det summary::after{content:'▾';color:#4F5E51;transition:transform .15s}
.ks-det[open] summary::after{transform:rotate(180deg)}
.ks-fin .k-edit-btn.small.lnk{border-style:solid;border-color:transparent;background:none;text-decoration:underline;color:#26659A;min-height:36px;padding:0 6px}
