/* ImportPRO: mobile application layer; desktop retains its existing layout. */
.mobile-only,.mobile-tabs,.mobile-menu-close,.mobile-menu-heading>span,.connection-status,.mobile-calendar-count,.mobile-action-label{display:none}
.mobile-menu-heading{flex-shrink:0}
#installAppModal{z-index:1100}
[hidden]{display:none!important}
.pwa-standalone #sidebarLabelBtn,.pwa-standalone .label-center-action{display:none!important}
.sidebar-btn[aria-current=page]{color:var(--accent);background:var(--accent-glow)}
.install-steps{padding-left:24px;display:grid;gap:16px;margin:22px 0;color:var(--text);font-size:16px;line-height:1.6}
.install-note{font-size:14px;line-height:1.6;color:var(--muted)}
.connection-status.visible{display:block;padding:10px 16px;background:#713e0c;color:#fff;font-size:14px;text-align:center}
.calendar-day-entry{padding:14px 0;border-bottom:1px solid var(--border);display:grid;gap:8px;overflow-wrap:anywhere}
.calendar-day-entry small{color:var(--muted);font-size:13px}
button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1024px){
  :root{--mobile-nav-height:68px;--muted:#9ca6bf}
  [data-theme=light]{--muted:#5c6680}
  html{scroll-padding-top:130px;scroll-padding-bottom:100px}
  body{font-size:15px;-webkit-text-size-adjust:100%}
  body.mobile-nav-open{touch-action:auto}
  body:has(.modal-backdrop.open){overflow:hidden}
  .mobile-only{display:flex}
  .mobile-action-label{display:inline}
  #sidebarLabelBtn,.label-center-action,#viewLabelCenter{display:none!important}
  .main-wrap{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}
  .content{padding:18px max(16px,env(safe-area-inset-right)) 28px max(16px,env(safe-area-inset-left))}
  .topbar{padding-right:max(16px,env(safe-area-inset-right));padding-left:max(16px,env(safe-area-inset-left));box-shadow:0 6px 22px #0000000d}
  .topbar-title{font-size:17px;letter-spacing:-.4px}
  .mobile-nav-btn,.back-btn{width:44px;min-width:44px;min-height:44px;flex-basis:44px}
  .search-wrap{border-radius:12px;height:48px;margin:2px 0}
  .search-wrap select{max-width:130px;font-size:16px!important;margin-right:0}
  .search-wrap input{width:100%;min-height:44px}
  .notif-bell,.notif-bell>.sidebar-btn{min-width:44px;width:44px!important;height:44px!important;padding:0;justify-content:center}
  #btnReleaseNotes{display:none}
  .mobile-actions{display:flex;flex-wrap:wrap;gap:8px;padding:16px 16px 0}
  .mobile-actions:not(:has(>.btn-new:not(.hidden))){display:none}
  .mobile-actions>.btn-new{flex:1 1 calc(50% - 8px);justify-content:center;min-height:46px;font-size:14px;white-space:normal;padding:10px}
  .mobile-tabs{display:flex;position:fixed;inset:auto 0 0;z-index:80;gap:3px;padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -8px 30px #00000012}
  .mobile-tabs button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;height:56px;padding:4px 0;border-radius:12px;color:var(--muted);font-size:11px;font-weight:600}
  .mobile-tabs button span:first-child{display:grid;place-items:center;height:26px;font-size:21px}
  .mobile-tabs button[aria-current=page],.mobile-tabs button[aria-expanded=true]{color:var(--accent);background:var(--accent-glow)}
  .mobile-tabs button[hidden]{display:none}
  body.keyboard-open .mobile-tabs{display:none}
  .sidebar{overscroll-behavior:contain;touch-action:pan-y;gap:5px;padding-left:16px;padding-right:16px}
  .mobile-menu-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .mobile-menu-heading>.sidebar-logo{margin:0;width:40px;height:40px}
  .mobile-menu-heading>span{display:block;font:800 19px var(--font-head)}
  .mobile-menu-close{display:block;margin-left:auto;min-width:44px;min-height:44px;color:var(--muted);font-size:30px}
  .sidebar-btn .sb-label{font-size:15px;white-space:normal;text-align:left}
  .sidebar-btn{padding:0 12px}
  .sidebar-spacer{min-height:14px;border-top:1px solid var(--border);margin-top:8px}
  .sidebar .sidebar-btn>span:first-child{width:26px;text-align:center;flex-shrink:0}
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea{font-size:16px!important;min-height:46px;max-width:100%;min-width:0}
  input[type=file]{width:100%;font-size:14px!important}
  input[type=date],input[type=month]{appearance:none;min-height:46px}
  .form-label,.field label{font-size:12px;letter-spacing:.03em}
  .btn,.btn-new,.hero-btn,.lb-btn,.todo-filter,.doc-filter,.calendar-scope-btn{min-height:44px;font-size:14px!important;line-height:1.3}
  .btn{white-space:normal;justify-content:center}
  .card-name{font-size:18px;overflow-wrap:anywhere}.card-tracking{font-size:12px;overflow-wrap:anywhere}
  .card-meta{gap:8px}.meta-item{padding:10px}.meta-label{font-size:11px}.meta-value{font-size:14px;overflow-wrap:anywhere}
  .card-actions{flex-wrap:wrap}.card-actions .btn{flex:1}
  .grid-5{grid-template-columns:1fr;gap:14px}
  .product-img{height:200px}.product-body{padding:16px}.product-name{font-size:17px;line-height:1.45}
  .product-model,.product-ean{font-size:13px;overflow-wrap:anywhere}
  .product-body>div:not(.product-name):not(.product-actions){font-size:13px!important}
  .product-body>div[style*="var(--border2)"]{color:var(--muted)!important}
  .meta-value span{font-size:12px!important}
  .product-actions .btn{min-width:44px}.product-select{width:26px;height:26px}
  .section-header{flex-wrap:wrap}.section-header h2{font-size:20px}
  .doc-name{white-space:normal;overflow-wrap:anywhere;font-size:15px}.doc-meta{font-size:12px}
  .doc-actions{padding-left:0;gap:8px}.doc-actions .btn{flex:1 1 auto}
  .doc-search input{min-width:0;width:100%}.doc-search{min-height:48px}
  .upload-row{flex-wrap:wrap}.upload-row input[type=text]{min-width:100%}
  .modal{width:100%!important;max-width:100%!important;scroll-padding-bottom:90px;overscroll-behavior:contain}
  .modal-footer{background:var(--surface);border-top:1px solid var(--border);gap:8px}
  .modal-footer .btn{flex:1 1 120px}.modal-title{overflow-wrap:anywhere;padding-right:10px}
  .prod-detail-hero{height:230px}.detail-label{font-size:12px}.detail-value{font-size:16px}
  .extra-thumb .thumb-dl{display:flex;inset:auto 0 0;height:28px;font-size:14px}
  .dash-grid{grid-template-columns:1fr 1fr}.dash-card{min-width:0;padding:16px}.dash-card-val{font-size:23px;overflow-wrap:anywhere}.dash-card-label{font-size:12px}.dash-card-sub{font-size:12px}
  .dash-bar-label{flex-wrap:wrap;gap:4px}.recent-grid{grid-template-columns:1fr 1fr}
  .todo-progress-row{grid-template-columns:1fr}.todo-progress-card{padding:14px}.todo-progress-title{font-size:14px}
  .todo-title{font-size:15px;line-height:1.5}.todo-note,.todo-meta,.todo-note-meta{font-size:13px}
  .todo-filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.todo-filter{flex-shrink:0}
  #todoAssigneeField{width:100%}#todoUserSelect{width:100%!important}
  .work-card-title,.contractor-name,.client-case-product,.china-item-name,.checklist-product-name{font-size:16px}
  .work-card-meta,.client-case-meta,.china-item-meta,.checklist-item-by,.review-note-meta{font-size:13px}
  .checklist-item-title,.review-note,.client-case-description{font-size:14px}
  .work-detail-title{font-size:23px;overflow-wrap:anywhere}
  .work-detail-header>div:last-child{flex-wrap:wrap}
  .contractor-row,.client-case-row,.review-item-top{grid-template-columns:1fr;gap:12px}
  .contractor-row,.client-case-row,.review-item{padding:18px 0}.contractor-row>div:last-child{justify-content:flex-start!important}
  .review-status-controls{justify-content:flex-start}.review-status-controls label{min-height:44px;font-size:14px;white-space:normal}
  .checklist-item-row{grid-template-columns:auto minmax(0,1fr);gap:12px}.checklist-item-row .item-actions{grid-column:2;flex-wrap:wrap}
  .checklist-item-row input[type=checkbox]{width:26px;height:26px;margin:8px 0}
  .checklist-product-head{flex-wrap:wrap}.checklist-product-head>div:last-child{flex-wrap:wrap}
  .china-item{grid-template-columns:60px minmax(0,1fr)}.china-item-actions{grid-column:1/-1;flex-wrap:wrap}
  .china-item-actions .btn{flex:1}.china-bulk-rows{max-height:none;overflow:visible}.china-bulk-review{font-size:14px;min-height:44px}
  .client-case-summary{grid-template-columns:1fr 1fr}.client-case-summary-main{grid-column:1/-1}
  .review-note-form{flex-wrap:wrap}.review-note-form .form-input{flex:1 1 100%}
  .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible;gap:4px;padding:0}
  .cal-day{min-height:62px;padding:8px 2px;text-align:center;cursor:pointer}
  .cal-day-num{font-size:14px}.cal-header{font-size:11px}
  .cal-day>:not(.cal-day-num):not(.mobile-calendar-count){display:none}
  .mobile-calendar-count{display:block;font-size:11px;color:var(--accent);margin-top:4px;font-weight:700}
  .calendar-upcoming-row{flex-wrap:wrap;gap:8px}.calendar-upcoming-date{font-size:13px}
  .calendar-scope-bar{flex-wrap:wrap}.calendar-scope-btn{flex:1}
  .roz-year-nav{flex-wrap:wrap;gap:8px}.roz-year-title{order:-1;width:100%;text-align:center}.roz-year-nav>.btn{flex:1}
  .roz-input-grid,.roz-summary,.roz-compare-grid{grid-template-columns:1fr}
  .roz-sum-val{font-size:23px;overflow-wrap:anywhere}.roz-sum-label{font-size:13px}
  .backup-status-card{flex-wrap:wrap}.backup-status-card>div,.backup-status-card>div>div{min-width:0!important;max-width:100%}
  .backup-status-card .btn{width:100%}.admin-section-title{flex-wrap:wrap;gap:10px}
  .user-row{flex-wrap:wrap;gap:12px}.user-actions{flex-wrap:wrap}.maint-toggle>div{min-width:0}
  .release-note-head{flex-wrap:wrap}.release-note-description{font-size:14px}
  .toast-wrap{bottom:calc(82px + env(safe-area-inset-bottom));left:16px;right:16px}.toast{max-width:100%;min-width:0;font-size:14px}
  .todo-alert-popup,.vacation-alert{bottom:calc(82px + env(safe-area-inset-bottom));max-height:55dvh;overflow-y:auto}
  .todo-alert-popup.todo-new-alert{bottom:calc(230px + env(safe-area-inset-bottom))}
  .login-card{padding:30px 24px}.login-sub{font-size:15px}.login-logo{font-size:28px}
  #loginScreen{overflow-y:auto}#loginError{font-size:14px}
  .container-card:hover,.product-card:hover,.work-card:hover{transform:none}
}
@media(max-width:360px){.dash-grid,.recent-grid{grid-template-columns:1fr}.mobile-tabs button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
