*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f1f5f9;font-family:DM Sans,system-ui,sans-serif}input,select,textarea,button{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}@media print{body *{visibility:hidden}#print-area,#print-area *{visibility:visible}#print-area{z-index:9999;width:100%;position:fixed;top:0;left:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}#print-area .no-print,#print-area .noprint,#print-area button{display:none!important}}

/* Mobile Responsiveness */
@media(max-width:768px){
  body{overflow-x:hidden}
  [class*="sidebar"],[style*="width:220"]{display:none!important}
  [style*="maxWidth:900"]{max-width:100%!important;padding:8px!important}
  [style*="padding:20px 24px"]{padding:12px 8px!important}
  [style*="padding:24px 28px"]{padding:12px 8px!important}
  input,select,textarea{font-size:16px!important}
  [style*="gridTemplateColumns:'1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="display:flex"][style*="gap"]{flex-wrap:wrap}
  [style*="width:240"]{width:100%!important;min-width:unset!important}
  [style*="minWidth:260"]{min-width:100%!important}
  table{font-size:10px!important}
  [style*="fontSize:22"]{font-size:16px!important}
  [style*="fontSize:28"]{font-size:20px!important}
}
@media(max-width:480px){
  [style*="padding:40px 24px"]{padding:20px 12px!important}
  [style*="gridTemplateColumns"]{grid-template-columns:1fr!important}
}

/* ===== MOBILE RESPONSIVE - Al Yash Tourism Portal ===== */
@media(max-width:768px){
  /* Sidebar - hide on mobile, use bottom nav */
  [style*="width:220"],[style*="width: 220"]{display:none!important}
  /* Main content full width */
  [style*="marginLeft:220"],[style*="margin-left:220px"]{margin-left:0!important}
  /* Padding reduce */
  [style*="padding:24px 28px"]{padding:12px!important}
  [style*="padding:40px 24px"]{padding:20px 12px!important}
  [style*="padding:20px 24px"]{padding:12px!important}
  /* Grid to single col */
  [style*="gridTemplateColumns:'1fr 1fr"],[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="gridTemplateColumns: '1fr 1fr"]{grid-template-columns:1fr!important}
  /* Tables */
  table{font-size:10px!important}
  [style*="minWidth:900"]{min-width:600px!important}
  /* Input font size - prevent zoom on iOS */
  input,select,textarea{font-size:16px!important}
  /* Cards */
  [style*="width:240"]{width:calc(100vw - 40px)!important}
  /* Flex wrap */
  [style*="display:flex"][style*="gap"]{flex-wrap:wrap!important}
  /* Font sizes */
  [style*="fontSize:28"]{font-size:20px!important}
  [style*="fontSize:22"]{font-size:18px!important}
  /* Max width */
  [style*="maxWidth:960"]{max-width:100%!important;padding:8px!important}
  [style*="maxWidth:900"]{max-width:100%!important}
  [style*="maxWidth:760"]{max-width:100%!important}
  /* Buttons full width on mobile */
  .mobile-full{width:100%!important}
}
@media(max-width:480px){
  [style*="padding:16px 20px"]{padding:10px 8px!important}
  [style*="gridTemplateColumns:'1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="gap:20"]{gap:10px!important}
}
/* ===== PERFORMANCE - prevent layout thrash ===== */
*{box-sizing:border-box}
img{max-width:100%;height:auto}

/* 2026-09-30 responsive hardening */
html,body,#root{max-width:100%;overflow-x:hidden}img{max-width:100%}
@media (max-width:768px){
  [style*="padding: 20px 24px"],[style*="padding:20px 24px"],[style*="padding: 24px 28px"],[style*="padding:24px 28px"]{padding:14px 12px!important}
  [style*="grid-template-columns: 1fr 1fr 1fr 1fr"],[style*="grid-template-columns:1fr 1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"],[style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr auto"],[style*="grid-template-columns:1fr 1fr auto"],
  [style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}
  [style*="grid-template-columns: 90px 1fr"],[style*="grid-template-columns:90px 1fr"]{grid-template-columns:82px minmax(0,1fr)!important}
  input,select,textarea,button{max-width:100%}
  table{max-width:100%}
}
@media (max-width:480px){
  [style*="padding: 40px 24px"],[style*="padding:40px 24px"]{padding:24px 10px!important}
  [style*="width: 240px"],[style*="width:240px"]{width:100%!important;max-width:320px}
}

/* Al Yash Tourism: mobile spacing and compact tracking tabs */
@media (max-width: 600px) {
  .ayt-home-page {
    min-height: 100dvh !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding-top: calc(22px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .ayt-home-content {
    width: 100% !important;
    max-width: 700px !important;
    padding: 12px 18px 0 !important;
    margin: 0 auto !important;
  }
  .ayt-home-content > img {
    margin-top: 4px !important;
    margin-bottom: 20px !important;
  }
  .ayt-home-content h1 {
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.16 !important;
    margin-bottom: 10px !important;
  }
  .ayt-home-content p {
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-bottom: 28px !important;
  }
  .ayt-home-cards {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 30px !important;
  }
  .ayt-home-cards > div {
    padding: 24px 20px !important;
  }
  .ayt-home-cards > div > div:last-child {
    white-space: nowrap !important;
    max-width: 100% !important;
    font-size: 12px !important;
    padding: 10px 14px !important;
  }
  .ayt-track-page {
    min-height: 100dvh !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }
  .ayt-track-nav {
    padding: 14px 18px !important;
    min-height: 68px !important;
  }
  .ayt-track-content {
    min-height: auto !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 26px 16px calc(42px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .ayt-track-panel {
    width: 100% !important;
    max-width: 720px !important;
    padding: 24px 16px !important;
    border-radius: 18px !important;
  }
  .ayt-track-tabs {
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  .ayt-track-tab {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    padding: 9px 5px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.2px !important;
  }
  .ayt-track-panel h1 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }
}
@media (max-width: 360px) {
  .ayt-track-panel { padding-left: 12px !important; padding-right: 12px !important; }
  .ayt-track-tab { font-size: 10px !important; padding-left: 3px !important; padding-right: 3px !important; }
}
