/* Mobile presentation only; the existing desktop and payroll workflows remain shared. */
#oxMobileNav{display:none}
#oxMobileMenu{border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:20px;padding:16px;box-sizing:border-box;width:min(460px,calc(100% - 16px));max-height:calc(var(--ox-viewport-height,100dvh) - 32px);overflow:auto}
#oxMobileMenu::backdrop{background:rgba(0,0,0,.65)}
.ox-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ox-menu-head h2{margin:0;font-size:20px}
#oxMobileMenu button{min-height:48px;border:1px solid var(--border);border-radius:12px;background:var(--bg3);color:var(--text);padding:10px 12px;font:inherit;cursor:pointer;touch-action:manipulation;text-align:left}
.ox-menu-head button{min-width:48px;text-align:center!important}
.ox-menu-user{color:var(--text2);font-size:14px;overflow-wrap:anywhere}
.ox-menu-pages{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ox-menu-actions{display:grid;gap:8px;border-top:1px solid var(--border);margin-top:16px;padding-top:16px}
#oxMobileMenu [aria-current=page]{color:var(--accent);border-color:var(--accent)}
#oxMobileMenu .ox-menu-logout{color:var(--red)}
@media screen and (max-width:768px){
  [data-mobile-download]{display:none!important}
  html{scroll-padding-top:12px;scroll-padding-bottom:100px}
  body{overflow-wrap:break-word}
  button,.btn,select,input,textarea{box-sizing:border-box}
  button,.btn,[role=button],select{touch-action:manipulation}
  button,.btn,#saveBtn,.tab{min-height:44px}
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px!important;min-height:44px;max-width:100%}
  input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px;accent-color:var(--accent)}
  button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .page{padding:12px 10px!important;max-width:100%;box-sizing:border-box}
  .section-header{gap:10px;flex-wrap:wrap;align-items:center}
  .section-header>div{max-width:100%;flex-wrap:wrap}
  .section-title{font-size:18px}
  .card{padding:12px;max-width:100%;box-sizing:border-box}
  #araclarGrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))!important}
  #pusulaGrid{grid-template-columns:minmax(0,1fr)!important}
  #pusulaGrid>div{min-width:0}
  #pusulaArea,#tutanakArea{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  #pgPusula .form-group.admin-only{flex-wrap:wrap;min-width:0}
  #cardPersonelTabs>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  #cardPersonelTabs button{white-space:normal;min-height:48px;font-size:13px;padding:8px}
  #secPersonelList table td:first-child{min-width:150px}
  .table-responsive{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg3);max-width:100%}
  .table-responsive input{min-width:50px}
  .table-responsive .btn,td button{min-width:44px}
  .modal-overlay{padding:8px;box-sizing:border-box;align-items:center;overscroll-behavior:contain}
  .modal-overlay .modal{width:100%!important;max-width:540px!important;max-height:calc(var(--ox-viewport-height,100dvh) - 16px)!important;padding:18px 14px!important;border-radius:18px!important;box-sizing:border-box;overscroll-behavior:contain;scroll-padding-bottom:80px}
  .modal .form-row,.modal .grid-2,.modal .grid-3{min-width:0}
  .modal .actions,.modal .modal-actions{position:sticky;bottom:-18px;z-index:4;background:var(--bg2);padding:12px 0 calc(10px + env(safe-area-inset-bottom));margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border)}
  .modal .actions>button,.modal .modal-actions>button{flex:1 1 100px;min-height:48px;white-space:normal}
  #modalLeaveEntry .lc-head{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}
  #modalLeaveEntry .lc-head>div{display:flex!important;flex-wrap:wrap;min-width:0;gap:6px!important}
  #modalLeaveEntry .lc-head select{flex:1 1 80px;min-width:0;padding:6px}
  #modalLeaveEntry .lc-nav{min-width:44px;min-height:44px;padding:0!important}
  #modalLeaveEntry .lc-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  #modalLeaveEntry .lc-cell{aspect-ratio:auto;min-width:0;min-height:44px;touch-action:manipulation}
  #loginOverlay>div{width:calc(100% - 24px)!important;max-width:390px!important;box-sizing:border-box;padding:24px 18px!important}
  #notPanel{max-width:calc(100% - 20px);box-sizing:border-box;bottom:calc(84px + env(safe-area-inset-bottom))}
  #errorBanner{overflow-wrap:anywhere}
  .ox-mobile-ready #persistentSaveError{bottom:calc(84px + env(safe-area-inset-bottom))!important;max-height:45vh;overflow:auto}
  body.ox-mobile-ready{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .ox-mobile-ready #topbar{height:auto;min-height:0;position:relative;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--bg2)}
  .ox-mobile-ready #topbar .logo{flex:1;min-width:0}
  .ox-mobile-ready #topbar .logo-img{max-width:145px;max-height:36px;object-fit:contain}
  .ox-mobile-ready #topbar .logo-sub,.ox-mobile-ready #topbar>.spacer,.ox-mobile-ready #buildStamp,.ox-mobile-ready #liveClock,.ox-mobile-ready #userHeaderInfo,.ox-mobile-ready #undoBtn,.ox-mobile-ready #backupBtn,.ox-mobile-ready #excelBackupBtn,.ox-mobile-ready #saveBtn,.ox-mobile-ready #saveFab,.ox-mobile-ready #tabsWrap{display:none!important}
  .ox-mobile-ready #themeToggleBtn{order:1;min-width:44px;min-height:44px;padding:8px!important;margin:0}
  .ox-mobile-ready #topbar .global-period{order:2;flex:1 0 100%;display:grid!important;grid-template-columns:auto minmax(0,1fr) 96px;gap:8px!important;margin:0;min-width:0}
  .ox-mobile-ready .global-period>span{font-size:12px!important}
  .ox-mobile-ready .global-period select{width:100%;padding:8px 10px!important;background:var(--bg3);border-radius:10px}
  .ox-mobile-ready #oxMobileNav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:600;gap:4px;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:var(--bg2);border-top:1px solid var(--border);box-shadow:0 -4px 20px rgba(0,0,0,.12)}
  #oxMobileNav button{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 0;gap:4px;min-width:0;min-height:58px;max-width:100%;padding:6px 2px;border:0;border-radius:12px;background:transparent;color:var(--text2);font-family:inherit;font-size:11px;line-height:1.2;touch-action:manipulation}
  #oxMobileNav button>span:first-child{font-size:21px;line-height:24px}
  #oxMobileNav button[aria-current=page]{background:var(--bg3);color:var(--accent);font-weight:700}
  #oxMobileNav .ox-nav-save{background:#2563eb;color:#fff;font-weight:700}
  #oxMobileNav button:disabled{opacity:.5}
  .ox-mobile-ready.ox-mobile-keyboard #oxMobileNav,.ox-mobile-ready.ox-mobile-modal #oxMobileNav{display:none}
  .ox-mobile-ready.ox-mobile-keyboard{padding-bottom:12px}
  .ox-mobile-ready #payrollOutcomeUnknown,.ox-mobile-ready #payrollRecoveryComplete{margin-bottom:82px}
  #oxMobileMenu{margin:auto auto max(8px,env(safe-area-inset-bottom));padding:16px}
}
@media screen and (max-width:600px){
  #primTable:has(.pm-head){max-height:none!important;overflow:visible!important}
  #primTable .pm-head{position:static}
  #pgPrim .form-group:has(#btnPrimView){flex-wrap:wrap;min-width:0;width:100%}
}
@media screen and (max-width:380px){
  .modal .form-row{flex-wrap:wrap}
  .ox-menu-pages{grid-template-columns:1fr}
  .section-header .btn{white-space:normal}
}
@media(prefers-reduced-motion:reduce){#oxMobileNav *,#oxMobileMenu *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{#oxMobileNav,#oxMobileMenu{display:none!important}}
