/* ResQLeit Lizenzportal – Mobile/Tablet Layer
   Desktop (>1100px) bleibt vollständig unverändert. */

/* Tablet */
@media (max-width: 1100px){
  html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
  button,input,select,textarea{font:inherit}
  button,.btn,.tab,[onclick]{touch-action:manipulation}
  .inp,input,select,textarea{min-height:44px}
  #app > div[style*="display:flex"][style*="min-height:100vh"]{flex-direction:column!important;min-width:0!important}
  #app aside{
    width:100%!important;max-width:100%!important;min-height:auto!important;height:auto!important;
    padding:.65rem .75rem!important;border-right:0!important;border-bottom:1px solid #1e293b!important;
    position:sticky!important;top:0!important;z-index:40!important;display:block!important;
    background:rgba(8,9,14,.97)!important;backdrop-filter:blur(14px)!important;
  }
  #app aside > div:first-child{margin:0 0 .55rem!important;padding:0 .25rem!important;display:flex!important;align-items:center!important;gap:.75rem!important}
  #app aside > div:first-child img{width:auto!important;max-width:135px!important;max-height:34px!important}
  #app aside > div:first-child > div{margin:0!important;padding:0!important;white-space:nowrap!important}
  #app aside nav{display:flex!important;flex-direction:row!important;gap:.35rem!important;overflow-x:auto!important;overflow-y:hidden!important;padding:.1rem .05rem .45rem!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  #app aside nav::-webkit-scrollbar{display:none!important}
  #app aside nav > .tab{flex:0 0 auto!important;white-space:nowrap!important;min-height:42px!important;padding:.65rem .8rem!important;border:1px solid #1e293b!important;background:#0a0e1a!important}
  #app aside nav > .tab.active{background:rgba(225,29,72,.15)!important;border-color:rgba(225,29,72,.35)!important}
  #tab-admin-group[style*="display: block"],#tab-admin-group[style*="display:block"]{display:flex!important;flex:0 0 auto!important;gap:.35rem!important;margin:0!important;padding:0!important;border:0!important}
  #tab-admin-group .tab{flex:0 0 auto!important;white-space:nowrap!important;min-height:42px!important;padding:.65rem .8rem!important;border:1px solid #1e293b!important;background:#0a0e1a!important}
  #app aside nav > div:last-child{flex:0 0 auto!important;margin:0!important;padding:0!important;border:0!important}
  #app aside nav > div:last-child .tab{white-space:nowrap!important;min-height:42px!important;margin:0!important}
  #app aside > div:last-child{display:flex!important;align-items:center!important;gap:.65rem!important;margin:.35rem 0 0!important;padding:.55rem .15rem 0!important;flex-wrap:wrap!important}
  #app aside > div:last-child > #sidebar-name{margin:0!important}
  #sidebar-role{margin:0 auto 0 0!important}
  #smtp-btn-wrap{margin:0!important}
  #smtp-btn-wrap .btn{width:auto!important}
  #app aside > div:last-child > div:last-child{display:flex!important;gap:.4rem!important;margin-left:auto!important}
  #app aside > div:last-child > div:last-child .btn{min-width:44px!important;min-height:40px!important}

  #app main{width:100%!important;max-width:100%!important;min-width:0!important;padding:1.25rem!important;overflow-x:hidden!important}
  #view-gen > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important;max-width:760px!important}
  #view-devices > .glass > div[style*="grid-template-columns"]{grid-template-columns:1fr 1fr!important}
  #view-devices > .glass > div[style*="grid-template-columns"] .btn{width:100%!important;justify-content:center!important}
  #kpi-row,#eval-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-analytics > div[style*="grid-template-columns:1fr 1fr"],
  #view-eval > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}
  #view-prices div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-prices div[style*="grid-template-columns:2fr 1fr 1fr 1fr"],
  #view-prices div[style*="grid-template-columns:2fr 1fr 1fr auto"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .modal{padding:.75rem!important}
  .modal-box{max-width:min(94vw,720px)!important;max-height:92dvh!important;border-radius:1.25rem!important}
}

/* Smartphone */
@media (max-width: 640px){
  body{padding-bottom:env(safe-area-inset-bottom,0)!important}
  #app aside{padding:.55rem .55rem!important;position:sticky!important}
  #app aside > div:first-child{margin-bottom:.4rem!important}
  #app aside > div:first-child img{max-width:112px!important;max-height:28px!important}
  #app aside > div:first-child > div{font-size:.42rem!important;letter-spacing:.15em!important}
  #app aside nav > .tab,#tab-admin-group .tab,#app aside nav > div:last-child .tab{font-size:.58rem!important;letter-spacing:.07em!important;padding:.58rem .65rem!important;min-height:40px!important;border-radius:.65rem!important}
  #app aside nav svg{width:12px!important;height:12px!important}
  #app aside > div:last-child{font-size:.6rem!important;gap:.4rem!important}
  #sidebar-name{max-width:130px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #sidebar-role{display:none!important}
  #smtp-btn-wrap .btn{font-size:0!important;width:42px!important;height:40px!important;padding:0!important;justify-content:center!important}
  #smtp-btn-wrap .btn svg{width:14px!important;height:14px!important}

  #app main{padding:.9rem .75rem 1.5rem!important}
  .view h2{font-size:1.2rem!important;margin-bottom:1rem!important;line-height:1.1!important}
  .glass,.stat-card{border-radius:1rem!important}
  .glass{padding:1rem!important}
  .stat-card{padding:1rem!important}
  .inp{font-size:16px!important;padding:.72rem .8rem!important;border-radius:.7rem!important}
  .lbl{font-size:.53rem!important}
  .btn{min-height:44px!important}
  .btn-o{padding:.75rem 1rem!important;border-radius:.8rem!important}
  .btn-sm,.btn-red{padding:.6rem .7rem!important;min-height:40px!important}

  #view-gen > div[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:.9rem!important}
  #view-gen .glass[style*="padding:1.75rem"]{padding:1rem!important;border-radius:1.1rem!important}
  #gen-result > div:last-child{grid-template-columns:1fr!important}
  #gen-result > div:last-child .btn{width:100%!important}
  #station-grid{grid-template-columns:1fr!important}

  #view-devices > .glass > div[style*="grid-template-columns"]{grid-template-columns:1fr!important}
  #device-list > *{max-width:100%!important;overflow:hidden!important}
  #cron-url{font-size:.56rem!important}

  #view-archive > div:first-child,
  #view-monthly > div:first-child,
  #view-partner > div:first-child{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}
  #view-archive > div:first-child > div{width:100%!important}
  #archive-search{width:100%!important}
  #partner-stats > div{grid-template-columns:1fr!important;max-width:none!important;gap:.65rem!important}
  #partner-table > *,#archive-list > *,#monthly-report > *{max-width:100%!important}

  #view-prices > div[style*="max-width:800px"]{max-width:none!important}
  #view-prices div[style*="grid-template-columns:repeat(3,1fr)"],
  #view-prices div[style*="grid-template-columns:1fr 1fr"],
  #view-prices div[style*="grid-template-columns:2fr 1fr 1fr 1fr"],
  #view-prices div[style*="grid-template-columns:2fr 1fr 1fr auto"]{grid-template-columns:1fr!important}
  #view-prices div[style*="padding-top:1.1rem"]{padding-top:.2rem!important}

  #kpi-row,#eval-stats-row{grid-template-columns:1fr!important;gap:.65rem!important}
  #view-analytics > div[style*="grid-template-columns"],
  #view-eval > div[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:.75rem!important}
  #analytics-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  #analytics-table table{min-width:680px!important}
  #analytics-chart{height:100px!important}

  #view-eval > div:first-child{flex-direction:column!important;align-items:stretch!important}
  #eval-admin-btns{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  #eval-admin-btns .btn{width:100%!important;justify-content:center!important}
  #eval-improvement-section > div:first-child,#eval-contacts-section > div:first-child{gap:.5rem!important;flex-wrap:wrap!important}
  #view-eval div[style*="display:flex;gap:.5rem;align-items:center"]{flex-wrap:wrap!important}
  #eval-filter{width:100%!important}

  /* Dynamisch erzeugte Karten: keine seitlichen Überläufe */
  .hrow{overflow:hidden!important}
  .hrow > div{min-width:0!important}
  .mono{overflow-wrap:anywhere!important;word-break:break-word!important}
  table{font-size:.68rem!important}
  th,td{padding:.55rem .6rem!important}

  .modal{padding:.35rem!important;align-items:flex-end!important}
  .modal-box{max-width:100%!important;width:100%!important;max-height:94dvh!important;border-radius:1.15rem 1.15rem 0 0!important;padding:1.15rem!important}
  .modal-box > div[style*="grid-template-columns:1fr 1fr"],
  .modal-box div[style*="grid-template-columns:1fr 1fr"],
  .modal-box div[style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  .modal-box button[style*="position:absolute"]{width:44px!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;top:.4rem!important;right:.4rem!important}

  /* iOS safe areas */
  #app aside{padding-left:max(.55rem,env(safe-area-inset-left))!important;padding-right:max(.55rem,env(safe-area-inset-right))!important}
  #app main{padding-left:max(.75rem,env(safe-area-inset-left))!important;padding-right:max(.75rem,env(safe-area-inset-right))!important}
}

/* Sehr kleine Displays */
@media (max-width: 380px){
  #app main{padding:.7rem .55rem 1.25rem!important}
  #app aside > div:first-child > div{display:none!important}
  #app aside > div:last-child{padding-top:.35rem!important}
  .tag{letter-spacing:.06em!important}
}
