/* Адаптивность для всех кабинетов (подключается последним, после desktop.css).
   Телефон 320–480, планшет 600–899, ноутбук/десктоп ≥900 (боковая панель — в desktop.css). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:100vh;min-height:100dvh}
img,video,canvas,svg{max-width:100%}
main{overflow-wrap:break-word}
main :is(.clean-card,.compact-alert,.panel,.card,.field){max-width:100%;min-width:0}
main table{display:block;max-width:100%;overflow-x:auto}
/* Поля ввода: 16px, чтобы iOS не увеличивал страницу при фокусе; ширина не больше контейнера */
input,select,textarea{font-size:16px;max-width:100%}
/* Область касания не меньше 44×44 */
.mode-pill,#modeBtnTop{min-height:44px}
.segmented button,.bottom-nav button{min-height:44px}
/* Подписи нижней навигации читаемы на узких экранах */
.role-bottom-nav button span{font-size:11px}
@media(max-width:360px){.role-bottom-nav button span{font-size:10px}}
/* Кнопка «Сменить режим» в шапке: на узких экранах влезает целиком */
.mode-pill,#modeBtnTop{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:400px){.mode-pill,#modeBtnTop{max-width:min(46vw,160px)!important;font-size:12px!important;padding-left:10px!important;padding-right:10px!important}}
.segmented button{font-size:13px}
/* Планшет: две колонки там, где на телефоне одна */
@media(min-width:600px) and (max-width:899px){
  main{max-width:720px}
  .quick-grid,.cabinet-grid,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis,.cabinet-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .details-grid,.participant-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Ноутбук/десктоп: формы не растягиваются на всю ширину, карточки списков — в две колонки */
@media(min-width:900px){
  main .field,main .form-block{max-width:680px}
  main .field input,main .field select,main .field textarea{max-width:100%}
  #carpoolFeed,#cpBody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
  #carpoolFeed>h3,#cpBody>h3,#cpBody>.empty,#carpoolFeed>.empty{grid-column:1/-1}
  #cpBody>.clean-card:first-child{grid-column:1/-1;max-width:760px}
}
/* Низкие экраны (телефон в ландшафте): меньше отступов у шапки и панели */
@media(max-height:480px) and (orientation:landscape){
  header{padding-top:max(6px,env(safe-area-inset-top))!important;padding-bottom:6px!important}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}
}
/* Вторичная ссылка-кнопка (например, «Пожаловаться») */
button.link{background:none!important;border:0!important;box-shadow:none!important;color:var(--muted,#a8b7ce);text-decoration:underline;font-size:13px;min-height:44px;width:auto;padding:8px 4px;margin-top:4px}
