/* Al Yash portal responsive shell — PRO baseline + focused fixes */
*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;min-width:0;margin:0}body{overflow:hidden}.portal-mobile-menu,.portal-mobile-overlay,.portal-drawer-close{display:none}
/* App shell: sidebar fixed in viewport; only right workspace scrolls */
.portal-sidebar-mobile{height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;align-self:flex-start!important;flex:0 0 215px!important}
.portal-main-mobile{height:100dvh!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch}
/* supplied brand art: never distort */
img[src*="logo"]{object-fit:contain!important;object-position:center!important}
/* desktop/tablet workspace */
@media (min-width:901px){
 .portal-sidebar-mobile{position:sticky!important;top:0!important}
 .portal-main-mobile{width:calc(100% - 215px)!important}
}
/* mobile drawer */
@media (max-width:900px){
 body{overflow:hidden!important}.drawer-open{overflow:hidden!important}#root{width:100%!important;min-width:0!important}
 .portal-mobile-menu{display:flex;position:fixed;top:10px;left:10px;z-index:10050;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#0f172a;color:#fff;align-items:center;justify-content:center;font-size:0;box-shadow:0 5px 18px rgba(15,23,42,.25);cursor:pointer}
 .portal-mobile-menu:before{content:'☰';font-size:24px;line-height:1}.drawer-open .portal-mobile-menu{display:none!important}
 .portal-mobile-overlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:10030;opacity:0;visibility:hidden;transition:.2s}.portal-mobile-overlay.is-open{opacity:1;visibility:visible}
 .portal-sidebar-mobile{display:flex!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,280px)!important;max-width:280px!important;z-index:10040!important;transform:translateX(-103%);transition:transform .22s ease;box-shadow:10px 0 32px rgba(0,0,0,.3)}
 .portal-sidebar-mobile.is-open{transform:translateX(0)}
 .portal-drawer-close{display:flex;position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#fff;align-items:center;justify-content:center;font-size:21px;z-index:5;cursor:pointer}
 .portal-main-mobile{width:100%!important;height:100dvh!important;max-width:100vw!important;padding-top:60px!important;overflow-y:auto!important;overflow-x:hidden!important}
 .portal-main-mobile>div{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
 /* React inline grids */
 [style*="grid-template-columns: 1fr 300px"],[style*="grid-template-columns:1fr 300px"]{grid-template-columns:minmax(0,1fr)!important}
 [style*="grid-template-columns: 1fr 1fr 1fr"],[style*="grid-template-columns:1fr 1fr 1fr"],[style*="grid-template-columns: repeat(3"],[style*="grid-template-columns:repeat(3"]{grid-template-columns:minmax(0,1fr)!important}
 [style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}
 [style*="grid-template-columns: repeat(4"],[style*="grid-template-columns:repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 h1,h2,h3,h4,p{max-width:100%}img,svg{max-width:100%;height:auto}input,select,textarea,button{max-width:100%;min-width:0}.field-input{font-size:16px!important}
 /* dashboards/cards should fill phone, never retain desktop side column */
 .portal-main-mobile [style*="max-width: 1200px"],.portal-main-mobile [style*="max-width:1200px"]{width:100%!important}
 /* tables: keep readable columns and scroll inside their own card */
 .portal-main-mobile table{min-width:720px!important;width:100%!important;table-layout:auto!important}
 .portal-main-mobile table th,.portal-main-mobile table td{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
 .portal-main-mobile table th{font-size:10px!important;letter-spacing:.04em!important}
 /* voucher preview can scroll locally instead of crushing typography */
 #print-area{max-width:760px!important;margin:0 auto!important;transform:none!important;box-sizing:border-box!important}
}
@media (max-width:560px){
 .portal-main-mobile{padding-top:58px!important}
 [style*="padding:20px 24px"],[style*="padding: 20px 24px"],[style*="padding:24px"],[style*="padding: 24px"]{padding:12px!important}
 [style*="padding:40px 24px"],[style*="padding: 40px 24px"]{padding:14px 10px!important}
 [style*="gap:20px"],[style*="gap: 20px"]{gap:10px!important}
 [style*="grid-template-columns: repeat(4"],[style*="grid-template-columns:repeat(4"]{grid-template-columns:minmax(0,1fr)!important}
}
@media print{
 @page{size:A4;margin:8mm}html,body,#root{background:#fff!important;width:auto!important;height:auto!important;overflow:visible!important}.portal-mobile-menu,.portal-mobile-overlay,.portal-drawer-close,.portal-sidebar-mobile{display:none!important}.portal-main-mobile{padding:0!important;height:auto!important;overflow:visible!important;width:auto!important}#print-area{width:100%!important;max-width:none!important;margin:0!important;transform:none!important;box-shadow:none!important}#print-area *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
/* Flight manual form — responsive hardening (flight-only) */
@media (max-width:900px){
 .portal-main-mobile [style*="grid-template-columns:90px 1fr 150px 130px 34px"],
 .portal-main-mobile [style*="grid-template-columns: 90px 1fr 150px 130px 34px"],
 .portal-main-mobile [style*="grid-template-columns:1fr 1fr 1fr 1fr"],
 .portal-main-mobile [style*="grid-template-columns: 1fr 1fr 1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}
 .portal-main-mobile [style*="grid-template-columns:1fr 1fr 1fr"],
 .portal-main-mobile [style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}
}

/* Flight Search readability — based on client reference: navy surface, light labels, orange action. */
.alyash-flight-search-readable{background:#0f172a!important;color:#f8fafc!important}
.alyash-flight-search-readable label{color:#f8fafc!important;opacity:1!important}
.alyash-flight-search-readable input,.alyash-flight-search-readable select{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important}
.alyash-flight-search-readable input::placeholder{color:#64748b!important;opacity:1!important}
/* Exact sidebar section-label accent (inline-color override fallback). */
.portal-sidebar-mobile [style*="font-size: 9px"][style*="letter-spacing"]{opacity:1}

/* Keep the two booking tabs on one line on narrow phones. */
@media (max-width: 600px) {
  .ayt-track-page .ayt-track-panel .ayt-track-tabs {
    flex-wrap: nowrap !important;
  }
  .ayt-track-page .ayt-track-panel .ayt-track-tab {
    white-space: nowrap !important;
  }
}
