/* Coral final responsive layer — loaded after page styles */
html, body { width:100%; max-width:100%; overflow-x:hidden; }
body { min-height:100vh; }
main { width:100%; min-width:0; }
img, video, canvas, svg { max-width:100%; }
.mobile-table-scroll, .table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.mobile-table-scroll table, .table-wrap table { width:100%; }
.coral-nav-backdrop { display:none; }

@media (max-width:1050px) {
  .coral-topbar { position:sticky; top:0; z-index:100; flex-wrap:nowrap !important; min-height:64px; padding:10px 14px !important; gap:12px; }
  .coral-topbar .brand-block { min-width:0; }
  .coral-topbar .brand-word { font-size:1rem; }
  .coral-topbar .brand-tagline { max-width:210px; overflow:hidden; text-overflow:ellipsis; }
  .coral-topbar .nav-mobile-toggle { display:inline-flex !important; align-items:center; justify-content:center; width:44px; height:44px; margin-left:auto; flex:0 0 44px; z-index:103; }
  .topbar .coral-nav { display:flex !important; position:fixed !important; top:0; right:0; bottom:0; width:min(340px,88vw) !important; height:100dvh; margin:0 !important; padding:76px 16px 24px !important; flex-direction:column !important; align-items:stretch !important; flex-wrap:nowrap !important; gap:5px !important; overflow-y:auto; background:#141416; border:0 !important; border-left:1px solid var(--border) !important; box-shadow:-18px 0 50px rgba(0,0,0,.48); transform:translateX(105%); transition:transform .22s ease; z-index:102; }
  .topbar .coral-nav.open { transform:translateX(0); }
  .coral-nav-backdrop { display:block; position:fixed; inset:0; background:rgba(0,0,0,.58); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; z-index:101; }
  .coral-nav-backdrop.open { opacity:1; visibility:visible; }
  body.coral-nav-open { overflow:hidden; }
}@media (max-width:1050px) {
  .topbar .coral-nav > a, .topbar .coral-nav .nav-menu-trigger { width:100%; margin:0 !important; padding:12px 13px !important; text-align:left; justify-content:space-between; border:0; border-radius:10px; font-size:.94rem; color:var(--muted); background:transparent; appearance:none; -webkit-appearance:none; }
  .topbar .coral-nav > a.active { background:var(--gold-soft); color:var(--gold); }
  .topbar .coral-nav .nav-menu { width:100%; }
  .topbar .coral-nav .nav-menu-panel { display:none !important; position:static !important; min-width:0; margin:2px 0 8px 12px; padding:4px 0 4px 10px; border:0; border-left:1px solid var(--border); border-radius:0; box-shadow:none; background:transparent; }
  .topbar .coral-nav .nav-menu.expanded .nav-menu-panel { display:grid !important; }
  .topbar .coral-nav .nav-menu-panel a { margin:0 !important; padding:10px 11px !important; border:0 !important; font-size:.88rem; }
  .topbar .coral-nav .property-switcher { width:100%; max-width:none; margin:10px 0 3px; }
  .topbar .coral-nav .staff-chip { display:block; margin:13px 2px 5px !important; padding-top:13px; border-top:1px solid var(--border); white-space:normal; }
  .topbar .coral-nav .tiny-btn { width:100%; min-height:44px; margin:2px 0 !important; }
  .grid-2, .line-row, .pos-layout { grid-template-columns:1fr !important; }
  .tab-row { flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:5px; }
  .tab-btn { flex:0 0 auto; white-space:nowrap; }
  .modal { width:min(560px,calc(100vw - 24px)) !important; max-width:calc(100vw - 24px) !important; max-height:calc(100dvh - 24px) !important; }
  .mobile-table-scroll table, .table-wrap table { min-width:680px; }
}@media (max-width:700px) {
  main { padding:18px 14px 44px !important; }
  h1 { font-size:1.55rem; line-height:1.15; }
  .subtitle { font-size:.84rem; line-height:1.45; }
  .card, .command-card, .kpi-card { border-radius:14px; padding:15px !important; }
  .report-grid, .room-grid, .task-grid { grid-template-columns:1fr 1fr !important; gap:9px !important; }
  .kpi-grid { grid-template-columns:1fr 1fr !important; gap:9px !important; }
  .dashboard-grid { grid-template-columns:1fr !important; }
  .ops-grid { grid-template-columns:1fr 1fr !important; }
  input, select, textarea { font-size:16px !important; min-height:44px; }
  button, .btn, .tiny-btn { min-height:44px; }
  .modal-backdrop { align-items:flex-end; padding:0; }
  .modal { width:100% !important; max-width:100% !important; max-height:90dvh !important; border-radius:18px 18px 0 0 !important; padding:18px !important; }
  .toast { left:14px; right:14px; bottom:14px; width:auto; }
}
@media (max-width:430px) {
  .coral-topbar .brand-tagline { max-width:155px; font-size:.58rem; }
  .report-grid, .room-grid, .task-grid { grid-template-columns:1fr !important; }
  .kpi-grid { grid-template-columns:1fr 1fr !important; }
  .kpi-value { font-size:1.65rem !important; }
  .ops-grid { grid-template-columns:1fr 1fr !important; }
  .mobile-table-scroll table, .table-wrap table { min-width:620px; }
}
