
/* 내편안전 Cloudflare Pages 모바일 전용 UI r35
   - 실제 휴대폰: 820px 이하에서 자동 적용
   - /mobile/ 경유 또는 ?mobile=1: 강제 적용 */
:root{--ms-mobile-bottom:66px}
@media (max-width:820px){
  html{font-size:15px;overflow-x:hidden}
  body{overflow-x:hidden!important;padding-bottom:calc(var(--ms-mobile-bottom) + env(safe-area-inset-bottom))!important}
  .program-role-lock{top:6px!important;left:6px!important;right:auto!important;transform:scale(.84);transform-origin:left top}
  .main-banner-header{height:76px!important;min-height:76px!important;overflow:hidden!important}
  .main-banner-frame{height:76px!important;min-height:76px!important;width:100%!important;overflow:hidden!important;position:relative!important}
  .main-banner-image{height:76px!important;width:100%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center right!important}
  #r19LogoutSlot{position:absolute!important;right:8px!important;top:36px!important;left:auto!important;bottom:auto!important;z-index:60!important}
  #mysafetyLogoutButton{height:31px!important;min-height:31px!important;padding:0 10px!important;font-size:11px!important;border-radius:10px!important}
  .app-main-tabs{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:9999!important;margin:0!important;padding:0!important;background:#fff!important;border-top:1px solid #e2d5d2!important;box-shadow:0 -5px 18px rgba(69,24,24,.10)!important}
  .app-main-tabs-inner{display:flex!important;width:100%!important;max-width:none!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:5px 5px calc(5px + env(safe-area-inset-bottom))!important;gap:4px!important;box-sizing:border-box!important}
  .app-main-tab{flex:0 0 96px!important;min-width:96px!important;min-height:51px!important;height:auto!important;padding:6px 4px!important;border-radius:10px!important;font-size:10.5px!important;line-height:1.2!important;white-space:normal!important;scroll-snap-align:start}
  .admin-profile-layout{display:block!important;margin:7px 8px!important;padding:0!important}
  .admin-utility-stack{display:flex!important;gap:6px!important;overflow-x:auto!important;padding:0 0 6px!important}
  .admin-utility-stack .admin-utility-tab{flex:0 0 auto!important;min-width:auto!important;min-height:36px!important;height:36px!important;padding:0 12px!important;font-size:11px!important}
  .system-profile-bar{min-height:0!important;padding:8px 10px!important;border-radius:12px!important}
  .system-profile-title{gap:7px!important}.system-profile-title img{width:28px!important;height:28px!important}.system-profile-title strong{font-size:13px!important}
  .system-profile-items{display:none!important}
  .shell{width:100%!important;max-width:none!important;margin:0!important;padding:8px!important;box-sizing:border-box!important}
  .panel{padding:10px!important;border-radius:14px!important}
  .search-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important;align-items:stretch!important}
  .search-row .searchbox{grid-column:1/-1!important;width:100%!important}
  .search-row .select,.search-row button{width:100%!important;min-width:0!important;height:42px!important;font-size:12px!important}
  .searchbox input{font-size:15px!important;height:44px!important}
  .subrow{display:block!important}.subrow .quick{display:flex!important;overflow-x:auto!important;gap:6px!important;padding-bottom:4px!important}.subrow .actions{display:flex!important;gap:6px!important;margin-top:7px!important;overflow-x:auto!important}
  .info{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.info>span{min-width:0!important;font-size:11px!important}
  .personal-panel{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.personal-block{min-width:0!important}
  .coverage-grid{grid-template-columns:1fr!important}
  .workspace{display:block!important;min-width:0!important}.workspace>.pane{width:100%!important;min-width:0!important;max-width:none!important}.list-pane{max-height:46vh!important;overflow:auto!important}.detail-pane{margin-top:8px!important;min-height:38vh!important}.pane-head{padding:9px 10px!important}.detail,.list{font-size:13px!important}
  .section-hero,.section-hero.compact{padding:13px!important;border-radius:14px!important;display:block!important}.section-hero h1{font-size:21px!important}.section-hero p{font-size:12px!important}
  .ob-console,.risk-console{display:block!important;width:100%!important;min-width:0!important}
  .ob-side,.risk-side{position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;padding:7px!important;border-radius:14px!important;margin:0 0 7px!important;overflow:hidden!important}
  .ob-brand,.risk-side .ob-brand{display:none!important}.ob-help{display:none!important}
  #obNav,#riskNav{display:flex!important;flex-direction:row!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px!important;white-space:nowrap!important}
  #obNav button,#riskNav button{flex:0 0 auto!important;width:auto!important;min-width:118px!important;min-height:42px!important;height:42px!important;padding:0 10px!important;border-radius:10px!important;font-size:11px!important}
  #riskNav .risk-subnav{min-width:140px!important}
  .ob-main,.risk-main{width:100%!important;min-width:0!important;max-width:none!important}
  .ob-top{padding:9px 10px!important;min-height:0!important;position:sticky!important;top:0!important;z-index:20!important;border-radius:12px!important}.ob-top h1{font-size:20px!important}.ob-top p{font-size:11px!important}.risk-top-tools{display:flex!important;gap:5px!important;flex-wrap:wrap!important}
  .ob-view,.risk-view{padding:6px 0!important}
  .ob-kpis,.ob-kpis.stats,.risk-kpis,.stats-summary-grid,.backup-assurance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .ob-kpis>div,.risk-kpis>div,.stats-summary-grid>div,.backup-assurance-grid>div{min-width:0!important;padding:10px!important;border-radius:12px!important}.ob-kpis strong,.risk-kpis strong{font-size:24px!important}
  .ob-grid,.ob-grid.two,.ob-grid.three,.risk-dashboard-grid,.ob-grid.stats-top{grid-template-columns:1fr!important;gap:8px!important}
  .ob-panel,.risk-workplace-panel,.risk-office-panel{padding:10px!important;border-radius:13px!important;min-width:0!important}
  .project-admin-toolbar,.project-period-toolbar,.project-search-toolbar,.risk-toolbar,.r9-history-toolbar,.ob-stats-controls{display:flex!important;gap:6px!important;flex-wrap:wrap!important;align-items:flex-end!important}.project-admin-toolbar>*{min-width:0!important}
  .project-table,.department-table,.check-table,.standards-table,.ob-stats-table,.dept-table,.risk-workplace-table,.r8-risk-db-wrap,.r9-risk-history-table,.r9-location-history-table{overflow-x:auto!important;max-width:100%!important;-webkit-overflow-scrolling:touch}
  .check-page .project-pick{display:flex!important;gap:6px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding:8px!important}.check-page .project-pick>*{flex:0 0 auto!important}.check-tabs{overflow-x:auto!important;white-space:nowrap!important}.check-line,.check-table .head{min-width:980px!important}
  .risk-workplace-groups{max-height:none!important;overflow:visible!important}.risk-dept-toggle{grid-template-columns:20px minmax(115px,1fr) minmax(120px,.8fr)!important;gap:6px!important;padding:10px!important}.risk-dept-toggle>small{grid-column:2/-1!important;white-space:normal!important}.risk-place-summary-card{padding:9px!important}
  .risk-detail-table-wrap,.risk-workplace-table,.risk-place-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .forms-grid,.accident-grid,.siren-portal-grid{grid-template-columns:1fr!important}.form-card,.accident-card{min-width:0!important}
  .managed-pdf-shell,.managed-pdf-viewer,iframe,embed{max-width:100%!important}
  .modal,.record-modal,.evidence-approval-modal{padding:8px!important}.record-dialog,.evidence-approval-dialog{width:min(100%,520px)!important;max-height:92vh!important;overflow:auto!important;border-radius:16px!important}.risk-form-grid{grid-template-columns:1fr!important}
  .admin-crud-bar{display:block!important;padding:9px!important}.admin-crud-bar>div:last-child{display:flex!important;gap:5px!important;overflow-x:auto!important;margin-top:6px!important}.admin-crud-bar button{flex:0 0 auto!important}
}

/* 로그인 전용 모바일 */
@media (max-width:820px){
  body:has(.ms-main){padding-bottom:0!important;overflow:auto!important}
  .ms-topbar{height:auto!important;min-height:58px!important;padding:7px 12px!important}.ms-brand{gap:8px!important}.ms-logo{width:38px!important;height:38px!important;flex-basis:38px!important}.ms-gu strong{font-size:15px!important}.ms-gu span{font-size:9px!important}.ms-divider,.ms-system,.ms-department{display:none!important}
  .ms-main{display:block!important;height:auto!important;min-height:calc(100vh - 58px)!important;padding:12px 12px 34px!important;margin:0!important;max-width:none!important}
  .ms-card{width:100%!important;min-height:0!important;padding:20px 16px 18px!important;border-radius:20px!important;box-sizing:border-box!important}.ms-title{gap:10px!important}.ms-shield{width:62px!important;height:62px!important;border-radius:17px!important}.ms-title h1{font-size:34px!important}.ms-title-kicker{font-size:12px!important}.ms-sub{font-size:14px!important;margin:10px 0 14px!important}.ms-rule{margin-bottom:14px!important}.ms-tabs{margin-bottom:12px!important}.ms-tab{height:44px!important;font-size:14px!important}.ms-field{height:50px!important;margin:9px 0!important}.v285-dept-grid{grid-template-columns:1fr!important;gap:7px!important}.v285-dept-grid select{height:46px!important}.ms-notice{font-size:12px!important;padding:10px 11px!important}.ms-options{margin:12px 0!important;font-size:12px!important}.ms-submit{height:52px!important;font-size:16px!important}.ms-optimize{height:42px!important}.ms-side{display:none!important}.ms-footer{position:static!important;margin-top:12px!important;font-size:11px!important}.ms-apply-dialog{width:calc(100vw - 18px)!important;max-height:90vh!important;overflow:auto!important}
}
