/* Einheitliche Realheatbot-Seitenleiste auf allen Seiten */
.rh-sidebar{
  width:230px !important;height:100vh !important;position:fixed !important;left:0 !important;top:0 !important;
  box-sizing:border-box !important;padding:20px 15px !important;background:#0b0b0b !important;
  border-right:1px solid #1f1f1f !important;z-index:20 !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
.rh-logo{
  display:block !important;width:68px !important;height:68px !important;min-width:68px !important;min-height:68px !important;
  max-width:68px !important;max-height:68px !important;object-fit:contain !important;margin:0 auto 8px !important;
  filter:drop-shadow(0 5px 12px rgba(229,9,20,.22)) !important;
}
.rh-brand{
  display:block !important;width:150px !important;height:41px !important;box-sizing:border-box !important;
  margin:0 auto 22px !important;padding:8px 10px !important;border:1px solid #2a2a2a !important;border-radius:9px !important;
  background:#050505 !important;color:#ff4545 !important;font-family:Arial,Helvetica,sans-serif !important;
  font-size:18px !important;font-weight:700 !important;line-height:23px !important;letter-spacing:.2px !important;text-align:center !important;
  -webkit-text-fill-color:initial !important;background-image:none !important;text-shadow:0 0 8px rgba(255,55,55,.18) !important;
}
.rh-nav{display:flex !important;flex-direction:column !important;gap:9px !important;width:100% !important;}
.rh-nav a{
  display:flex !important;align-items:center !important;width:100% !important;height:43px !important;min-height:43px !important;
  box-sizing:border-box !important;margin:0 !important;padding:0 14px !important;border-radius:9px !important;
  background:#161616 !important;border:1px solid transparent !important;color:#f1f1f1 !important;text-decoration:none !important;
  font-family:Arial,Helvetica,sans-serif !important;font-size:14px !important;font-weight:400 !important;line-height:20px !important;
  transform:none !important;transition:background .15s ease,color .15s ease,border-color .15s ease !important;
}
.rh-nav a:hover{background:#1d1d1d !important;color:#fff !important;transform:none !important;}
.rh-nav a.active{color:#b86579 !important;background:#321820 !important;border-color:#7b394b !important;font-weight:400 !important;}
.rh-content{margin-left:230px !important;}
@media(max-width:700px){
 .rh-sidebar{position:static !important;width:100% !important;height:auto !important;padding:20px 15px !important;}
 .rh-content{margin-left:0 !important;}
}


/* ===== RealheatBot Responsive – PC / Tablet / Smartphone ===== */
html,body{
  max-width:100%;
  overflow-x:hidden;
}
img,video,canvas,svg{
  max-width:100%;
  height:auto;
}
input,select,textarea,button{
  max-width:100%;
}
table{
  max-width:100%;
}

/* Tablet */
@media (max-width: 1100px){
  .main,.content,main{
    max-width:100% !important;
  }
  .grid{
    grid-template-columns:1fr !important;
  }
  .row{
    grid-template-columns:1fr 1fr !important;
  }
  .panel,.card{
    min-width:0 !important;
  }
}

/* Smartphone / iPhone / Samsung */
@media (max-width: 760px){
  html{
    font-size:15px;
  }

  body{
    min-width:0 !important;
  }

  .main,
  main.main,
  .content{
    width:100% !important;
    max-width:100% !important;
    padding:14px !important;
    margin:0 !important;
  }

  h1{
    font-size:clamp(27px,8vw,38px) !important;
    line-height:1.08 !important;
  }
  h2{
    font-size:20px !important;
  }

  .grid,
  .row,
  .image-tools,
  .hotkeys,
  .quick-actions,
  .found-shiny-grid,
  .multi-hunt-grid{
    grid-template-columns:1fr !important;
  }

  .panel,
  .card,
  section{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  input,
  select,
  textarea{
    width:100% !important;
    min-height:44px;
    font-size:16px !important; /* verhindert iOS-Autozoom */
  }

  textarea{
    min-height:110px;
  }

  button,
  .btn{
    min-height:44px;
    touch-action:manipulation;
  }

  .btns,
  .obs-url,
  .pair-row,
  .found-shiny-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .obs-url input{
    width:100% !important;
  }

  .pokemon-search-wrap{
    width:100%;
  }

  .pokemon-results{
    max-height:55vh !important;
  }

  .pokemon-preview{
    display:grid !important;
    grid-template-columns:110px 1fr !important;
    gap:12px !important;
    align-items:center !important;
  }
  .pokemon-preview img{
    max-width:100px !important;
    max-height:100px !important;
  }

  .counter{
    grid-template-columns:48px 1fr 48px !important;
  }
  .counter-number{
    font-size:38px !important;
    min-width:0 !important;
  }

  .hunt{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .hunt-left{
    min-width:0 !important;
  }

  .multi-hunt-card{
    min-width:0 !important;
  }

  .found-shiny-slot{
    grid-template-columns:92px 1fr !important;
    min-height:140px !important;
  }
  .found-shiny-slot img{
    width:88px !important;
    height:88px !important;
  }

  .pair-code{
    min-width:0 !important;
    width:100% !important;
    word-break:break-all !important;
    font-size:15px !important;
  }

  /* Mehr Luft unten für iPhone/Samsung Browserleisten */
  .main,.content,main{
    padding-bottom:calc(28px + env(safe-area-inset-bottom)) !important;
  }

  /* Safe Areas bei Notch / Dynamic Island */
  body{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
}

/* Kleine Smartphones */
@media (max-width: 430px){
  .main,
  main.main,
  .content{
    padding:10px !important;
  }

  .panel,.card{
    padding:12px !important;
    border-radius:13px !important;
  }

  .pokemon-preview{
    grid-template-columns:82px 1fr !important;
  }
  .pokemon-preview img{
    max-width:78px !important;
    max-height:78px !important;
  }

  .counter-number{
    font-size:32px !important;
  }

  .pokemon-gen-chips{
    gap:4px !important;
  }
  .pokemon-gen-chips button{
    padding:5px 7px !important;
    font-size:9px !important;
  }
}



/* =========================================================
   REALHEATBOT – FULL VIEW MOBILE / TABLET V2
   Ziel: komplette Seite auf iPhone/Samsung/iPad sichtbar
   ========================================================= */

:root{
  --rh-mobile-gap:12px;
  --rh-mobile-radius:14px;
}

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}

body{
  width:100%;
  max-width:100%;
  min-width:0 !important;
  overflow-x:hidden !important;
}

*,
*::before,
*::after{
  box-sizing:border-box;
  min-width:0;
}

img,
video,
canvas,
svg,
iframe{
  max-width:100% !important;
}

table{
  width:100%;
  max-width:100%;
  display:block;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Große Tablets / kleine Laptops */
@media (max-width: 1180px){
  .main,
  main.main,
  .content,
  .page,
  .page-content,
  .dashboard-main,
  .dashboard-content{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .grid,
  .dashboard-grid,
  .stats-grid,
  .cards-grid{
    grid-template-columns:1fr !important;
  }

  .panel,
  .card,
  .box,
  section{
    max-width:100% !important;
  }
}

/* iPad / Tablet */
@media (max-width: 900px){
  body{
    padding:0 !important;
  }

  .main,
  main.main,
  .content,
  .page,
  .page-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:74px 16px 28px !important;
  }

  .grid,
  .row,
  .image-tools,
  .hotkeys,
  .quick-actions,
  .multi-hunt-grid,
  .found-shiny-grid,
  .dashboard-grid,
  .cards-grid{
    grid-template-columns:1fr !important;
  }

  .panel,
  .card,
  section,
  .obs-box,
  .pair-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  input,
  select,
  textarea{
    width:100% !important;
  }

  .btns,
  .obs-url,
  .pair-row,
  .found-shiny-actions{
    flex-wrap:wrap !important;
  }
}

/* Smartphones */
@media (max-width: 640px){
  html{
    font-size:15px !important;
  }

  body{
    width:100vw !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
  }

  .main,
  main.main,
  .content,
  .page,
  .page-content{
    width:100% !important;
    max-width:100% !important;
    padding:
      calc(68px + env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      calc(24px + env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left)) !important;
    margin:0 !important;
  }

  h1{
    font-size:clamp(27px,9vw,38px) !important;
    line-height:1.05 !important;
    overflow-wrap:anywhere;
  }

  h2{
    font-size:20px !important;
    line-height:1.15 !important;
  }

  h3{
    font-size:17px !important;
  }

  p,
  .lead,
  .meta,
  .hint{
    overflow-wrap:anywhere;
  }

  .panel,
  .card,
  .obs-box,
  .pair-card,
  section{
    padding:12px !important;
    border-radius:var(--rh-mobile-radius) !important;
  }

  .row,
  .grid,
  .image-tools,
  .hotkeys,
  .quick-actions,
  .multi-hunt-grid,
  .found-shiny-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:var(--rh-mobile-gap) !important;
  }

  input,
  select,
  textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    font-size:16px !important;
    min-height:46px !important;
  }

  textarea{
    min-height:110px !important;
  }

  button,
  .btn,
  a.btn{
    min-height:44px !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
    touch-action:manipulation;
  }

  .btns,
  .obs-url,
  .pair-row,
  .found-shiny-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }

  .btns > *,
  .obs-url > *,
  .pair-row > *,
  .found-shiny-actions > *{
    width:100% !important;
  }

  /* Pokémon */
  .pokemon-search-wrap{
    width:100% !important;
  }

  .pokemon-results{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:90px !important;
    width:auto !important;
    max-width:none !important;
    max-height:65vh !important;
    z-index:20000 !important;
  }

  .pokemon-gen-chips{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
  }

  .pokemon-gen-chips button{
    flex:0 0 auto !important;
    min-height:32px !important;
    padding:5px 8px !important;
  }

  .pokemon-preview{
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    width:100% !important;
  }

  .pokemon-preview img{
    width:80px !important;
    height:80px !important;
    max-width:80px !important;
    max-height:80px !important;
    object-fit:contain !important;
  }

  /* Counter */
  .counter{
    width:100% !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) 46px !important;
    gap:7px !important;
  }

  .counter-number{
    width:100% !important;
    min-width:0 !important;
    font-size:34px !important;
  }

  .quick-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .custom-step{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }

  /* Hunts */
  .hunt{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
  }

  .hunt-left{
    width:100% !important;
  }

  .hunt-thumb{
    width:58px !important;
    height:58px !important;
  }

  .multi-hunt-card,
  .found-shiny-slot{
    width:100% !important;
    min-width:0 !important;
  }

  .found-shiny-slot{
    grid-template-columns:78px minmax(0,1fr) !important;
  }

  .found-shiny-slot img{
    width:72px !important;
    height:72px !important;
  }

  /* Lange Codes / Links */
  .pair-code,
  .obs-url input,
  #obsPath{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    word-break:break-all !important;
    overflow-wrap:anywhere !important;
  }

  /* Modals / Dialoge */
  .modal,
  .dialog,
  .popup{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    left:10px !important;
    right:10px !important;
    margin:0 !important;
  }
}

/* Sehr kleine Handys */
@media (max-width: 390px){
  .main,
  main.main,
  .content,
  .page,
  .page-content{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .panel,
  .card,
  .obs-box,
  .pair-card,
  section{
    padding:10px !important;
  }

  .quick-actions{
    grid-template-columns:1fr !important;
  }

  .pokemon-preview{
    grid-template-columns:70px minmax(0,1fr) !important;
  }

  .pokemon-preview img{
    width:64px !important;
    height:64px !important;
  }
}
