/* Martynov-Class 2.0.0-alpha48 — единые адаптивные контейнеры и исправления UX. */

/* Любой экран и карточка сжимаются по доступной ширине, а длинный контент не раздвигает сетку. */
.workspace,.page-head,.page-content,.page-content>*{min-width:0;max-width:100%}
.page-content :where(main,section,article,aside,header,footer,nav,div,form,fieldset,dl,ul,ol){min-width:0}
.page-content :where(.card,.section,.mc-panel,.mc-rail-card,.mc-settings-card,.mc-profile-form,.calendar-shell,.mc-class-card,.admin-table-wrap,.mc-table-wrap){box-sizing:border-box;max-width:100%;min-width:0}
.page-content :where(h1,h2,h3,h4,p,li,dt,dd,strong,small,span,a,button,label,th,td,blockquote){overflow-wrap:anywhere}
.page-content :where(img,video,iframe,canvas,svg){max-width:100%}
.page-content :where(.grid,.mc-dashboard-grid,.mc-entity-split,.mc-settings-grid,.mc-admin-overview,.mc-admin-two-column,.mc-profile-page){grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.page-content :where(.inline,.row-actions,.mc-panel-head,.section-header,.mc-comment-actions,.calendar-toolbar,.calendar-navigation){min-width:0;flex-wrap:wrap}
.mc-table-wrap,.admin-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.mc-table,.admin-table{max-width:none}

/* Верхняя панель: аватар всегда остаётся внутри собственного круглого контейнера. */
.topbar{min-width:0}
.global-search-wrap{min-width:120px;flex:1 1 420px}
.topbar-utility{min-width:0;max-width:100%;flex:0 1 auto}
.topbar-user{box-sizing:border-box;min-width:0;max-width:min(286px,32vw);overflow:hidden;flex:0 1 auto}
.topbar-user-link{width:100%;min-width:0;overflow:hidden}
.topbar-avatar{box-sizing:border-box;width:36px!important;height:36px!important;min-width:36px;max-width:36px;flex:0 0 36px;overflow:hidden;contain:paint}
.topbar-avatar img{width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center;border-radius:50%}
.topbar-user-copy{min-width:0!important;max-width:190px}
.topbar-user-copy strong,.topbar-user-copy span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Общая оболочка модальных окон вместо индивидуальных исправлений для каждой формы. */
.modal{box-sizing:border-box;width:min(720px,calc(100vw - 32px));max-width:calc(100vw - 32px)}
.modal.large{width:min(1050px,calc(100vw - 32px));max-width:calc(100vw - 32px)}
.modal-header,.modal-body,.modal-footer,.modal-body>*{min-width:0;max-width:100%;box-sizing:border-box}
.modal-header h2{min-width:0;overflow-wrap:anywhere}
.modal-body :where(.form-grid,.grid,.mc-settings-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
.modal-body :where(label,input,textarea,select,fieldset,button){box-sizing:border-box;min-width:0;max-width:100%}
.modal-body :where(p,span,strong,small,label,legend,button){overflow-wrap:anywhere}
.modal-footer{flex-wrap:wrap}

/* Редактор аватара. */
.mc-avatar-editor{display:grid;gap:16px;justify-items:center}
.mc-avatar-editor>p{width:100%;margin:0}
.mc-avatar-crop-stage{position:relative;width:min(480px,100%);aspect-ratio:1;overflow:hidden;border-radius:20px;background:#101827;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.mc-avatar-crop-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}
.mc-avatar-crop-stage canvas:active{cursor:grabbing}
.mc-avatar-crop-mask{position:absolute;inset:3px;border:3px solid rgba(255,255,255,.96);border-radius:50%;box-shadow:0 0 0 999px rgba(2,8,20,.58);pointer-events:none}
.mc-avatar-editor-controls{display:grid;gap:14px;width:min(480px,100%)}
.mc-avatar-editor-controls label{display:grid;grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:14px}
.mc-avatar-editor-controls input[type="range"]{width:100%}

/* Календарь: действия доступны во всех режимах, включая месяц. */
.calendar-event{min-width:0;overflow:hidden}
.calendar-event>strong,.calendar-event-meta,.calendar-event-time{max-width:100%;overflow-wrap:anywhere}
.calendar-month .calendar-event-actions{display:flex}
.calendar-event-actions{align-items:stretch;gap:5px}
.calendar-event-actions .button{min-width:0;min-height:30px;height:auto;padding:5px 8px;line-height:1.2;white-space:normal}
.calendar-event-actions.compact .button{flex:1 1 72px;font-size:10px}
.calendar-day,.calendar-events{min-width:0}

/* Управление пользователями в админ-панели. */
.mc-admin-user-management{margin-top:16px}
.mc-admin-user-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,220px) minmax(150px,220px) auto;align-items:center;gap:10px;margin:0 0 16px}
.mc-admin-user-filters .mc-search-field{width:100%;min-width:0}
.mc-admin-user-filters :where(input,select,button){min-width:0;width:100%}
.mc-admin-user-table{min-width:1040px}
.mc-admin-user-table td{vertical-align:middle}
.mc-admin-user-table td>span,.mc-admin-user-table td>small{display:block}
.mc-admin-user-table td>small,.mc-admin-user-access{margin-top:4px;color:var(--mds-text-secondary,var(--muted));font-size:11px}
.mc-admin-user-table tr.is-archived{opacity:.7}
.mc-admin-user-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:230px}
.mc-admin-user-actions .button{flex:1 1 auto;padding-inline:9px}

/* Alpha 49: stable dashboard, linked student names and the lesson review rail. */
.mc-dashboard-grid-next{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr)!important;align-items:start}
.mc-dashboard-side-stack{display:grid;gap:16px;align-content:start;min-width:0}
.mc-next-session-row{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}
.mc-next-session-row:hover{background:var(--mds-surface-subtle,var(--surface-2))}
.mc-next-session-row>span:nth-child(2){display:grid;gap:4px;min-width:0}.mc-next-session-row small{color:var(--mds-text-secondary,var(--muted));overflow-wrap:anywhere}
.mc-student-cell-link{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.mc-student-cell-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.mc-live-lesson-review-grid{margin-top:0!important}.mc-live-lesson-review-grid .mc-lesson-review-comments{margin:0;padding:0;border:0;background:transparent}.mc-live-lesson-review-grid .mc-review-cloud-rail{min-width:0}
.mc-live-lesson-review-grid .mc-lesson-review-comments>h3{margin:0 0 10px;font-size:14px}.mc-live-lesson-review-grid .mc-cloud-inline-review-editor{margin-top:10px}
.mc-task-statement-image{float:none!important;clear:both!important;display:block!important;margin:14px auto 18px!important}

@media(max-width:1180px){
  .topbar-user-copy{max-width:125px}
  .topbar-user-copy>span{display:none}
  .mc-admin-user-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mc-dashboard-grid-next{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:760px){
  .page-content :where(.grid,.mc-dashboard-grid,.mc-entity-split,.mc-settings-grid,.mc-admin-overview,.mc-admin-two-column,.mc-profile-page){grid-template-columns:minmax(0,1fr)}
  .modal-backdrop{padding:8px}
  .modal,.modal.large{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
  .modal-header,.modal-body{padding:16px}
  .modal-footer{padding:12px 16px 16px}
  .modal-footer .button{flex:1 1 130px}
  .modal-body :where(.form-grid,.grid,.mc-settings-grid){grid-template-columns:minmax(0,1fr)}
  .mc-avatar-crop-mask{inset:3px}
  .mc-avatar-editor-controls label{grid-template-columns:1fr}
  .mc-avatar-editor-controls .inline{display:grid;grid-template-columns:1fr 1fr}
  .mc-avatar-editor-controls .inline .button:last-child{grid-column:1/-1}
  .calendar-toolbar{align-items:stretch}
  .calendar-navigation{width:100%}
  .calendar-period{flex:1 1 100%;text-align:center}
  .mc-admin-user-filters{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:420px){
  .topbar-utility{gap:3px}
  .theme-toggle,.utility-button{width:38px;height:38px}
  .page-content{padding-inline:12px}
}
