/* TutorFlow — mobil uyğunlaşma */
@media (max-width: 1100px) {
  .form-layout { grid-template-columns: minmax(0, 1fr) 280px; }
  .settings-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
  .topbar { display: flex; align-items: center; gap: 10px; position: sticky; top: 0; z-index: 30; height: 54px; padding: 0 12px;
    background: var(--rp-card); border-bottom: 1px solid var(--rp-border); }
  .topbar-title { font-weight: 700; color: var(--rp-role); font-size: 17px; }
  .sidebar { transform: translateX(-100%); transition: transform .25s ease; box-shadow: none; z-index: 120; }
  body.nav-open .sidebar { transform: translateX(0); box-shadow: 8px 0 30px rgba(0, 0, 0, .15); }
  .nav-overlay { display: block; position: fixed; inset: 0; background: rgba(26, 26, 46, .35); opacity: 0; visibility: hidden; transition: opacity .25s; z-index: 110; }
  body.nav-open .nav-overlay { opacity: 1; visibility: visible; }

  .main { margin-left: 0; padding: 16px 16px 92px; }
  .mobile-nav { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
    background: var(--rp-card); border-top: 1px solid var(--rp-border); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
  .mobile-nav a { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 11px; color: var(--rp-text-muted); padding: 4px 0; }
  .mobile-nav a .ti { font-size: 22px; }
  .mobile-nav a.active { color: var(--rp-role); }
  .mobile-nav a:hover { text-decoration: none; }

  .grid-2, .grid-2-wide, .form-layout, .report-layout { grid-template-columns: minmax(0, 1fr); }
  .sticky { position: static; }
  .report-menu { flex-direction: row; overflow-x: auto; }
  .report-menu a { white-space: nowrap; }
  h1 { font-size: 19px; }
}

@media (max-width: 600px) {
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .span-2 { grid-column: auto; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .stat { padding: 12px; gap: 10px; }
  .stat > .ti { width: 38px; height: 38px; font-size: 20px; }
  .stat-val { font-size: 16px; }
  .card { padding: 14px; }
  .filters input, .filters select, .filters input[type=search] { min-width: 0; width: 100%; flex: 1 1 100%; }
  .att-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .seg { width: 100%; }
  .seg label { flex: 1; }
  .seg span { justify-content: center; width: 100%; padding: 9px 4px; }
  .side-panel { width: 100%; right: -100%; }
  .dl { grid-template-columns: 120px minmax(0, 1fr); }
  .cal-cell { min-height: 46px; padding: 4px; }
  .calendar { gap: 3px; }
  .page-head .btn-row { width: 100%; }
  .inline-form { flex-wrap: wrap; }
  .table th, .table td { padding: 8px 6px; }
}
