/* Khmer Lottery PRO V5 — Phone Stability Fix */
html,body{max-width:100%;overflow-x:hidden}
body{-webkit-text-size-adjust:100%}
img,canvas{max-width:100%}

@media(max-width:850px){
  .app{width:100%;max-width:100%;overflow:visible}
  .toolbar,.pro-toolbar{position:static!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important}
  .layout,.panel,.toolbar,.pro-toolbar,.v4-quickbar,.date-control,.paste-zone,.preview-box,.result-head{min-width:0!important;max-width:100%!important}
  .toolbar>*{min-width:0!important}
  .date-control input,.date-control button,.mode-select,select,button,.upload-btn{max-width:100%!important}
  .result-head{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .result-head h2{flex:1 1 160px;min-width:0}
  .result-head button{flex:0 0 auto}
  .result-zoomable{transform:none!important;margin-bottom:0!important}
  body.v4-sticky .layout>.panel:nth-child(2){position:static!important;top:auto!important}
  .pro-modal{padding:10px!important;overflow-y:auto!important;align-items:flex-start!important}
  .pro-modal-card{width:min(100%,760px)!important;max-width:100%!important;max-height:none!important;margin:10px auto!important;overflow:auto!important}
  .history-item{grid-template-columns:1fr!important}
  .history-buttons{flex-wrap:wrap!important}
  .dashboard-tools,.settings-actions{flex-wrap:wrap!important}
  .dashboard-tools>*{max-width:100%!important}
}

@media(max-width:520px){
  .app{padding:6px!important}
  .app>header{margin-left:0!important;margin-right:0!important}
  .toolbar{grid-template-columns:minmax(0,1fr)!important;padding:9px!important;border-radius:14px!important}
  .toolbar .upload-btn,.paste-zone,.mode-select,.date-control,#scanBtn,#resetBtn,#status{grid-column:1!important;width:100%!important}
  .date-control{grid-template-columns:minmax(0,1fr)!important}
  .date-control label,.date-control input,#todayCambodiaBtn{grid-column:1!important;width:100%!important;max-width:none!important}
  .v4-actions,.pro-actions,.v5-control-grid,.v5-control-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .v4-actions>*,.pro-actions>*,.v5-control-footer>*{min-width:0!important;width:100%!important;white-space:normal!important}
  .panel{width:100%!important;padding:9px!important}
  .preview-box{height:min(58vh,300px)!important}
  .editor-grid,.editor-grid-3,.editor-grid-4,.night-input-grid,.night-grid-3,.night-grid-4,.t130-editor-grid{grid-template-columns:1fr!important}
  .night-list-inputs{grid-template-columns:1fr!important;max-height:none!important}
  .ticket,.night-exact-card,.time130-card,.compact-result-card,.only430-card,.manual-result-preview{max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .pro-modal{padding:5px!important}
  .pro-modal-card{width:100%!important;margin:5px auto!important;border-radius:14px!important;padding:12px!important}
  .pro-modal-head{display:flex!important;flex-wrap:wrap!important}
  .pro-modal-head h3{flex:1 1 180px;min-width:0;word-break:break-word}
  .compare-grid,.dashboard-grid{grid-template-columns:1fr!important}
}

@media(max-width:380px){
  .v4-actions,.pro-actions,.v5-control-grid,.v5-control-footer{grid-template-columns:1fr!important}
  .app>header h1{font-size:19px!important}
  .paste-zone{font-size:12px!important}
  button,.upload-btn,select{font-size:12px!important;padding-left:8px!important;padding-right:8px!important}
}
