/*
 * Peugeot Traveller – Verwaltungsoberfläche Mobil
 * Version: 2.7.5 | 2026-10-14 17:44:58
 */

/* Identische mobile Schriftstufe wie in der Akte; keine Skalierung der Bedienelemente. */
@media screen and (max-width: 768px) {
  :root { --mobile-type-scale: .9375; }
}

@media (max-width: 768px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { font-size: calc(16px * var(--mobile-type-scale, 1)); }
  .admin-main { width: 100%; margin-left: 0; padding: 76px 10px 28px; }
  .admin-menu-toggle { position: fixed; top: 10px; left: 10px; z-index: 70; display: grid; width: 46px; height: 46px; padding: 0; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: var(--navy); box-shadow: 0 8px 24px rgba(10,45,67,.25); }
  .admin-sidebar { z-index: 65; width: min(86vw, 320px); padding: 72px 14px 18px; transform: translateX(-104%); transition: transform .2s ease; }
  body.admin-nav-open { overflow: hidden; }
  body.admin-nav-open .admin-sidebar { transform: translateX(0); }
  .admin-backdrop { position: fixed; inset: 0; z-index: 60; display: block; visibility: hidden; border: 0; background: rgba(4,24,36,.68); opacity: 0; transition: opacity .2s, visibility .2s; }
  body.admin-nav-open .admin-backdrop { visibility: visible; opacity: 1; }
  .admin-page-header { margin-bottom: 20px; padding: 0 4px; align-items: flex-start; flex-direction: column; gap: 16px; }
  .admin-page-header .button { width: 100%; }
  h1 { max-width: 100%; font-size: calc(clamp(2rem, 10vw, 2.75rem) * var(--mobile-type-scale, 1)); overflow-wrap: anywhere; hyphens: auto; }
  h2 { max-width: 100%; font-size: calc(1.35rem * var(--mobile-type-scale, 1)); overflow-wrap: anywhere; hyphens: auto; }
  .admin-card { margin-bottom: 12px; padding: 20px 16px; border-radius: 14px; }
  .card-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
  .card-heading .button { width: 100%; }
  .card-heading-actions { width: 100%; flex-direction: column; }
  .form-grid, .form-grid-3, .option-grid, .metric-overview { grid-template-columns: 1fr; gap: 15px; }
  .field-span-2, .field-span-3 { grid-column: auto; }
  .metric-overview { margin-bottom: 12px; }
  .metric-card > strong { font-size: calc(2rem * var(--mobile-type-scale, 1)); }
  .check-line { align-items: flex-start; }
  .check-copy { display: grid; gap: 2px; }
  .repeater-row, .media-editor-row { grid-template-columns: 1fr; gap: 11px; padding: 13px; }
  .media-library-grid { grid-template-columns: 1fr; }
  .media-library-preview { min-height: 180px; }
  .media-library-actions { flex-direction: column; }
  .media-library-actions .button { width: 100%; }
  .media-metadata div { grid-template-columns: 76px minmax(0, 1fr); }
  .repeater-remove { justify-self: end; }
  .asset-chip { width: 100%; max-width: 100%; }
  .form-actions { flex-direction: column-reverse; }
  .form-actions .button { width: 100%; }
  .table-wrap { margin: 0 -16px; padding: 0 16px; }
  .entry-table { min-width: 760px; }
  .revision-card summary { padding: 14px; align-items: flex-start; flex-direction: column; gap: 8px; }
  .revision-content { padding: 14px; }
  .admin-login-page { min-height: 100svh; min-height: 100dvh; padding: 10px; align-items: center; overscroll-behavior-y: contain; }
  .admin-login-page.admin-keyboard-open { height: var(--admin-visual-height, 100dvh); min-height: var(--admin-visual-height, 100dvh); padding-top: max(10px, env(safe-area-inset-top)); padding-bottom: max(10px, env(safe-area-inset-bottom)); align-items: start; overflow-y: auto; }
  .admin-login-page.admin-keyboard-open .admin-login-shell { margin: 0 auto; }
  .login-card { padding: 24px 20px; border-radius: 17px; }
  .login-mark img { width: 52px; height: 52px; }
  .admin-toast-region { right: 2px; bottom: 2px; left: 2px; width: auto; gap: 2px; }
  .admin-toast { border-radius: 8px; }
  .error-panel { margin: 0; padding: 26px 20px; }
  .error-code { font-size: calc(4.5rem * var(--mobile-type-scale, 1)); }
}
