/* ArrHub mobile responsive layer v0.9 — presentation only */
html {min-width:0;-webkit-text-size-adjust:100%}
body {min-width:0;overflow-x:hidden}
button, select, input, textarea {max-width:100%}
select, textarea {font:inherit;color:#edf2fc;background:#132139;border:1px solid #40516e;border-radius:9px;padding:10px}
button {touch-action:manipulation}
:focus-visible {outline:2px solid #78afff;outline-offset:2px}
#content,.panelbox,.detail,.release-dialog,.dv06-pane,.dispatch-detail{min-width:0}
#content * {overflow-wrap:break-word}
.release-dialog,.panelbox,.dispatch-detail {max-width:100%}
@media(max-width:800px){
  main{padding:16px 13px;max-width:100%}
  header{position:relative;padding:12px 14px;gap:9px;align-items:center;justify-content:space-between}
  header h1{font-size:21px;white-space:nowrap}
  header #logout{margin-left:auto;padding:9px 12px}
  /* Every tab remains accessible in the bottom navigation; swipe sideways for more. */
  header nav{position:fixed;bottom:0;left:0;right:0;z-index:800;display:flex;order:unset;width:100%;flex:none;gap:5px;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:8px max(9px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));background:#101c30;border-top:1px solid #334963;box-shadow:0 -8px 24px #050a1499;scrollbar-width:thin}
  header nav .nav{scroll-snap-align:start;white-space:nowrap;flex:0 0 auto;font-size:12px;min-height:44px;padding:10px 13px}
  main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
  .topline{gap:10px;margin-bottom:16px;align-items:center}
  .topline h2{font-size:22px}
  .topline #refresh{padding:10px 12px;flex:0 0 auto}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .tile,.item,.panel,.status-card{padding:12px;min-width:0}
  .tile strong{font-size:23px}
  .toolbar,.search,.dispatch-tools{display:flex;flex-wrap:wrap;gap:8px}
  .toolbar input,.search input,.dispatch-tools input{flex:1 1 100%;min-width:0;max-width:none;width:100%}
  .toolbar select,.dispatch-tools select{flex:1 1 135px;min-width:0;max-width:100%}
  .toolbar button,.search button,.dispatch-tools button{min-height:42px}
  .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
  .media-card{min-width:0}
  .media-card .media-caption{padding:9px;gap:4px}
  .media-card .media-caption strong{font-size:12px}
  .media-card small{font-size:11px}
  .detail{grid-template-columns:1fr;gap:10px}
  .detail>img,.detail>.poster-placeholder{max-width:125px}
  .detail h2{font-size:19px}
  .panelbox{padding:12px}
  .season{padding:8px;margin:9px 0}
  .episode{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;padding:11px 3px}
  .episode>span{flex:1 1 100%;min-width:0}
  .episode small{flex:1 1 100%}
  .episode button{flex:1 1 auto;min-height:40px}
  .release-backdrop{padding:0;align-items:stretch}
  .release-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:16px 13px calc(26px + env(safe-area-inset-bottom));overflow-y:auto}
  .release-heading{align-items:flex-start;flex-wrap:wrap}
  .release-card{flex-direction:column;align-items:stretch;padding:12px}
  .release-card button{align-self:stretch;min-height:44px}
  .release-sort-toolbar select{width:100%}
  .dispatch-channel,.dispatch-stream{min-width:0;gap:8px;padding:10px;flex-wrap:wrap}
  .dispatch-channel-info{flex:1 1 180px}
  .dispatch-channel button{margin-left:auto}
  .dispatch-detail{padding:11px}
  .dispatch-fields>div{grid-template-columns:minmax(0,1fr);gap:4px;padding:5px 0;border-bottom:1px solid #293a58}
  .dv06-columns{grid-template-columns:minmax(0,1fr);gap:11px}
  .dv06-pane{padding:11px}
  .dv06-pane .actions{gap:7px}
  .dv06-pane .actions>input{flex:1 1 100%}
  .dv06-pane .actions>select{flex:1 1 135px;max-width:100%;min-height:42px}
  .dv06-scroll{max-height:min(42dvh,360px)}
  .dv06-scroll button,.dv06-scroll label{min-height:44px}
  .sab-job{padding:11px}
  .sab-job-header{align-items:flex-start}
  .sab-actions button{min-height:42px}
  .sab-priority{flex-wrap:wrap}
  .login{padding:13px;min-height:100dvh}
  .login .panel{padding:21px;width:100%}
  .login input{width:100%;font-size:16px}
  /* Prevent wide nested content from moving the viewport horizontally. */
  .item,.release-info,.discover-item,.list,.dispatch-list{max-width:100%;min-width:0}
}
@media(max-width:360px){
  .media-grid{gap:7px}
  .media-card .media-caption{padding:7px}
  header h1{font-size:18px}
  .topline h2{font-size:20px}
  .cards{gap:7px}
}
@media(min-width:801px) and (max-width:1100px){
  .media-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
  main{padding:20px}
}
