/* Dr Deen Spine Care - mobile convenience layer for all 3 branches */
@media (max-width: 820px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
  body{overflow-x:hidden!important}
  a,button,input,select,textarea{touch-action:manipulation}
  input,select,textarea,button,.btn,.login-btn{font-size:16px!important}
  input,select,button,.btn,.login-btn{min-height:44px!important}
  textarea{min-height:88px!important}

  /* Login */
  .login-shell{width:100%!important;max-width:480px!important}
  .box{padding:20px 15px!important;border-radius:18px!important}
  .input-wrap input,.login-btn{height:50px!important}
  .module-switch{grid-template-columns:repeat(3,1fr)!important;gap:7px!important}
  .module-switch a{min-height:44px!important;padding:8px 5px!important;font-size:12px!important}

  /* Reception */
  .top{padding:9px 10px!important;gap:7px!important;min-height:58px!important;flex-wrap:wrap!important}
  .top b{width:100%;font-size:14px!important;line-height:1.35!important}
  .top a{flex:1;text-align:center;padding:8px 7px!important;min-height:40px!important;display:flex;align-items:center;justify-content:center}
  .wrap{padding:10px!important}
  .pagehead{margin-bottom:10px!important}
  .pagehead h1{font-size:21px!important;line-height:1.25!important}
  .pagehead p{font-size:12px!important}
  .grid,.row2,.filter,.mini,.reception-summary,.handover-mini{grid-template-columns:1fr!important}
  .card{padding:13px!important;border-radius:13px!important}
  .field input,.field select,.filter input,.filter select,.filter button{min-height:46px!important;padding:10px!important}
  .saved-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .saved-actions a,.saved-actions button{width:100%!important;min-height:43px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
  .fee-box{grid-template-columns:1fr 1fr!important}
  .patient-history-head{align-items:flex-start!important;flex-direction:column!important}
  .patient-history-main{width:100%!important}
  .import-visit{width:100%!important;min-height:44px!important}
  .history-actions,.row-actions{gap:7px!important}
  .history-actions a,.rowprint,.rxlink{min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  .scroll,.history-table{position:relative!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin}
  .scroll:before,.history-table:before{content:"← টেবিল দেখতে ডানে-বামে Swipe করুন →";display:block;position:sticky;left:0;width:max-content;max-width:100%;padding:6px 9px;margin:0 0 5px;border-radius:7px;background:#f2edf6;color:#654a74;font-size:11px;font-weight:700;z-index:3}
  .scroll table{min-width:960px!important}
  .history-table table{min-width:820px!important}
  th,td{padding:9px 8px!important}
  .visit-amount-form{min-width:150px!important}
  .handover-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  .handover-actions a{width:100%!important}

  /* Doctor dashboard */
  .doctor-panel-page .top{height:60px!important;min-height:60px!important;flex-wrap:nowrap!important}
  .doctor-panel-page .top-inner{padding:0 9px!important;gap:7px!important}
  .doctor-panel-page .top-brand{font-size:13px!important;max-width:48vw!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .doctor-panel-page .menu-toggle{display:block!important;width:44px!important;height:44px!important;min-width:44px!important;margin:0!important}
  .doctor-panel-page .top-actions{gap:5px!important}
  .doctor-panel-page .top-actions a{min-height:40px!important;padding:7px 8px!important;font-size:11px!important;display:flex;align-items:center}
  .doctor-panel-page .main{padding:10px!important}
  .doctor-panel-page .panel{padding:13px!important;border-radius:13px!important;margin-bottom:11px!important}
  .doctor-panel-page .panel h2{font-size:18px!important}
  .doctor-panel-page .cards,.doctor-panel-page .grid,.doctor-panel-page .row,.doctor-panel-page .accounts-grid,.doctor-panel-page .reports,.doctor-panel-page .account-report-actions,.doctor-panel-page .queue-hero{grid-template-columns:1fr!important}
  .doctor-panel-page .kpi{padding:12px!important}
  .doctor-panel-page .kpi b{font-size:22px!important}
  .doctor-panel-page .page-head{display:block!important}
  .doctor-panel-page .page-head h1{font-size:20px!important}
  .doctor-panel-page .today-chip{margin-top:7px!important;display:inline-flex!important}
  .doctor-panel-page .scroll{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .doctor-panel-page .scroll:before{content:"← টেবিল Swipe করুন →";display:block;position:sticky;left:0;width:max-content;padding:5px 8px;margin-bottom:5px;border-radius:7px;background:#f2edf6;color:#654a74;font-size:11px;font-weight:700;z-index:2}
  .doctor-panel-page table{min-width:760px!important}
  .doctor-panel-page .action-inline{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .doctor-panel-page .action-inline a,.doctor-panel-page .action-inline button,.doctor-panel-page .prescription-btn{width:100%!important;min-height:42px!important}
  .doctor-panel-page .queue-actions{display:grid!important;grid-template-columns:1fr!important}
  .doctor-panel-page .sidebar{width:min(86vw,310px)!important}
  .doctor-panel-page .nav-btn{min-height:46px!important;font-size:14px!important}
}

@media (max-width: 430px){
  .module-switch{grid-template-columns:1fr!important}
  .saved-actions{grid-template-columns:1fr!important}
  .fee-box{grid-template-columns:1fr!important}
  .doctor-panel-page .top-brand{max-width:42vw!important}
}

/* 2026-09-26 desktop auto-fit layer: preserves 1920px/27-inch layout, compacts only smaller monitors. */
@media screen and (min-width:821px) and (max-width:1450px){
  body{min-width:0!important;overflow-x:hidden!important}
  .wrap{max-width:100%!important;padding-left:12px!important;padding-right:12px!important}
  .grid{grid-template-columns:minmax(300px,340px) minmax(0,1fr)!important;gap:12px!important}
  .filter{grid-template-columns:minmax(130px,160px) minmax(180px,1fr) minmax(210px,1.1fr) auto auto!important;gap:6px!important}
  .reception-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important}
  .reception-summary .sbox{padding:10px!important}
  .reception-summary b{font-size:18px!important}
  .card{padding:13px!important}
  table{font-size:11px!important}
  th,td{padding:7px 6px!important}
  .doctor-panel-page .app-shell{grid-template-columns:200px minmax(0,1fr)!important}
  .doctor-panel-page .main{padding:14px!important}
  .doctor-panel-page .panel{padding:15px!important}
  .doctor-panel-page .sidebar{padding-left:10px!important;padding-right:10px!important}
}
@media screen and (min-width:821px) and (max-width:1180px){
  .grid{grid-template-columns:1fr!important}
  .filter{grid-template-columns:1fr 1fr 1fr auto auto!important}
  .reception-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* 2026-09-26: 19-inch / 1366px desktop fit — reception only.
   Keeps large desktop and print layout unchanged. */
@media screen and (min-width:1181px) and (max-width:1450px){
  .app-shell{grid-template-columns:185px minmax(0,1fr)!important}
  .side-menu{padding:12px 8px!important}
  .side-brand{padding:6px 7px 11px!important}
  .side-brand b{font-size:13px!important}
  .side-brand small{font-size:10px!important;line-height:1.25!important}
  .side-menu nav{gap:4px!important}
  .side-menu nav a{padding:8px 8px!important;font-size:11px!important;gap:6px!important}

  .main-panel .wrap{padding:12px 14px!important}
  .pagehead{margin-bottom:9px!important}
  .pagehead h1{font-size:24px!important;line-height:1.15!important}
  .pagehead p{font-size:12px!important;line-height:1.35!important;margin-top:3px!important}
  .dashboard-title{font-size:11px!important;margin-bottom:6px!important}

  .reception-summary{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important;margin-bottom:10px!important}
  .reception-summary .sbox{padding:9px 10px!important;border-radius:11px!important}
  .reception-summary small{font-size:10px!important;white-space:nowrap!important}
  .reception-summary b{font-size:18px!important;margin-top:1px!important}

  .grid{grid-template-columns:minmax(275px,305px) minmax(0,1fr)!important;gap:10px!important}
  .card{padding:11px!important;border-radius:13px!important}
  .card h2{font-size:18px!important;margin-bottom:8px!important}
  .field{font-size:11px!important;margin-top:6px!important}
  .field input,.field select{padding:8px 9px!important;margin-top:3px!important;min-height:36px!important;font-size:12px!important}
  .row2{gap:6px!important}
  .slot-help{font-size:9.5px!important;line-height:1.3!important}
  .btn{padding:9px!important;margin-top:8px!important;font-size:12px!important}

  .filter{grid-template-columns:145px minmax(155px,175px) minmax(225px,1fr) 132px 112px!important;gap:5px!important;margin-bottom:8px!important}
  .filter label{font-size:10px!important;line-height:1.15!important}
  .filter input,.filter select,.filter button,.clearbtn{padding:8px!important;min-height:36px!important;font-size:11px!important}
  .mini{gap:6px!important;margin-bottom:8px!important}
  .mini div{padding:9px!important}
  .mini small{font-size:10px!important}
  .mini b{font-size:18px!important}

  .scroll{max-width:100%!important}
  .main-panel .scroll table{min-width:1000px!important;font-size:10px!important}
  .main-panel .scroll th,.main-panel .scroll td{padding:6px 5px!important;line-height:1.2!important}
  .serial{font-size:12px!important}
  .code{font-size:9.5px!important}
  .badge{font-size:9px!important;padding:2px 5px!important}
  .row-actions{gap:3px!important}
  .rowprint,.rxlink{padding:5px 6px!important;font-size:9px!important}
  .visit-amount-form{min-width:135px!important;gap:3px!important}
  .visit-amount-form input{width:62px!important;height:28px!important;font-size:10px!important}
  .visit-amount-form button{height:28px!important;padding:0 6px!important;font-size:9px!important}
}

@media screen and (min-width:1051px) and (max-width:1180px){
  .app-shell{grid-template-columns:165px minmax(0,1fr)!important}
  .side-menu nav a{font-size:10.5px!important;padding:8px 7px!important}
  .main-panel .wrap{padding:10px!important}
  .grid{grid-template-columns:285px minmax(0,1fr)!important}
  .filter{grid-template-columns:130px 150px minmax(190px,1fr) 120px 105px!important}
  .main-panel .scroll table{min-width:920px!important}
}

/* 2026-09-26: Reception Bengali UI font consistency */
body, button, input, select, textarea, option {
  font-family: "Hind Siliguri", "Noto Sans Bengali", Arial, sans-serif;
}

/* Hospital Software BD developer footer — screen only */
@media screen {
  body::after{
    content:"Software Developed By : www.hospitalsoftwarebd.com  •  01826027203";
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    clear:both!important;
    margin-top:24px!important;
    padding:10px 14px!important;
    background:#0b5361!important;
    color:#fff!important;
    text-align:center!important;
    font-family:"Hind Siliguri",Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.4!important;
    letter-spacing:.01em!important;
  }
}
@media print { body::after{display:none!important;content:""!important;} }
