/* Front Desk only. Fit the available workspace, including tablet navigation,
   keep monthly ledgers scrollable, and make the working controls touchable. */
#view-operationsmode :is(.bp-ops-card,.bp-ops-card-head,.bp-ops-entry-form,.field,.formgrid,.bp-fd-head>div,.bp-fd-task,.bp-fd-open){min-width:0;box-sizing:border-box}
#view-operationsmode :is(input,select,textarea){box-sizing:border-box;max-width:100%}
#view-operationsmode :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #2b8d71;outline-offset:3px}
#view-operationsmode .bp-fd-tasks-card .bp-fd-actions{flex-wrap:wrap}
#view-operationsmode .bp-fd-tasks-card .bp-fd-head-sub{line-height:1.5}
#view-operationsmode .bp-fd-tasks-card .bp-fd-list{overscroll-behavior:contain;scrollbar-gutter:stable}
#view-operationsmode .bp-fd-task .bp-fd-open{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;min-width:0;max-width:100%;white-space:normal}
#view-operationsmode .bp-fd-task .bp-fd-title{white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;line-height:1.45}
#view-operationsmode .bp-fd-task .bp-fd-meta{grid-column:2;flex-wrap:wrap;line-height:1.45}
#view-operationsmode .bp-fd-task .bp-fd-done{position:relative;width:44px;height:44px;min-width:44px;flex:0 0 44px;border:0;border-radius:8px}
#view-operationsmode .bp-fd-task .bp-fd-done::before{content:'';position:absolute;width:22px;height:22px;border:2px solid #94a3b8;border-radius:50%;inset:0;margin:auto}
#view-operationsmode .bp-fd-task .bp-fd-done[aria-busy=true]{opacity:.5;cursor:wait}
#view-operationsmode .bp-ops-entry-title,#view-operationsmode .bp-shuttle-entry-head{gap:12px;flex-wrap:wrap}
#view-operationsmode .bp-ops-form-actions,#view-operationsmode .bp-shuttle-batch-footer{flex-wrap:wrap}
#view-operationsmode .bp-ops-sheet-wrap{min-width:0;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#view-operationsmode #opsDutyBoard .bp-staff-clock-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
#view-operationsmode #opsDutyBoard .bp-staff-clock-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px}
#view-operationsmode #opsDutyBoard .bp-staff-clock-row>div{min-width:0;overflow-wrap:anywhere}
#view-operationsmode #opsDutyBoard .bp-staff-clock-name{font-size:13px;line-height:1.4}
#view-operationsmode #opsDutyBoard .bp-staff-clock-meta{font-size:12px;line-height:1.4}
#view-operationsmode #opsDutyBoard .bp-staff-clock-badge{grid-column:2;justify-self:start;min-width:0;font-size:11px}
#view-operationsmode #opsDutyBoard .bp-staff-clock-stat small,#view-operationsmode #opsDutyBoard .bp-staff-clock-updated{font-size:11px;line-height:1.4}
@media(max-width:1100px),(pointer:coarse){
 #view-operationsmode :is(button,.btn,.smallbtn,summary){min-height:44px!important}
 #view-operationsmode :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:44px;font-size:16px!important;line-height:1.4}
 #view-operationsmode :is(input[type=checkbox],input[type=radio]){width:22px;height:22px;flex:0 0 22px}
 #view-operationsmode .bp-ops-safety-checks label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;line-height:1.4}
 #view-operationsmode :is(.bp-ops-entry-form,.bp-fd-reservation-form) .field>label{font-size:13px;line-height:1.4}
 #view-operationsmode :is(.bp-ops-entry-form,.bp-fd-reservation-form) .field>small{font-size:12px;line-height:1.4}
 #view-operationsmode .bp-shuttle-batch-help{font-size:12px;line-height:1.45;flex-wrap:wrap}
 #view-operationsmode .bp-shuttle-batch-row output{min-height:44px;font-size:14px}
 #view-operationsmode .bp-shuttle-batch-footer>span{font-size:12px}
 #view-operationsmode .bp-ops-filter-row{width:100%}
 #view-operationsmode .bp-ops-filter-row>*{min-width:0;max-width:100%;flex:1 1 140px}
 #view-operationsmode .bp-fd-tasks-card .bp-fd-actions button{min-height:44px!important}
 #view-operationsmode .bp-ops-sheet:not(.bp-month-ledger) :is(button,select,input){font-size:14px;min-height:44px!important}
}
@container bpops (max-width:850px){
 #view-operationsmode .bp-ops-entry-form .formgrid.threecol{grid-template-columns:repeat(2,minmax(0,1fr))}
 #view-operationsmode .bp-ops-card-head{flex-wrap:wrap}
 #view-operationsmode .bp-ops-card-head>div{max-width:100%;min-width:0}
 #view-operationsmode .bp-ops-card-head :is(.bp-pool-entry-actions,.bp-shuttle-head-actions){flex-wrap:wrap;justify-content:flex-start}
}
@container bpops (max-width:560px){
 #view-operationsmode .bp-ops-entry-form :is(.formgrid,.formgrid.threecol),
 #view-operationsmode .bp-fd-reservation-form,#view-operationsmode .bp-ops-safety-checks{grid-template-columns:minmax(0,1fr)}
 #view-operationsmode .bp-ops-entry-form .field.full,#view-operationsmode .bp-fd-reservation-notes{grid-column:1/-1}
 #view-operationsmode .bp-fd-task{gap:5px;padding:8px 6px;align-items:flex-start}
 #view-operationsmode .bp-fd-task .bp-fd-open{grid-template-columns:minmax(0,1fr);gap:6px}
 #view-operationsmode .bp-fd-task .bp-fd-cat-pill{justify-self:start}
 #view-operationsmode .bp-fd-task .bp-fd-meta{grid-column:1;font-size:12px}
 #view-operationsmode .bp-fd-task .bp-fd-title{font-size:14px}
 #view-operationsmode .bp-fd-tasks-card .bp-fd-list{padding:10px;max-height:430px}
 #view-operationsmode .bp-fd-tasks-card .bp-fd-head{padding:14px}
 #view-operationsmode .bp-shift-command-controls{grid-template-columns:minmax(0,1fr)!important}
 #view-operationsmode .bp-shift-command-controls>*{min-width:0;max-width:100%}
 #view-operationsmode .bp-shift-command-controls :is(button,input,select){min-height:44px!important;font-size:16px!important}
 #view-operationsmode .bp-shift-start-guide small{white-space:normal;overflow:visible;text-overflow:clip;font-size:12px;line-height:1.45}
 #view-operationsmode .bp-shuttle-entry-head>div{min-width:0}
 #view-operationsmode .bp-shuttle-entry-head span{white-space:normal;overflow-wrap:anywhere}
}

/* Batch-entry labels stay with their controls when the grid becomes cards. */
#view-operationsmode .bp-shuttle-batch-field{display:block;min-width:0;margin:0}
#view-operationsmode .bp-shuttle-batch-field>span{display:none}
#view-operationsmode .bp-shuttle-batch-field :is(input,select,output){width:100%}
@container bpops (max-width:1100px){
 #view-operationsmode .bp-shuttle-batch-field>span{display:block;font-size:12px;line-height:1.4;margin-bottom:4px}
 #view-operationsmode .bp-shuttle-batch-field[data-field=custom],#view-operationsmode .bp-shuttle-batch-field[data-field=notes]{grid-column:span 2}
 #view-operationsmode .bp-shuttle-batch-row{align-items:end}
 #view-operationsmode .bp-shuttle-row-remove{min-width:44px;justify-self:end}
}
@container bpops (max-width:700px){
 #view-operationsmode .bp-shuttle-batch-field[data-field=custom],#view-operationsmode .bp-shuttle-batch-field[data-field=notes]{grid-column:1/-1}
}

/* The native date segments need enough room at the mobile 16px font size. */
#view-operationsmode #bpOpsModeShell .bp-ops-top-actions{flex-wrap:wrap!important;min-width:0;max-width:100%}
#view-operationsmode #bpOpsModeShell #opsBusinessDate{width:160px!important;min-width:160px!important;min-height:44px!important}
