/* My Roster duty-sync/mobile fix, 6 October 2026. */
.duty-sync-note {margin:14px 0 0;line-height:1.5;color:#dce9f4;font-size:.85rem;position:relative;z-index:1}
.duty-check-dialog {width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:18px;padding:20px;overflow:auto;color:var(--ink);background:white}
.duty-check-dialog::backdrop {background:rgba(7,24,47,.6)}
.duty-check-dialog img {width:100%;height:auto;display:block;border-radius:10px;margin:12px 0}
.duty-check-dialog .field {min-width:0}
.duty-check-dialog .check-photo {display:flex;align-items:flex-start;gap:10px;margin:16px 0}
.duty-check-dialog .check-photo input {width:22px;height:22px;flex:0 0 22px}
.duty-check-dialog .actions {flex-wrap:wrap}
.duty-check-dialog .error {display:block}
@media(max-width:850px) {
  html {scroll-padding-top:calc(18px + env(safe-area-inset-top));scroll-padding-bottom:calc(var(--roster-nav-height,100px) + 24px)}
  .app,.main,.view {min-width:0;width:100%;max-width:100%;box-sizing:border-box}
  .app {padding-bottom:0}
  .main {overflow:visible;padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(var(--roster-nav-height,100px) + 28px)}
  .grid,.subgrid,.leave-layout {grid-template-columns:minmax(0,1fr)}
  .card,.top,.title,.head,.head-actions,.manual-list,.queue,.queue-item,.queue-actions,.manual-entry,.roster-folder,.roster-folder-body {min-width:0;max-width:100%}
  .top {align-items:flex-start;gap:12px}
  .top .title {flex:1;overflow-wrap:anywhere}
  .avatar {flex:0 0 43px}
  .head,.head-actions,.review-actions,.actions,.shift-actions,.queue-actions {flex-wrap:wrap;gap:8px}
  .manual-entry,.queue-item {display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}
  .manual-entry>div:first-child,.queue-item>div:first-child {flex:1 0 100%;min-width:0;overflow-wrap:anywhere}
  .manual-entry>button,.manual-entry>.secondary {flex:1 1 8rem;min-width:0;max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere}
  .queue-actions {width:100%;min-width:0;display:flex;justify-content:flex-start}
  .queue-actions button,.head-actions button,.actions button {min-width:0;max-width:100%;white-space:normal;min-height:44px}
  .manual-entry p,.manual-entry small,.history-step span {overflow-wrap:anywhere}
  .table-wrap {min-width:0;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .mobile-nav {grid-template-columns:repeat(5,minmax(0,1fr));max-width:100%;box-sizing:border-box}
  .mobile-nav button {min-width:0;overflow-wrap:anywhere}
  .modal {padding:12px 12px max(12px,env(safe-area-inset-bottom));max-width:100%}
  .sheet {min-width:0;max-width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto}
  .field,.field input,.field select {min-width:0;max-width:100%}
}
@media(max-width:420px) {
  .duty-check-dialog .form-grid {grid-template-columns:minmax(0,1fr)}
}
