/* =========================================================
   Farm-Sim-Manager v0.6.8 — COLLISION-SAFE UI
   Final geometry layer. Loaded after every older UI stylesheet.
   ========================================================= */
:root{
  --fm-edge:16px;
  --fm-hud-bottom:118px;
  --fm-nav-height:0px;
  --fm-nav-top:100dvh;
}
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{min-width:0}
img,svg,canvas,video{max-width:100%}
button,input,select,textarea{max-width:100%}
button,a,[role="button"]{touch-action:manipulation}
#farmApp{isolation:isolate}
#farmApp>#farmMap{z-index:0}
#farmApp .hud-v61{z-index:1350}
#farmApp .quick{z-index:1240}
#farmApp .status{z-index:1230}
#farmApp .desktop-field-action-v61{z-index:1260}
#farmApp .drawer,#farmApp .entity-panel{z-index:1700}
#farmApp .game-nav-v61{z-index:1650}
dialog{z-index:2400}
.toast{z-index:3000}

/* Text can wrap instead of pushing cards into neighbours. */
#farmApp h1,#farmApp h2,#farmApp h3,#farmApp h4,#farmApp p,#farmApp b,#farmApp strong,#farmApp small,
.page h1,.page h2,.page h3,.page p,.roadmap-page h1,.roadmap-page h2,.roadmap-page p,.admin h1,.admin h2,.admin h3,.admin p{
  overflow-wrap:anywhere;
}
#farmApp .panel-card,#farmApp .entity-card,#farmApp .entity-list,#farmApp .entity-object-row,
#farmApp .field-row,#farmApp .asset-row,#farmApp .market-row,#farmApp .animal-row-v3{max-width:100%}

/* ===== DESKTOP / TABLET LANDSCAPE ===== */
@media(min-width:721px){
  #farmApp .hud-v61{
    top:18px!important;
    left:24px!important;
    right:auto!important;
    width:min(1020px,calc(100vw - 48px))!important;
    max-width:calc(100vw - 48px)!important;
  }
  #farmApp .hud-command-v61{width:auto!important;min-width:0!important}
  #farmApp .quick{
    left:14px!important;
    top:calc(var(--fm-hud-bottom) + 14px)!important;
    bottom:auto!important;
  }
  #farmApp .drawer,#farmApp .entity-panel{
    top:calc(var(--fm-hud-bottom) + 8px)!important;
    bottom:18px!important;
    max-height:calc(100dvh - var(--fm-hud-bottom) - 26px)!important;
  }
  #farmApp .desktop-field-action-v61{
    left:50%!important;
    bottom:24px!important;
    transform:translateX(-50%)!important;
    margin:0!important;
  }
  #farmApp .status{
    left:auto!important;
    right:86px!important;
    bottom:22px!important;
    transform:none!important;
    max-width:min(340px,calc(100vw - 180px))!important;
  }
  #farmApp .leaflet-bottom.leaflet-right{bottom:14px!important;right:10px!important}
  #farmApp .leaflet-bottom.leaflet-left{bottom:8px!important}
  #farmApp.ui-overlay-open .desktop-field-action-v61,
  #farmApp.ui-overlay-open .quick,
  #farmApp.ui-overlay-open .status{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  dialog{
    max-width:calc(100vw - 40px)!important;
    max-height:calc(100dvh - 40px)!important;
  }
  dialog form{max-height:calc(100dvh - 40px)!important}
}

/* Medium desktop: keep HUD readable without colliding with left quick rail. */
@media(min-width:721px) and (max-width:1050px){
  #farmApp .hud-v61{width:calc(100vw - 32px)!important;left:16px!important;top:14px!important}
  #farmApp .hud-command-v61{grid-template-columns:minmax(170px,1.2fr) minmax(145px,.9fr) minmax(145px,.9fr) 72px!important}
  #farmApp .hud-segment-v61{padding-left:12px!important;padding-right:12px!important}
  #farmApp .quick{top:calc(var(--fm-hud-bottom) + 12px)!important}
}

/* ===== MOBILE ===== */
@media(max-width:720px){
  :root{--fm-edge:8px}
  #farmApp .hud-v61{
    top:max(8px,env(safe-area-inset-top))!important;
    left:8px!important;
    right:8px!important;
    width:auto!important;
    max-width:none!important;
  }
  #farmApp .quick,#farmApp .status,#farmApp .desktop-field-action-v61{display:none!important}
  #farmApp .game-nav-v61{
    overflow:visible!important;
    isolation:isolate;
  }
  /* The raised create button may extend into the map, so map controls get a larger safe zone. */
  #farmApp .leaflet-bottom{bottom:calc(var(--fm-nav-height) + 58px + env(safe-area-inset-bottom))!important}
  #farmApp .leaflet-right{right:8px!important}
  #farmApp .leaflet-left{left:8px!important}
  #farmApp .drawer,#farmApp .entity-panel{
    top:calc(var(--fm-hud-bottom) + 8px)!important;
    bottom:calc(var(--fm-nav-height) + 8px)!important;
    max-height:calc(100dvh - var(--fm-hud-bottom) - var(--fm-nav-height) - 16px)!important;
  }
  /* Raised centre action must never sit on top of an open management panel. */
  #farmApp.ui-drawer-open .field-action-v61,
  #farmApp.ui-entity-open .field-action-v61{
    transform:translateY(48px)!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  #farmApp.ui-dialog-open .game-nav-v61{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(110%)!important}
  #farmApp.ui-dialog-open .leaflet-control-container{display:none!important}
  dialog[open]{
    inset:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom)) 6px!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
  }
  dialog[open] form{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
  dialog .x{position:sticky!important;top:0!important;right:auto!important;margin-left:auto!important;z-index:25!important}
  .dialog-actions{z-index:20!important}
  #drawerBody,.entity-body{overscroll-behavior:contain}
  .tabs,.entity-tabs{max-width:100%;scrollbar-width:thin}
}

/* Very narrow phones: protect HUD text and bottom navigation labels. */
@media(max-width:390px){
  #farmApp .hud-v61{grid-template-columns:54px minmax(0,1fr)!important}
  #farmApp .hud-logo-v61{width:54px!important}
  #farmApp .hud-command-v61{grid-template-columns:minmax(0,1fr) 58px 66px 44px!important}
  #farmApp .hud-segment-v61{padding-left:6px!important;padding-right:6px!important}
  #farmApp .hud-segment-v61 small{letter-spacing:.04em!important}
  #farmApp .hud-money-v61 b{font-size:.66rem!important}
  #farmApp .hud-season-v61 b{font-size:.66rem!important}
  #farmApp .game-nav-v61>button:not(.field-action-v61) span{font-size:.4rem!important}
}

/* Landscape phones: keep usable map height and prevent HUD/nav collision. */
@media(max-width:920px) and (max-height:520px) and (orientation:landscape){
  #farmApp .hud-v61{height:58px!important;grid-template-columns:52px minmax(0,1fr)!important}
  #farmApp .hud-logo-v61,#farmApp .hud-command-v61{height:58px!important}
  #farmApp .hud-command-v61{grid-template-columns:minmax(0,1fr) 64px 72px 46px!important}
  #farmApp .hud-segment-v61{padding:5px 7px!important}
  #farmApp .hud-segment-v61 em{display:none!important}
  #farmApp .game-nav-v61{height:64px!important;min-height:64px!important}
  #farmApp .game-nav-v61>button:not(.field-action-v61){height:64px!important;padding:5px 1px!important}
  #farmApp .game-nav-v61 .field-action-v61{height:84px!important;min-height:84px!important;margin-top:-20px!important}
  #farmApp .game-nav-v61 .field-action-copy-v61 small{display:none!important}
  #farmApp .drawer,#farmApp .entity-panel{top:calc(var(--fm-hud-bottom) + 5px)!important}
}

/* Non-game pages: generic collision guards. */
.auth,.shell,.create-shell,.page,.roadmap-page,.admin{max-width:100%;overflow-x:hidden}
.auth-card,.auth-box,.main,.hero,.farm-grid,.create-shell>main,.page>*,.roadmap-page>*,.admin>main{min-width:0}
.farm-grid,.stats,.two,.road-cols,.admin-stats{max-width:100%}
.admin-card,.card,.farm-card,.new-farm,.verify-box{max-width:100%}
@media(max-width:820px){
  .verify-box>*{min-width:0}
  .verify-box .btn{white-space:normal!important}
}
