.ops-board { margin-top: 14px; overflow: hidden; border: 1px solid #ccd9e3; border-radius: 14px; background: #fff; color: #203247; box-shadow: 0 10px 30px rgba(21, 45, 67, .055); }
.ops-board-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 15px 18px; border-bottom: 1px solid #dce6ed; background: #f8fbfc; }
.ops-board-toolbar h2 { margin: 0; color: #183248; font-size: 17px; }
.ops-board-toolbar p { margin: 3px 0 0; color: #657889; font-size: 12px; }
.ops-board-visibility, .ops-board-month { display: grid; gap: 3px; color: #526b7e; font-size: 11px; font-weight: 700; }
.ops-board-visibility select, .ops-board-month input { min-height: 38px; padding: 6px 9px; border: 1px solid #b8cbd7; border-radius: 8px; background: #fff; color: #1f4356; font: inherit; font-size: 12px; }
.ops-board-visibility select:focus-visible, .ops-board-month input:focus-visible { outline: 3px solid #0a8a81; outline-offset: 2px; }
.ops-board-actions { display: flex; align-items: center; gap: 6px; }
.ops-board-actions button, .ops-board-open { min-height: 38px; padding: 7px 12px; border: 1px solid #b8cbd7; border-radius: 8px; background: #fff; color: #1f4356; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.ops-board-stop-toggle { min-height: 38px; padding: 7px 12px; border: 1px solid #b8cbd7; border-radius: 8px; background: #fff; color: #744317; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.ops-board-stop-toggle[aria-pressed="true"] { border-color: #b66a25; background: #fff1df; }
.ops-board-stop-toggle:focus-visible, .ops-board-stop:focus-visible { outline: 3px solid #b66a25; outline-offset: 2px; }
.ops-board-stop-message { flex: 1 0 100%; }
.ops-board-actions button:first-child, .ops-board-actions button:last-child { min-width: 40px; font-size: 21px; line-height: 1; }
.ops-board-actions button:hover, .ops-board-open:hover { background: #e9f5f3; border-color: #0c817a; }
.ops-board-actions button:focus-visible, .ops-board-open:focus-visible { outline: 3px solid #0a8a81; outline-offset: 2px; }
.ops-board-scroll { overflow-x: auto; overscroll-behavior-inline: contain; }
.ops-board-frame { min-width: 960px; }
.ops-board-header, .ops-board-row { display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.ops-board-header { position: sticky; top: 0; z-index: 3; border-bottom: 1px solid #cbd9e5; background: #e9f0f5; color: #405b6e; font-size: 12px; }
.ops-board-header > strong { position: sticky; left: 0; z-index: 4; display: flex; align-items: center; padding: 11px 14px; border-right: 1px solid #cbd9e5; background: #e9f0f5; }
.ops-board-days, .ops-board-track { display: grid; grid-template-columns: repeat(7, minmax(100px, 1fr)); }
.ops-board-days > span { display: flex; flex-direction: column; gap: 3px; padding: 8px 9px; border-right: 1px solid #d7e2eb; font-weight: 700; }
.ops-board-days > span:nth-last-child(-n+2) { background: #f1f5f8; }
.ops-board.is-current-week .ops-board-days > span { box-shadow: inset 0 3px #0a8a81; }
.ops-board-days small { color: #8295a4; font-size: 11px; font-weight: 500; }
.ops-board-group { margin: 0; }
.ops-board-group h3 { position: sticky; left: 0; z-index: 2; display: flex; gap: 8px; align-items: center; margin: 0; padding: 9px 14px; border-bottom: 1px solid #d8e4ec; background: #eaf1f6; color: #203e55; font-size: 13px; }
.ops-board-group h3 span, .ops-board-queue h3 span { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 6px; background: #d5e3ec; color: #30556b; font-size: 11px; }
.ops-board-group h3 button { min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.ops-board-group h3 button:focus-visible { outline: 2px solid #0a8a81; outline-offset: 2px; }
.ops-board-desktop[hidden] { display: none; }
.ops-board-row { min-height: 77px; border-bottom: 1px solid #e0e8ef; }
.ops-board-row:nth-child(even) { background: #f8fafc; }
.ops-board-label { position: sticky; left: 0; z-index: 1; display: grid; align-content: center; gap: 2px; min-width: 0; padding: 8px 14px; border-right: 1px solid #d6e2eb; background: inherit; }
.ops-board-label strong, .ops-board-mobile-card strong, .ops-board-queue article strong { overflow: hidden; color: #1d3b51; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.ops-board-label small, .ops-board-mobile-card small, .ops-board-queue article small { overflow: hidden; color: #718799; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ops-board-label > span { color: #718799; font-size: 11px; font-variant-numeric: tabular-nums; }
.ops-board-label > div, .ops-board-mobile-card > div, .ops-board-queue article > div { display: flex; flex-wrap: wrap; gap: 4px; }
.ops-board-status, .ops-board-order { width: fit-content; padding: 2px 5px; border-radius: 4px; background: #ecf1f5; color: #627689; font-size: 10px; line-height: 1.25; }
.ops-board-ready { background: #e2f3ec; color: #21684e; }
.ops-board-check { background: #fff0d4; color: #946323; }
.ops-board-warning { background: #ffebe9; color: #a0473d; }
.ops-board-unassigned { background: #ededfa; color: #575b92; }
.ops-board-label .ops-board-open { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: transparent; font-size: 0; }
.ops-board-label .ops-board-open:hover { box-shadow: inset 4px 0 #0c817a; }
.ops-board-label .ops-board-open:focus-visible { outline: 3px solid #0a8a81; outline-offset: -4px; }
.ops-board-crew-action { position: absolute; z-index: 2; right: 7px; bottom: 5px; display: grid; place-items: center; width: 34px; min-height: 34px; padding: 0; border: 1px solid #a7cfc9; border-radius: 7px; background: #e9f5f3; color: #0c716b; font: inherit; font-size: 19px; font-weight: 700; cursor: pointer; }
.ops-board-label:has(.ops-board-edit-dates) .ops-board-crew-action { right: 44px; }
.ops-board-crew-action:hover { background: #d4eeea; border-color: #0c817a; }
.ops-board-crew-action:focus-visible { outline: 3px solid #0a8a81; outline-offset: 1px; }
.ops-board-edit-dates { position: absolute; z-index: 2; right: 7px; bottom: 5px; display: grid; place-items: center; width: 34px; min-height: 34px; padding: 0; border: 1px solid #b8cbd7; border-radius: 7px; background: #fff; color: #1f4356; font: inherit; font-size: 18px; cursor: pointer; }
.ops-board-edit-dates:hover { background: #e9f5f3; border-color: #0c817a; }
.ops-board-edit-dates:focus-visible { outline: 3px solid #0a8a81; outline-offset: 1px; }
.ops-board-row:has(.ops-board-crew-view),.ops-board-label:has(.ops-board-crew-view) { min-height: 104px; }
.ops-board-crew-view { position:absolute; z-index:2; right:84px; bottom:5px; display:grid; place-items:center; width:44px; min-height:44px; padding:0; border:1px solid #a7cfc9; border-radius:7px; background:#fff; color:#0c716b; font:inherit; font-size:20px; cursor:pointer; }
.ops-board-crew-view:focus-visible { outline:3px solid #0a8a81; outline-offset:1px; }
.ops-board-label:has(.ops-board-site-readiness) { min-height:110px; padding-bottom:48px; }
.ops-board-site-readiness { position:relative; z-index:2; min-height:44px; max-width:100%; padding:5px 8px; border:1px solid #d6a67b; border-radius:7px; background:#fff4e8; color:#80512c; font:inherit; font-size:11px; font-weight:700; text-align:left; cursor:pointer; }
.ops-board-site-readiness:focus-visible { outline:3px solid #0a8a81; outline-offset:1px; }
.ops-board-date-editor { display: flex; align-items: end; flex-wrap: wrap; gap: 8px 12px; padding: 10px 14px; border-bottom: 1px solid #cbd9e5; background: #f2f8f8; }
.ops-board-date-editor strong { flex: 1 0 100%; color: #203e55; font-size: 12px; }
.ops-board-date-editor label { display: grid; flex: 1 1 145px; gap: 3px; min-width: 0; color: #405b6e; font-size: 11px; font-weight: 700; }
.ops-board-date-editor input { width: 100%; min-width: 0; box-sizing: border-box; min-height: 40px; padding: 6px 8px; border: 1px solid #b8cbd7; border-radius: 7px; background: #fff; color: #1f4356; font: inherit; font-size: 12px; }
.ops-board-date-editor button { min-height: 40px; padding: 7px 14px; border: 1px solid #0c817a; border-radius: 7px; background: #0c817a; color: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.ops-board-date-editor :is(input, button):focus-visible { outline: 3px solid #0a8a81; outline-offset: 2px; }
.ops-board-date-editor .ops-form-error { flex: 1 0 100%; margin: 0; }
.ops-board-track { position: relative; align-items: center; min-width: 0; background: repeating-linear-gradient(to right, transparent 0, transparent calc(14.285714% - 1px), #dce5ed calc(14.285714% - 1px), #dce5ed 14.285714%); }
.ops-board-track:has(.ops-board-stop) { align-content: center; gap: 3px 0; padding: 6px 0; }
.ops-board-stop { z-index: 2; display: flex; align-items: center; min-width: 0; min-height: 27px; margin: 0 3px; padding: 0 6px; overflow: hidden; border: 1px solid #bb782c; border-radius: 6px; background: #ffdfa9; color: #65390f; font-size: 11px; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.ops-board-stop:hover { background: #ffd18a; }
.ops-board-bar { z-index: 1; display: flex; align-items: center; min-width: 0; height: 36px; margin: 0 3px; padding: 0 9px; border: 0; border-radius: 6px; background: #76b4d0; color: #133f56; font: inherit; font-size: 12px; font-weight: 700; text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ops-board-bar:hover { filter: brightness(.94); }
.ops-board-bar:focus-visible { outline: 3px solid #0a8a81; outline-offset: 2px; }
.ops-board-bar.is-check { background: #e9a5a4; color: #712b31; }
.ops-board-bar.is-unassigned { background: #c9cbea; color: #4a4c82; }
.ops-board-bar.is-active { background: #12867e; color: #fff; }
.ops-board-bar.is-done { background: #a9d6bc; color: #20543d; }
.ops-plan-legend { padding:0 14px 8px; border-bottom:1px solid #dce5ed; color:#31516a; font-size:12px; }
.ops-plan-legend summary { display:flex; align-items:center; min-height:44px; width:max-content; max-width:100%; cursor:pointer; font-weight:700; }
.ops-plan-legend summary:focus-visible { outline:3px solid #0a8a81; outline-offset:1px; }
.ops-plan-legend > div { display:flex; flex-wrap:wrap; gap:7px 14px; padding:0 0 8px; }
.ops-plan-legend > div span { display:inline-flex; align-items:center; gap:5px; overflow-wrap:anywhere; }
.ops-plan-legend i { display:inline-block; flex:none; width:14px; height:14px; border-radius:3px; background:#76b4d0; }
.ops-plan-legend i.is-check { background:#e9a5a4; }.ops-plan-legend i.is-unassigned { background:#c9cbea; }.ops-plan-legend i.is-active { background:#12867e; }.ops-plan-legend i.is-done { background:#a9d6bc; }
.ops-board-outside { grid-column: 1 / -1; padding-left: 10px; color: #8193a1; font-size: 11px; }
.ops-board-queue { padding: 14px 17px 18px; border-top: 1px solid #cbd9e5; }
.ops-board-queue h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 14px; }
.ops-board-queue p { margin: 0; color: #6c8190; font-size: 12px; }
.ops-board-queue-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 235px), 1fr)); gap: 8px; }
.ops-board-queue article { display: grid; gap: 4px; min-width: 0; padding: 10px; border: 1px solid #d7e3ea; border-radius: 8px; background: #f8fafb; }
.ops-board-queue .ops-board-open { justify-self: start; min-height: 36px; margin-top: 4px; }
.ops-board-queue-plan { justify-self:start; min-height:44px; padding:7px 10px; border:1px solid #a7cfc9; border-radius:7px; background:#e9f5f3; color:#0c716b; font:inherit; font-size:12px; font-weight:700; text-align:left; cursor:pointer; }
.ops-board-empty { margin: 0; padding: 24px; color: #718799; font-size: 13px; }
.ops-board-mobile-meta { display: none; }
.ops-board-selected { display: none; }
.ops-board-mobile-days { display: none; }
@media (max-width: 700px) {
  .ops-board-mobile-days { display: grid; gap: 7px; padding: 10px; border-bottom: 1px solid #dce5ed; }
  .ops-board-mobile-days h3 { margin: 0 0 2px; color: #1d3b51; font-size: 14px; }
  .ops-board-mobile-days details { min-width: 0; border: 1px solid #d7e3ea; border-radius: 8px; background: #fff; }
  .ops-board-mobile-days summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; box-sizing: border-box; padding: 8px 12px; color: #1d3b51; font-size: 13px; font-weight: 700; cursor: pointer; }
  .ops-board-mobile-days summary:focus-visible, .ops-board-mobile-days button:focus-visible { outline: 3px solid #0a8a81; outline-offset: 2px; }
  .ops-board-mobile-days summary span { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 4px; border-radius: 12px; background: #e9f0f5; }
  .ops-board-mobile-days details > p { margin: 0; padding: 0 12px 12px; color: #657889; font-size: 12px; }
  .ops-board-mobile-lane { display: grid; gap: 6px; padding: 0 10px 10px; }
  .ops-board-mobile-lane h4 { margin: 3px 0 0; color: #31516a; font-size: 12px; overflow-wrap: anywhere; }
  .ops-board-mobile-lane article { display: grid; gap: 3px; min-width: 0; padding: 9px; border: 1px solid #d7e3ea; border-radius: 7px; background: #f8fafb; overflow-wrap: anywhere; }
  .ops-board-mobile-lane article strong { font-size: 13px; }
  .ops-board-mobile-lane article span, .ops-board-mobile-lane article small { color: #526b79; font-size: 12px; }
  .ops-board-mobile-lane button { min-height: 44px; margin-top: 3px; padding: 7px 10px; border: 1px solid #a7cfc9; border-radius: 7px; background: #e9f5f3; color: #0c716b; font: inherit; font-size: 12px; font-weight: 700; text-align: left; cursor: pointer; }
  .ops-board-selected { display: grid; gap: 9px; margin: 8px 10px; padding: 11px; border: 1px solid #9ebcc9; border-radius: 9px; background: #f1f8f7; }
  .ops-board-selected > div { display: grid; gap: 3px; min-width: 0; overflow-wrap: anywhere; }
  .ops-board-selected small { color: #526b79; font-size: 11px; }
  .ops-board-selected strong { color: #1d3b51; font-size: 15px; }
  .ops-board-selected span { font-size: 12px; }
  .ops-board-selected button { min-height: 44px; padding: 8px 12px; border: 1px solid #0c817a; border-radius: 7px; background: #fff; color: #075f59; font: inherit; font-weight: 700; text-align: center; }
  .ops-board-selected button:focus-visible { outline: 3px solid #0a8a81; outline-offset: 2px; }
  .ops-board { max-width: 100%; }
  .ops-board-toolbar { gap: 8px; padding: 10px; }
  .ops-board-toolbar h2 { font-size: 15px; }
  .ops-board-toolbar p { font-size: 11px; }
  .ops-board-visibility, .ops-board-month { flex: 1 1 135px; min-width: 0; }
  .ops-board-visibility select, .ops-board-month input { min-height: 44px; width: 100%; box-sizing: border-box; }
  .ops-board-actions { width: 100%; justify-content: space-between; }
  .ops-board-stop-toggle { flex: 1 1 130px; min-height: 44px; }
  .ops-board-actions button { min-height: 44px; }
  .ops-board-scroll { width: 100%; max-width: 100%; max-height: min(61dvh, 520px); overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .ops-board-frame { width: 584px; min-width: 584px; }
  .ops-board-header, .ops-board-row { grid-template-columns: 136px 448px; }
  .ops-board-header > strong { height: 43px; box-sizing: border-box; padding: 5px 7px; font-size: 10px; }
  .ops-board-days, .ops-board-track { grid-template-columns: repeat(7, 64px); }
  .ops-board-days > span { gap: 0; padding: 5px 3px; text-align: center; align-items: center; font-size: 11px; }
  .ops-board-days small { font-size: 10px; }
  .ops-board-group h3 { position: sticky; left: 0; width: 136px; box-sizing: border-box; min-height: 30px; padding: 5px 7px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 11px; }
  .ops-board-group h3 span { flex: 0 0 auto; min-width: 19px; height: 19px; padding: 0 4px; }
  .ops-board-row { min-height: 48px; }
  .ops-board-label { gap: 0; min-height: 48px; box-sizing: border-box; padding: 3px 6px; }
  .ops-board-label strong { max-width: 70px; font-size: 13px; line-height: 15px; }
  .ops-board-label small { max-width: 70px; font-size: 10px; line-height: 12px; }
  .ops-board-full-dates, .ops-board-full-status { display: none !important; }
  .ops-board-mobile-meta { display: flex; align-items: center; gap: 4px; min-width: 0; color: #536e7e; }
  .ops-board-mobile-dates { font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .ops-board-mobile-state { display: inline-block; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 2px; background: #76b4d0; }
  .ops-board-mobile-state.is-check { background: #d97772; }
  .ops-board-mobile-state.is-unassigned { background: #8b8fc8; }
  .ops-board-mobile-state.is-active { background: #12867e; }
  .ops-board-mobile-state.is-done { background: #69b686; }
  .ops-board-label .ops-board-open { min-height: 44px; }
  .ops-board-edit-dates { right: 3px; bottom: 3px; width: 30px; min-height: 40px; }
  .ops-board-crew-action { right: 3px; bottom: 3px; width: 30px; min-height: 40px; }
  .ops-board-label:has(.ops-board-edit-dates) .ops-board-crew-action { right: 38px; }
  .ops-board-row:has(.ops-board-crew-view),.ops-board-label:has(.ops-board-crew-view) { min-height: 98px; }
  .ops-board-label:has(.ops-board-crew-view) { padding-bottom:48px; }
  .ops-board-crew-view { right:73px; bottom:3px; }
  .ops-board-mobile-meta .ops-board-site-readiness { flex:1 0 100%; width:100%; box-sizing:border-box; }
  .ops-board-date-editor { padding: 9px 10px; }
  .ops-board-date-editor label { flex-basis: 130px; }
  .ops-board-date-editor button { flex: 1 0 100%; }
  .ops-board-track { min-height: 48px; }
  .ops-board-bar { min-height: 40px; height: 40px; margin: 0 2px; padding: 0 5px; font-size: 10px; }
  .ops-board-outside { align-self: center; }
  .ops-board-queue { padding: 12px; }
  .ops-board-queue .ops-board-open { min-height: 44px; }
}
.ops-timeline { margin-top:14px; border:1px solid #ccd9e3; border-radius:14px; background:#fff; color:#203247; overflow:hidden; }
.ops-timeline-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:8px 12px; padding:12px 14px; background:#f8fbfc; border-bottom:1px solid #dce6ed; }
.ops-timeline-toolbar>div:first-child { flex:1 1 190px; }
.ops-timeline-toolbar h2 { margin:0; font-size:16px; }
.ops-timeline-toolbar p { margin:3px 0 0; color:#657889; font-size:11px; }
.ops-timeline-toolbar label { display:grid; gap:3px; color:#526b7e; font-size:11px; font-weight:700; }
.ops-timeline-toolbar select,.ops-timeline-toolbar input { min-height:40px; padding:6px 8px; border:1px solid #b8cbd7; border-radius:8px; background:#fff; color:#1f4356; font:inherit; font-size:12px; }
.ops-timeline-actions { display:flex; gap:5px; }
.ops-timeline-actions button { min-height:40px; min-width:40px; padding:6px 10px; border:1px solid #b8cbd7; border-radius:8px; background:#fff; color:#1f4356; font:inherit; font-weight:700; cursor:pointer; }
.ops-timeline :is(button,input,select):focus-visible { outline:3px solid #0a8a81; outline-offset:2px; }
.ops-timeline-scroll { overflow:auto; overscroll-behavior-inline:contain; }
.ops-timeline-frame { width:1180px; }
.ops-timeline-head,.ops-timeline-row { display:grid; grid-template-columns:244px 936px; }
.ops-timeline-head { position:sticky; top:0; z-index:3; background:#e9f0f5; border-bottom:1px solid #cbd9e5; }
.ops-timeline-head>strong { position:sticky; left:0; z-index:4; display:flex; align-items:end; padding:8px 10px; border-right:1px solid #cbd9e5; background:#e9f0f5; font-size:12px; }
.ops-timeline-calendar { display:grid; }
.ops-timeline-months,.ops-timeline-weeks,.ops-timeline-track { display:grid; grid-template-columns:repeat(13,72px); }
.ops-timeline-months span { padding:6px 8px; border-right:1px solid #cbd9e5; font-size:11px; font-weight:700; }
.ops-timeline-weeks span { padding:7px 3px; border-top:1px solid #d7e2eb; border-right:1px solid #d7e2eb; color:#526b7e; font-size:10px; text-align:center; }
.ops-timeline-weeks .is-current { background:#d9f0ed; color:#0b7069; font-weight:800; }
.ops-timeline-group h3 { position:sticky; left:0; z-index:2; display:flex; align-items:center; gap:8px; min-height:30px; box-sizing:border-box; width:244px; margin:0; padding:5px 10px; background:#eaf1f6; border-bottom:1px solid #d8e4ec; font-size:12px; }
.ops-timeline-group h3 button { min-width:0; border:0; background:transparent; color:inherit; font:inherit; font-weight:700; text-align:left; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ops-timeline-group h3 span,.ops-timeline-queue h3 span { color:#526b7e; font-size:11px; }
.ops-timeline-group>div[hidden] { display:none; }
.ops-timeline-row { min-height:49px; border-bottom:1px solid #e0e8ef; }
.ops-timeline-row:nth-child(even) { background:#f8fafc; }
.ops-timeline-label { position:sticky; left:0; z-index:1; display:grid; gap:1px; align-content:center; min-width:0; padding:5px 10px; box-sizing:border-box; border-right:1px solid #d6e2eb; background:inherit; }
.ops-timeline-label :is(strong,small,time) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ops-timeline-label strong { font-size:12px; }.ops-timeline-label small,.ops-timeline-label time { color:#718799; font-size:10px; }
.ops-timeline-assign,.ops-timeline-edit-dates,.ops-timeline-view-crew,.ops-timeline-readiness { justify-self:start; min-height:44px; max-width:100%; margin-top:3px; padding:5px 9px; border:1px solid #a7cfc9; border-radius:7px; background:#e9f5f3; color:#0c716b; font:inherit; font-size:11px; font-weight:700; text-align:left; white-space:normal; cursor:pointer; }
.ops-timeline-readiness { border-color:#d6a67b; background:#fff4e8; color:#80512c; }
.ops-timeline-edit-dates { border-color:#b8cbd7; background:#fff; color:#1f4356; }
.ops-timeline-view-crew { border-color:#b8cbd7; background:#fff; }
.ops-timeline-assign:focus-visible,.ops-timeline-edit-dates:focus-visible,.ops-timeline-view-crew:focus-visible,.ops-timeline-readiness:focus-visible { outline:3px solid #0a8a81; outline-offset:1px; }
.ops-timeline-track { align-items:center; background:repeating-linear-gradient(to right,transparent 0,transparent 71px,#dce5ed 71px,#dce5ed 72px); }
.ops-timeline-bar { min-width:0; height:30px; margin:0 2px; padding:0 6px; border:0; border-radius:4px; background:#76b4d0; color:#133f56; font:inherit; font-size:11px; font-weight:700; text-align:center; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ops-timeline-bar.is-check { background:#e9a5a4; color:#712b31; }.ops-timeline-bar.is-unassigned { background:#c9cbea; color:#4a4c82; }.ops-timeline-bar.is-active { background:#12867e; color:#fff; }.ops-timeline-bar.is-done { background:#a9d6bc; color:#20543d; }
.ops-timeline-empty { padding:20px; color:#718799; font-size:12px; }.ops-timeline-queue { padding:12px 14px; border-top:1px solid #cbd9e5; }
.ops-timeline-queue h3 { display:flex; gap:7px; margin:0 0 8px; font-size:13px; }.ops-timeline-queue p { margin:0; color:#718799; font-size:11px; }
.ops-timeline-queue article { display:inline-grid; gap:4px; vertical-align:top; margin:0 6px 6px 0; }
.ops-timeline-queue button { display:inline-grid; gap:2px; min-height:44px; min-width:140px; max-width:220px; margin:0 6px 6px 0; padding:7px 9px; border:1px solid #d7e3ea; border-radius:8px; background:#f8fafb; color:#203247; text-align:left; cursor:pointer; }
.ops-timeline-queue article button { width:100%; margin:0; }
.ops-timeline-queue button :is(strong,small) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ops-timeline-queue button small { color:#718799; }
@media (max-width:700px) { .ops-timeline-toolbar { padding:10px; }.ops-timeline-toolbar label { flex:1 1 125px; }.ops-timeline-toolbar select,.ops-timeline-toolbar input { width:100%; min-height:44px; box-sizing:border-box; }.ops-timeline-actions { flex:1 0 100%; justify-content:space-between; }.ops-timeline-actions button { min-height:44px; }.ops-timeline-scroll { max-height:min(62dvh,520px); }.ops-timeline-frame { width:1066px; }.ops-timeline-head,.ops-timeline-row { grid-template-columns:130px 936px; }.ops-timeline-group h3 { width:130px; padding:5px 6px; }.ops-timeline-head>strong,.ops-timeline-label { padding:4px 6px; }.ops-timeline-label time { font-size:9px; }.ops-timeline-assign,.ops-timeline-edit-dates,.ops-timeline-view-crew,.ops-timeline-readiness { width:100%; box-sizing:border-box; } }

.ops-board-date-preview { flex:1 0 100%; margin:0; color:#203e55; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.ops-board-date-editor input,.ops-board-date-editor button { min-height:44px; }
.ops-timeline-order { color:#315467; font-size:10px; font-weight:700; overflow-wrap:anywhere; }
.ops-timeline-open { display:none; }
.ops-board-selected-order { font-weight:700; }
@media (max-width:700px) {
  .ops-board-mobile-meta { flex-wrap:wrap; }
  .ops-board-mobile-order { flex:1 0 100%; min-width:0; font-size:10px; line-height:1.25; overflow-wrap:anywhere; }
  .ops-timeline-open { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:44px; box-sizing:border-box; margin-top:3px; padding:5px 7px; border:1px solid #a7cfc9; border-radius:7px; background:#fff; color:#0c716b; font:inherit; font-size:11px; font-weight:700; text-align:center; cursor:pointer; }
  .ops-timeline-open:focus-visible { outline:3px solid #0a8a81; outline-offset:1px; }
}

.ops-board-overlap { position:sticky; left:0; z-index:2; grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; width:max-content; max-width:min(520px,calc(100vw - 32px)); min-width:0; margin:0 0 5px 7px; padding:5px 8px; border:1px solid #d99b51; border-radius:8px; background:#fff7e9; color:#71420d; font-size:11px; box-sizing:border-box; }
.ops-board-overlap strong { font-size:11px; }
.ops-board-overlap button,.ops-timeline-overlap button { min-height:44px; min-width:0; padding:5px 8px; border:1px solid #c88438; border-radius:7px; background:#fff; color:#71420d; font:inherit; font-weight:700; text-align:left; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.ops-board-overlap button:focus-visible,.ops-timeline-overlap button:focus-visible { outline:3px solid #a65b12; outline-offset:2px; }
.ops-timeline-overlap { display:grid; gap:4px; min-width:0; margin-top:4px; padding:5px; border:1px solid #d99b51; border-radius:7px; background:#fff7e9; color:#71420d; font-size:11px; }
.ops-timeline-overlap button { width:100%; box-sizing:border-box; }
@media(max-width:700px) { .ops-board-overlap { max-width:calc(100vw - 24px); } }
