/* VIP Aligner global mobile responsive final fix - 2026-06-22
   Scope: public website, admin panel, doctor panel, modals, tables, image/3D viewers. */
:root{--vip-mobile-safe-x:14px;--vip-mobile-gold:#c49a2f;--vip-mobile-navy:#07152d;--vip-mobile-line:#e2e8f0;}
html,body{max-width:100%!important;overflow-x:hidden!important;}html{scroll-behavior:smooth;}body{min-width:0!important;}*,*::before,*::after{box-sizing:border-box;}img,svg,video,canvas,iframe{max-width:100%;}img,video{height:auto;}table{max-width:100%;}input,select,textarea,button{max-width:100%;}a,button{touch-action:manipulation;}[hidden]{display:none!important;}
.vip-no-horizontal-overflow,.admin-body,.app,body[data-page]{overflow-x:hidden!important;max-width:100vw!important;}
.table-wrap,.table-responsive,.overflow-x-auto,.admin-table-wrap,.v3d-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
.modal-backdrop,.vip-case-modal,.file-preview-modal,.image-preview-modal,.stl-preview-modal,.model-preview-modal,.viewer-modal,.v3d-modal,.v3d-upload-progress-modal,.v3d-result-modal,.vip-medical-viewer,.vip-doctor-3d-viewer{max-width:100vw!important;overflow-x:hidden!important;}
.modal-card,.vip-modal-card,.v3d-modal-card,.v3d-result-card,.v3d-upload-progress-card{max-width:calc(100vw - 24px)!important;}
/* Public site */
.site-header{max-width:100vw!important;left:0;right:0;}.site-header .brand img,.brand img{max-width:52px;height:auto;object-fit:contain}.nav a,.header-tools a,.header-tools button{white-space:nowrap;}
@media (max-width:1200px){
  .site-header{padding-inline:16px!important;gap:10px!important}.site-header .nav{gap:8px!important}.hero,.section,.container,.blog-shell,.cases-shell{max-width:100%!important;}
}
@media (max-width:992px){
  .site-header{min-height:64px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important}.site-header .brand{min-width:0!important;flex:1 1 auto!important}.site-header .brand span{max-width:180px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.site-header .header-tools{flex:0 0 auto!important}.site-header .nav{position:fixed!important;inset:0 0 auto 0!important;top:64px!important;width:100%!important;max-height:calc(100dvh - 64px)!important;overflow:auto!important;background:#fff!important;border-top:1px solid var(--vip-mobile-line)!important;box-shadow:0 24px 60px rgba(15,23,42,.16)!important;padding:14px!important;display:none!important;grid-template-columns:1fr!important;z-index:999!important}.site-header .nav.active,.site-header .nav.open,body.vip-public-menu-open .site-header .nav{display:grid!important}.site-header .nav a,.site-header .home-user-menu{width:100%!important;justify-content:center!important;text-align:center!important;border-radius:14px!important}.site-header .menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:12px!important;border:1px solid var(--vip-mobile-line)!important;background:#fff!important}.floating-whatsapp{transform:scale(.86);transform-origin:bottom right;}
}
@media (max-width:768px){
  :root{--vip-mobile-safe-x:12px}.site-header{padding:8px 12px!important}.site-header .brand img{max-width:42px!important}.site-header .brand span{font-size:14px!important;max-width:155px!important}.hero,.hero.light{border-radius:18px!important;padding:20px 14px!important;margin-inline:0!important;min-height:auto!important;flex-direction:column!important;align-items:flex-start!important}.hero h1{font-size:clamp(24px,8vw,34px)!important}.hero-actions,.actions,.cta-row{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.hero-actions .btn,.actions .btn,.cta-row .btn{width:100%!important;justify-content:center!important}.grid,.cards,.features,.steps,.packages,.results-grid,.blog-grid,.cases-grid{grid-template-columns:1fr!important}.section,.container,.page,.blog-shell,.cases-shell{padding-inline:12px!important;max-width:100%!important}.footer{grid-template-columns:1fr!important;text-align:center!important;gap:18px!important;padding-inline:14px!important}.footer img{margin-inline:auto!important;}
}
/* Admin panel */
.admin-layout,.admin-main,.admin-content,.page-shell{max-width:100vw!important;min-width:0!important}.admin-sidebar-backdrop{position:fixed!important;inset:0!important;background:rgba(15,23,42,.42)!important;z-index:74!important;display:none!important}.admin-sidebar.open + .admin-sidebar-backdrop,.admin-sidebar.open ~ .admin-sidebar-backdrop,body.vip-admin-sidebar-open .admin-sidebar-backdrop{display:block!important}.mobile-sidebar-toggle{align-items:center;justify-content:center;}
@media (max-width:1200px){
  body.admin-body{overflow-x:hidden!important}.admin-layout{display:block!important;width:100%!important}.admin-main{width:100%!important;margin:0!important;min-width:0!important}.admin-sidebar{position:fixed!important;top:0!important;bottom:0!important;inset-inline-end:0!important;inset-inline-start:auto!important;width:min(86vw,340px)!important;height:100dvh!important;max-width:340px!important;z-index:80!important;transform:translateX(110%)!important;visibility:hidden!important;opacity:0!important;transition:transform .22s ease,opacity .22s ease,visibility .22s ease!important;border-inline-start:1px solid var(--vip-mobile-line)!important;border-inline-end:0!important;box-shadow:-18px 0 50px rgba(15,23,42,.20)!important;overscroll-behavior:contain!important}.admin-sidebar.open,body.vip-admin-sidebar-open .admin-sidebar{transform:translateX(0)!important;visibility:visible!important;opacity:1!important}html[dir="ltr"] .admin-sidebar{inset-inline-start:0!important;inset-inline-end:auto!important;transform:translateX(-110%)!important}html[dir="ltr"] .admin-sidebar.open,html[dir="ltr"] body.vip-admin-sidebar-open .admin-sidebar{transform:translateX(0)!important}.mobile-sidebar-toggle{display:inline-flex!important;width:42px!important;height:42px!important;padding:0!important;flex:0 0 42px!important}.admin-content{padding:18px!important}.page-shell{width:100%!important;margin:0!important}.admin-header{position:sticky!important;top:0!important;z-index:60!important;max-width:100vw!important;overflow:visible!important}.admin-header-logo-card{flex:0 0 auto!important}.admin-header-title{min-width:0!important}.admin-search{min-width:0!important}.header-actions{min-width:0!important}.stats-grid,.admin-dashboard-grid,.details-grid,.roles-grid,.form-grid,.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.filters,.filters-wide,.users-filters{grid-template-columns:1fr 1fr!important}.panel,.page-hero,.stat-card,.card,.case-card,.v3d-section,.v3d-side-card{max-width:100%!important}.admin-table{min-width:720px!important}.modal-card{width:min(560px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important}.modal-card footer{flex-wrap:wrap!important}.modal-card footer .btn{flex:1 1 140px!important}}
@media (max-width:768px){
  .admin-header{min-height:56px!important;padding:8px 10px!important;gap:8px!important;display:grid!important;grid-template-columns:42px auto minmax(0,1fr)!important;align-items:center!important}.admin-header-title strong{font-size:15px!important}.admin-header-title span{display:none!important}.admin-header-logo-card{width:48px!important;min-width:48px!important;min-height:48px!important;border-radius:14px!important;padding:4px!important}.admin-header-logo-card img{width:38px!important;height:38px!important;border-radius:10px!important}.admin-search{grid-column:1/-1!important;order:8!important;width:100%!important;max-width:none!important;height:42px!important;padding:8px 12px!important}.header-actions{grid-column:1/-1!important;display:flex!important;gap:7px!important;overflow-x:auto!important;padding-bottom:2px!important;scrollbar-width:none!important}.header-actions::-webkit-scrollbar{display:none}.header-actions>*{flex:0 0 auto!important}.admin-user-card{min-width:42px!important;width:42px!important;height:42px!important;padding:0!important;justify-content:center!important}.admin-user-info,.logout-form,.header-pill{display:none!important}.notification-bell-toggle{min-height:40px!important;padding:7px 10px!important;font-size:12px!important}.notification-badge{min-width:22px!important}.notification-settings-shortcut{width:40px!important;height:40px!important}.admin-content{padding:12px!important}.page-hero{padding:16px!important;border-radius:18px!important}.hero-content,.panel-header{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.page-hero h1{font-size:24px!important;line-height:1.35!important}.page-hero p{font-size:14px!important}.stats-grid,.admin-dashboard-grid,.details-grid,.roles-grid,.form-grid,.form-grid-2,.filters,.filters-wide,.users-filters{grid-template-columns:1fr!important}.hero-actions,.form-actions,.row-actions,.filters{width:100%!important}.hero-actions .btn,.form-actions .btn,.filters .btn{width:100%!important}.panel{border-radius:18px!important}.panel-header{padding:14px!important}.table-wrap{margin-inline:0!important}.admin-table{min-width:680px!important}.notification-dropdown{position:fixed!important;top:112px!important;inset-inline:12px!important;width:auto!important;max-height:calc(100dvh - 130px)!important;overflow:auto!important}.modal-backdrop{padding:10px!important}.modal-card{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;border-radius:20px!important}.modal-card header,.modal-card .modal-body,.modal-card footer{padding:14px!important}.modal-card footer{display:grid!important;grid-template-columns:1fr!important}.activity-item{display:grid!important;grid-template-columns:1fr!important}.btn{white-space:normal!important;text-align:center!important}}
@media (max-width:480px){.admin-content{padding:10px!important}.page-hero h1{font-size:22px!important}.admin-table{min-width:620px!important}.notification-bell-toggle{max-width:160px!important;overflow:hidden!important;text-overflow:ellipsis!important}.admin-sidebar{width:min(92vw,340px)!important}}
/* Doctor panel */
.app,.content,.page,.browser-shell,.doctor-dashboard-v2,.vip-screen-main,.vip-screen-content{max-width:100vw!important;min-width:0!important}.content,.page{overflow-x:hidden!important}.topbar,.vip-screen-header,.vip-topbar{max-width:100vw!important}.sidebar-backdrop,.vip-doctor-sidebar-backdrop,.vip-doctor-mobile-backdrop{position:fixed!important;inset:0!important;background:rgba(15,23,42,.46)!important;z-index:998!important;display:none!important}.sidebar-open .vip-doctor-sidebar-backdrop,.vip-doctor-mobile-drawer-open .vip-doctor-mobile-backdrop{display:block!important}
@media (max-width:992px){
  .app{display:block!important;width:100%!important}.content{width:100%!important;margin:0!important;min-width:0!important}.page{width:100%!important;max-width:100%!important;margin:0!important;padding:14px!important}.sidebar,.doctor-unified-cases-sidebar,.doctor-dashboard-v2 .vip-sidebar{position:fixed!important;top:0!important;bottom:0!important;inset-inline-end:0!important;inset-inline-start:auto!important;width:min(86vw,340px)!important;height:100dvh!important;max-width:340px!important;z-index:1000!important;background:#fff!important;overflow:auto!important;transform:translateX(112%)!important;visibility:hidden!important;opacity:0!important;transition:transform .22s ease,opacity .22s ease,visibility .22s ease!important;box-shadow:-18px 0 60px rgba(15,23,42,.22)!important;border-inline-start:1px solid var(--vip-mobile-line)!important;border-inline-end:0!important}body.sidebar-open .sidebar,body.sidebar-open .doctor-unified-cases-sidebar,body.sidebar-open .doctor-dashboard-v2 .vip-sidebar,body.vip-doctor-mobile-drawer-open .vip-doctor-mobile-drawer{transform:translateX(0)!important;visibility:visible!important;opacity:1!important}html[dir="ltr"] .sidebar,html[dir="ltr"] .doctor-unified-cases-sidebar,html[dir="ltr"] .doctor-dashboard-v2 .vip-sidebar{inset-inline-start:0!important;inset-inline-end:auto!important;transform:translateX(-112%)!important}.topbar{height:auto!important;min-height:58px!important;padding:8px 12px!important;gap:8px!important;flex-wrap:wrap!important}.top-left{gap:8px!important}.circle-btn,.avatar{width:38px!important;height:38px!important}.burger{display:inline-grid!important;place-items:center!important;width:42px!important;height:42px!important;border:1px solid var(--line,#dbe3ee)!important;border-radius:12px!important;background:#fff!important}.hero,.hero.light{border-radius:18px!important;padding:18px!important;margin-bottom:14px!important;min-height:auto!important;flex-direction:column!important;align-items:flex-start!important}.hero h1{font-size:26px!important}.stats,.stats.four,.grid-2,.grid-3,.dash-main,.bottom-grid,.calendar-layout,.content-split,.scroll-form-grid,.form-grid.three,.upload-grid.three,.upload-grid.four{grid-template-columns:1fr!important}.form-grid,.upload-grid{grid-template-columns:1fr!important}.card,.case-card,.stat-card,.panel,.v3d-section,.v3d-side-card{max-width:100%!important}.input-row{grid-template-columns:1fr!important}.table{min-width:680px!important}.card:has(table),.wide-table{overflow-x:auto!important}.bottom-save-bar{left:0!important;right:0!important;width:100%!important;padding:10px 12px!important;gap:8px!important;flex-wrap:wrap!important}.bottom-save-bar .btn{flex:1 1 150px!important}.btn{white-space:normal!important}.vip-case-grid,.case-detail-grid,.patient-detail-grid,.files-grid,.file-grid,.v3d-layout{grid-template-columns:1fr!important}.vip-medical-viewer,.vip-doctor-3d-viewer{width:100vw!important;height:100dvh!important}.vip-medical-tools,.vip-doctor-3d-toolbar{overflow-x:auto!important;white-space:nowrap!important}.vip-medical-stage,.vip-doctor-3d-stage{grid-template-columns:1fr!important}.vip-medical-info,.vip-doctor-3d-info{max-width:100vw!important}}
@media (max-width:768px){
  .page{padding:12px!important}.topbar{padding:8px 10px!important}.logo .vip{font-size:34px!important}.logo .brand{font-size:13px!important}.hero h1{font-size:24px!important}.stat-card{height:auto!important;min-height:82px!important;padding:14px!important}.card{padding:14px!important;border-radius:16px!important}.card h2{font-size:18px!important}.btn,.file-actions label,.file-actions button,.file-actions a{min-height:40px!important}.table th,.table td{padding:10px 8px!important}.vip-modal-card,.vip-case-modal.open .vip-modal-card,.file-preview-modal.open .modal-card,.image-preview-modal.open .modal-card,.stl-preview-modal.open .modal-card,.model-preview-modal.open .modal-card{width:100vw!important;max-width:100vw!important;height:100dvh!important;border-radius:0!important}.vip-modal-tools,.viewer-toolbar,.preview-toolbar,.model-toolbar{overflow-x:auto!important;flex-wrap:nowrap!important}.vip-modal-tools>*,.viewer-toolbar>*,.preview-toolbar>*,.model-toolbar>*{flex:0 0 auto!important}.upload-grid,.form-grid{gap:12px!important}.upload-tile{min-height:auto!important}.preview-box{height:118px!important}}
@media (max-width:480px){.page{padding:10px!important}.hero{padding:14px!important}.stats{gap:12px!important}.table{min-width:600px!important}.sidebar,.doctor-unified-cases-sidebar{width:min(92vw,340px)!important}}
/* Shared cards/forms/modals */
@media (max-width:768px){
  [class*="grid"]{min-width:0;} .v3d-top-controls,.v3d-card-grid,.v3d-step-row,.v3d-info-strip,.v3d-result-stats,.v3d-modal-body,.v3d-viewer-wrap{grid-template-columns:1fr!important}.v3d-page,.v3d-view-page{max-width:100vw!important;padding-inline:10px!important}.v3d-page-title h1{font-size:26px!important}.v3d-file-card h4{font-size:18px!important}.v3d-file-name{font-size:17px!important}.v3d-file-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.v3d-mini-btn span{font-size:12px!important}.v3d-section-head{flex-wrap:wrap!important}.v3d-modal-body{padding:10px!important}.v3d-viewer{min-height:420px!important}.v3d-info-panel{max-height:60dvh!important;overflow:auto!important}.v3d-result-card,.v3d-upload-progress-card{max-height:calc(100dvh - 24px)!important;overflow:auto!important}.v3d-result-actions{display:grid!important;grid-template-columns:1fr!important}.v3d-result-actions .v3d-btn{width:100%!important}.vip-medical-head,.vip-doctor-3d-head{max-width:100vw!important}.vip-medical-tools,.vip-doctor-3d-toolbar{max-width:100vw!important}.vip-medical-thumbs,.vip-doctor-3d-thumbbar{max-width:100vw!important}.vip-medical-canvas,.vip-doctor-3d-canvas-wrap{max-width:100vw!important}.vip-medical-info,.vip-doctor-3d-info{max-width:100%!important}.vip-medical-viewer-open .sidebar,.vip-doctor-3d-viewer-open .sidebar{display:none!important;}}

/* 20260625: keep intake Progress Modal above the create patient/case modal and every overlay. */
body > .upload-progress-modal,.upload-progress-modal{position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;max-height:100vh!important;z-index:2147483630!important;isolation:isolate!important}
body > .upload-progress-modal .upload-progress-card,.upload-progress-modal .upload-progress-card{position:relative!important;z-index:2147483631!important}
body > .vip-upload-result-modal,.vip-upload-result-modal{position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;z-index:2147483640!important;isolation:isolate!important}

/* 20260625: keep admin intake modal results above all mobile UI and keep bottom actions inside modal flow. */
body > .upload-progress-modal,.upload-progress-modal{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;z-index:2147483630!important;isolation:isolate!important;display:none;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:rgba(7,21,45,.62)!important;backdrop-filter:blur(7px)!important}
body > .upload-progress-modal.active,.upload-progress-modal.active{display:flex!important}
body > .vip-upload-result-modal,.vip-upload-result-modal{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;z-index:2147483640!important;isolation:isolate!important;display:none;align-items:center!important;justify-content:center!important;background:rgba(7,21,45,.64)!important;backdrop-filter:blur(7px)!important;overflow:hidden!important}
body > .vip-upload-result-modal.active,.vip-upload-result-modal.active{display:flex!important}
.vip-intake-modal-body .bottom-save-bar,.vip-case-modal-backdrop[data-case-modal="create"] .bottom-save-bar{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-width:100%!important;margin:22px 0 0!important;z-index:auto!important;border-radius:22px!important;background:#fff!important;backdrop-filter:none!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important}
