/* ==========================================================
   Polish mobile / APK Android - rendu applicatif professionnel
   Ne modifie que l'affichage téléphone/tablette, pas la logique PHP.
   ========================================================== */
@media (max-width: 900px) {
  :root{
    --app-bg:#eef3f8;
    --app-card:#ffffff;
    --app-text:#0f172a;
    --app-muted:#64748b;
    --app-blue:#1677e8;
    --app-green:#168a50;
    --app-border:#dce6ef;
    --app-radius:22px;
  }

  html{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }

  body{
    background:var(--app-bg) !important;
    color:var(--app-text) !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  .content,
  body.sidebar-collapsed .content,
  main{
    padding:18px 14px 96px !important;
    background:var(--app-bg) !important;
  }

  /* En-tête compact type application Android */
  .modern-topbar,
  .topbar.modern-topbar,
  .topbar{
    min-height:74px !important;
    padding:12px 14px !important;
    margin:0 0 14px !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(15,23,42,.08) !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
  }

  .topbar-left{min-width:0 !important; flex:1 1 auto !important;}
  .topbar-left .mini-muted,
  .topbar .mini-muted{
    font-size:12px !important;
    font-weight:700 !important;
    color:var(--app-muted) !important;
    line-height:1.15 !important;
  }
  .topbar-left .fw-bold,
  .topbar .fw-bold.fs-5{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:19px !important;
    line-height:1.12 !important;
    letter-spacing:-.02em !important;
  }

  #topMenuBtn,
  .mobile-menu-open-btn{
    position:static !important;
    width:54px !important;
    min-width:54px !important;
    height:54px !important;
    padding:0 !important;
    border-radius:18px !important;
    background:#168a50 !important;
    box-shadow:none !important;
    color:#fff !important;
  }
  #topMenuBtn span,
  .mobile-menu-open-btn span{display:none !important;}
  #topMenuBtn i,
  .mobile-menu-open-btn i{font-size:24px !important;}

  .topbar-center,
  .topbar-right{display:none !important;}

  .brand-icon,
  .topbar img,
  .brand img{
    max-width:44px !important;
    max-height:44px !important;
  }

  /* Titres de page plus équilibrés */
  h1,.h1{font-size:27px !important; line-height:1.08 !important; letter-spacing:-.035em !important; margin-bottom:8px !important;}
  h2,.h2{font-size:23px !important; line-height:1.12 !important; letter-spacing:-.025em !important;}
  h3,.h3{font-size:20px !important; line-height:1.16 !important;}
  h4,.h4,.section-title{font-size:19px !important; line-height:1.18 !important;}
  p,.text-muted,li{font-size:15px !important; line-height:1.42 !important;}

  /* Cartes moins énormes, plus natives */
  .card,
  .stat-card,
  .dashboard-stat-card,
  .planning-calendar-card,
  .calendar-card,
  .profile-card,
  .dashboard-card,
  .reservation-card{
    border-radius:22px !important;
    border:1px solid rgba(148,163,184,.20) !important;
    box-shadow:0 10px 26px rgba(15,23,42,.07) !important;
    overflow:hidden !important;
  }

  .card-body,
  .card.p-4,
  .stat-card.p-4,
  .profile-card,
  .dashboard-card{
    padding:18px !important;
  }

  /* Accueil : hero plus compact, toujours élégant */
  .dashboard-hero-modern{
    border-radius:24px !important;
    padding:28px 22px !important;
    margin-bottom:16px !important;
    min-height:auto !important;
  }
  .dashboard-hero-content{
    display:block !important;
  }
  .dashboard-eyebrow{
    width:max-content !important;
    max-width:100% !important;
    padding:8px 14px !important;
    font-size:13px !important;
    border-radius:999px !important;
  }
  .dashboard-hero-modern h1{
    font-size:29px !important;
    line-height:1.08 !important;
    margin:16px 0 10px !important;
  }
  .dashboard-hero-modern p{
    font-size:17px !important;
    line-height:1.36 !important;
    margin-bottom:18px !important;
  }
  .dashboard-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .dashboard-hero-actions .btn{
    min-height:54px !important;
    border-radius:16px !important;
    font-size:17px !important;
    font-weight:800 !important;
  }
  .dashboard-hero-panel{display:none !important;}

  .dashboard-modern-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  /* Boutons et champs : tailles app mobile, pas web zoomé */
  .btn,
  a.btn,
  button.btn{
    min-height:48px !important;
    border-radius:16px !important;
    padding:11px 14px !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
  }
  .form-control,
  .form-select,
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="password"],
  textarea,
  select{
    min-height:48px !important;
    border-radius:16px !important;
    font-size:16px !important;
    padding:10px 14px !important;
  }
  label,.form-label{font-size:14px !important; font-weight:800 !important; color:#334155 !important;}

  /* Pages Planning / Réserver : moins de vide, cartes plus applicatives */
  body.page-planning_general .content,
  body.page-reserver .content{
    min-height:auto !important;
  }
  body.page-planning_general h1,
  body.page-reserver h1{
    font-size:27px !important;
    margin-top:4px !important;
  }
  body.page-planning_general .lead,
  body.page-reserver .lead,
  body.page-planning_general > p,
  body.page-reserver > p{
    font-size:17px !important;
    margin-bottom:16px !important;
  }
  body.page-planning_general .card,
  body.page-reserver .card{
    padding:12px !important;
  }

  /* Boutons doubles verts : sur Android, lisibles et pas trop hauts */
  .resource-tabs,
  .segmented-control,
  .planning-choice,
  .reservation-choice,
  .btn-group-mobile,
  .mobile-segmented-resource-tabs,
  .mobile-planning-action-buttons{
    border-radius:18px !important;
  }
  body.page-planning_general .btn,
  body.page-reserver .btn{
    font-size:15px !important;
    min-height:50px !important;
    white-space:normal !important;
  }

  /* Profil : photo/titre un peu moins gigantesques */
  body.page-profile_photo .profile-avatar-img,
  body.page-profile_photo img.profile-avatar-img,
  body.page-profile_photo .profile-photo,
  body.page-profile_photo .avatar{
    width:92px !important;
    height:92px !important;
  }
  body.page-profile_photo h1,
  body.page-profile_photo .profile-name{
    font-size:30px !important;
    line-height:1.06 !important;
  }
  body.page-profile_photo .card,
  body.page-profile_photo .profile-card{
    padding:18px !important;
  }

  /* Barre de navigation basse : plus Android, moins massive */
  .mobile-bottom-nav-facebook{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:78px !important;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
    background:rgba(255,255,255,.98) !important;
    border-top:1px solid rgba(148,163,184,.22) !important;
    box-shadow:0 -8px 24px rgba(15,23,42,.08) !important;
    display:grid !important;
    grid-template-columns:repeat(6,1fr) !important;
    gap:2px !important;
    z-index:30000 !important;
  }
  .mobile-bottom-item{
    min-width:0 !important;
    height:62px !important;
    padding:6px 2px !important;
    border-radius:18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    color:#64748b !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-decoration:none !important;
  }
  .mobile-bottom-item i{
    font-size:22px !important;
    line-height:1 !important;
  }
  .mobile-bottom-item span{
    font-size:11px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
  }
  .mobile-bottom-item.active{
    background:#e8f2ff !important;
    color:#1677e8 !important;
  }
  .bottom-nav-avatar,
  .mobile-bottom-profile-item img{
    width:26px !important;
    height:26px !important;
    border-radius:999px !important;
  }

  /* Notifications : filtres moins imposants */
  body.page-notifications .card,
  body.page-notifications form,
  body.page-notifications .filters,
  body.page-notifications .filter-card{
    border-radius:20px !important;
  }
  body.page-notifications .btn{
    min-height:50px !important;
  }

  /* FullCalendar : empêcher le rendu miniature */
  #calendar,
  .fc{
    font-size:14px !important;
    width:100% !important;
    min-width:0 !important;
    transform:none !important;
    zoom:1 !important;
  }
  .fc .fc-toolbar-title{font-size:18px !important;}
  .fc .fc-button{font-size:12px !important; min-height:36px !important; width:auto !important;}
}

@media (max-width: 380px){
  .mobile-bottom-item span{font-size:10px !important;}
  .mobile-bottom-item i{font-size:20px !important;}
  .dashboard-hero-modern h1{font-size:26px !important;}
  .dashboard-hero-modern p{font-size:16px !important;}
  h1,.h1{font-size:25px !important;}
}
