/* HZ74A: page scopes use classes instead of long id lists. Every Finance-layout host has .gx-ws; non-Finance hosts
   also have .gx-ws-ops; HZ74H: every page follows the same rules (the first converted pages no longer carry wave exclusions).
   #gx-scope (no element has it) keeps each :is() at id specificity, exactly as the id lists had. */
/* GUIDON FIX11HZ73H — Operations workspaces (Checkpoints, Timeline, Tasks) in the Finance layout.
   Builds on finance-expenses-workspace.css (.gx template). Scoped to #guidonCheckpoints / #guidonTasks. */
main.ops-shell>.boc-hero{display:none}
.ops-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ops-status:has(.ops-message:empty):has(#restoreCheckpointAuthority[hidden]){display:none}
.ops-message{margin:0 0 4px;color:#3d4d63;font-size:14px}
.ops-message:empty{display:none}
.checkpoint-workspace-tabs[hidden]{display:none!important}
:is(#gx-scope,.gx-ws-ops) .gx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:is(#gx-scope,.gx-ws-ops) .ops-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){:is(#gx-scope,.gx-ws-ops) .ops-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){:is(#gx-scope,.gx-ws-ops) .ops-cards{grid-template-columns:1fr}}
:is(#gx-scope,.gx-ws-ops) .gx-stat strong{font-size:26px}
:is(#gx-scope,.gx-ws-ops) .ops-posture{font-size:22px;letter-spacing:.02em}
:is(#gx-scope,.gx-ws-ops) .ops-good{color:var(--gx-green)}
:is(#gx-scope,.gx-ws-ops) .ops-warn{color:#8a5a0b}
:is(#gx-scope,.gx-ws-ops) .ops-bad,:is(#gx-scope,.gx-ws-ops) .ops-late{color:#b42318}
:is(#gx-scope,.gx-ws-ops) .ops-soon{color:#8a5a0b}
:is(#gx-scope,.gx-ws-ops) .gx-overdue{background:#fdecec;color:#b42318}
:is(#gx-scope,.gx-ws-ops) .gx-muted-text{color:var(--gx-muted)}
:is(#gx-scope,.gx-ws-ops) .ops-due{display:block;color:var(--gx-muted);font-size:12.5px}
:is(#gx-scope,.gx-ws-ops) .ops-due.ops-late{color:#b42318;font-weight:700}
:is(#gx-scope,.gx-ws-ops) .ops-due.ops-soon{color:#8a5a0b;font-weight:700}
:is(#gx-scope,.gx-ws-ops) .ops-tabrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
:is(#gx-scope,.gx-ws-ops) .ops-tabrow .gx-tabs{margin:0}
:is(#gx-scope,.gx-ws-ops) .ops-filters{display:flex;gap:10px;flex-wrap:wrap;padding:14px 14px 4px}
:is(#gx-scope,.gx-ws-ops) .ops-filters label{display:block;min-width:0}
:is(#gx-scope,.gx-ws-ops) .ops-filters .ops-search{flex:1 1 240px}
:is(#gx-scope,.gx-ws-ops) .ops-filters :is(input,select){width:100%;min-height:40px;border:1px solid var(--gx-border);border-radius:8px;padding:0 12px;font:inherit;font-size:14px;background:#fff;color:var(--gx-text);box-sizing:border-box}
:is(#gx-scope,.gx-ws-ops) .ops-filters select{min-width:170px}
:is(#gx-scope,.gx-ws-ops) .ops-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
:is(#gx-scope,.gx-ws-ops) .ops-meter{height:8px;border-radius:99px;background:#e6ebf0;overflow:hidden;margin-top:10px}
:is(#gx-scope,.gx-ws-ops) .ops-meter span{display:block;height:100%;background:#2f9e44;border-radius:99px}
:is(#gx-scope,.gx-ws-ops) .ops-summary{gap:14px}
:is(#gx-scope,.gx-ws-ops) .ops-card-block{border:1px solid #e6ebf0;border-radius:10px;padding:14px;background:#fbfcfd}
:is(#gx-scope,.gx-ws-ops) .ops-card-block h3{margin:4px 0 4px;font-size:18px;color:var(--gx-navy)}
:is(#gx-scope,.gx-ws-ops) .ops-card-block .gx-note{margin:0}
:is(#gx-scope,.gx-ws-ops) .ops-kicker{margin:0;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a6a1f}
:is(#gx-scope,.gx-ws-ops) .ops-next{margin:6px 0 0;padding-left:20px;display:grid;gap:8px}
:is(#gx-scope,.gx-ws-ops) .ops-next li small{display:block;color:var(--gx-muted);font-size:12.5px}
:is(#gx-scope,.gx-ws-ops) .ops-summary h4,:is(#gx-scope,.gx-ws-ops) .ops-detail h4{margin:0;font-size:14px}
:is(#gx-scope,.gx-ws-ops) .ops-empty{padding:28px 16px;text-align:center}
:is(#gx-scope,.gx-ws-ops) .ops-payment-row .gx-item-text strong::after{content:"Payment";margin-left:8px;padding:1px 7px;border-radius:99px;background:#efe8fb;color:#5b3aa6;font-size:11px;font-weight:800;vertical-align:1px}
/* Timeline (gantt) inside the ledger card. */
#guidonCheckpoints .ops-gantt-scroll{overflow-x:auto;padding:10px 14px 14px}
#guidonCheckpoints .checkpoint-gantt-wrap{min-width:900px}
#guidonCheckpoints .timeline-status-dot.payment{background:#7c4dce}
#guidonCheckpoints .checkpoint-day-group.payment .checkpoint-day-group-mark i{background:#7c4dce;border-radius:3px}
#guidonCheckpoints .checkpoint-day-group.at-risk .checkpoint-day-group-mark i{background:#c0262f}
#guidonCheckpoints .ops-selected .checkpoint-calendar-mark{outline:3px solid #8db4ea;outline-offset:2px}
#guidonCheckpoints .checkpoint-gantt-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
/* Suggestions. */
#guidonCheckpoints .ops-suggest{border:1px solid #e6ebf0;border-radius:10px;padding:10px 12px;margin:0;display:grid;gap:6px}
#guidonCheckpoints .ops-suggest legend label{display:flex;align-items:center;gap:8px;font-weight:800}
#guidonCheckpoints .ops-suggest legend small{font-weight:500;color:var(--gx-muted)}
#guidonCheckpoints .ops-suggest-item{display:flex;align-items:center;gap:8px;font-size:14px}
#guidonCheckpoints .ops-suggest-item.used{color:var(--gx-muted)}
#guidonCheckpoints .ops-suggest-item small{margin-left:auto;font-size:12px}
#guidonCheckpoints .ops-day-list li{align-items:center}
#guidonCheckpoints .gx-form .gx-field select,#guidonCheckpoints .gx-form .gx-field input,#guidonCheckpoints .gx-form .gx-field textarea{width:100%;box-sizing:border-box}
#guidonCheckpoints .gx-identity .ops-inline{margin-top:12px}
/* Tasks. */
#guidonTasks .ops-group th{background:#f5f7f9;text-align:left;padding:10px 12px;font-size:13px}
#guidonTasks .ops-group th span+span{float:right;font-weight:600;color:var(--gx-muted)}
#guidonTasks .gx-critical{background:#fdecec;color:#b42318}
#guidonTasks .ops-task-desc{display:block;color:var(--gx-muted);font-size:12.5px;font-weight:500;white-space:normal}
#guidonTasks .ops-detail{gap:14px}
#guidonTasks .ops-detail p{margin:0}
#guidonTasks .ops-unconfirmed{margin:0}
@media (max-width:760px){:is(#gx-scope,.gx-ws-ops) .ops-filters select{min-width:0}:is(#gx-scope,.gx-ws-ops) .ops-filters label{flex:1 1 100%}}
/* The shared button reset (fix28aa.css) must not box the gantt marks. */
#guidonCheckpoints .checkpoint-gantt-wrap button{min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
#guidonCheckpoints .checkpoint-gantt-wrap .checkpoint-day-group{width:auto!important;height:34px!important}
#guidonCheckpoints .checkpoint-calendar-item em{position:absolute;left:calc(100% + 8px);right:auto;top:7px;transform:none;white-space:nowrap;font-style:normal;font-size:.74rem;font-weight:800;color:#24324a;background:transparent}
#guidonTasks td.gx-actions a{white-space:nowrap}
/* Tick boxes keep their natural size (styles.css makes every input full width). */
:is(#gx-scope,.gx-ws-ops) input[type=checkbox]{width:auto;min-width:0;flex:0 0 auto;padding:0;margin:0;border-radius:3px}
#guidonCheckpoints .ops-suggest legend{padding:0 4px}
#guidonCheckpoints .ops-suggest legend label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
#guidonCheckpoints .ops-suggest legend small{margin-left:6px}
#guidonCheckpoints .ops-suggest-item{justify-content:flex-start;text-align:left;margin:0;line-height:1.3}
#guidonCheckpoints .ops-suggest-item span{flex:1;min-width:0}
#guidonCheckpoints .ops-suggest-item small{flex:0 0 auto}
/* HZ73J: shared Timeline sub-navigation, Timeline and run of show. */
.ops-subnav-host{background:transparent}
.ops-subnav-host .gx-tabs{margin:0 0 6px}
.gx-host a.gx-tab{text-decoration:none;display:inline-flex;align-items:center}
:is(#gx-scope,.gx-ws-ops) .ops-card-text{font-size:22px}
:is(#gx-scope,.gx-ws-ops) .ops-check{display:flex!important;align-items:flex-start;gap:10px;margin:0;font-weight:500}
:is(#gx-scope,.gx-ws-ops) .ops-check span{display:grid;gap:2px}
:is(#gx-scope,.gx-ws-ops) .ops-check small{color:var(--gx-muted);font-weight:500}
#guidonTimeline .ops-runlist .ops-past strong{color:var(--gx-muted)}
#guidonTimeline .ops-now-row td{background:#eef6ee}
#guidonTimeline .gx-form .gx-field :is(input,select){width:100%;box-sizing:border-box}
/* HZ73J: Checklists. */
#guidonChecklists .ops-event-name{display:block;margin-top:4px;font-size:13px}
#guidonChecklists .ops-checklist-grid .ops-col-check{width:64px;text-align:center}
#guidonChecklists .ops-checklist-grid .ops-col-note{width:36%}
#guidonChecklists .ops-checklist-grid input[type=checkbox]{width:18px;height:18px}
#guidonChecklists .ops-checklist-note input{width:100%;min-height:36px;border:1px solid var(--gx-border);border-radius:7px;padding:0 10px;font:inherit;font-size:14px;box-sizing:border-box;margin:0}
#guidonChecklists .ops-checklist-row.is-complete .ops-checklist-item{color:var(--gx-muted);text-decoration:line-through;text-decoration-color:#b8c2cf}
#guidonChecklists .ops-checklist-group th{background:#f5f7f9;padding:8px 12px;text-align:left}
#guidonChecklists .ops-checklist-group.is-complete th{background:#eaf5ee}
#guidonChecklists .ops-group-toggle{display:inline-flex!important;align-items:center;gap:10px;background:transparent!important;border:0!important;padding:4px 0!important;min-height:0!important;box-shadow:none!important;cursor:pointer;font:inherit;color:var(--gx-navy)}
#guidonChecklists .ops-group-stats{float:right;margin-top:6px;font-weight:600;color:var(--gx-muted);font-size:13px}
#guidonChecklists .ops-section-icon{width:26px;height:26px;border-radius:7px;background:#e8eef6;display:inline-grid;place-items:center;font-size:13px}
#guidonChecklists .ops-area-list li{align-items:center}
#guidonChecklists .ops-sync{margin:6px 0 0;font-weight:600;color:#23324a}
#guidonChecklists .gx-paybox .gx-field{display:grid;gap:4px;margin-top:8px}
#guidonChecklists .gx-paybox :is(input,select){width:100%;box-sizing:border-box;margin:0}
#guidonChecklists .gx-stat .ops-meter{margin-top:12px}
#guidonChecklists .print-only{display:none}
@media (max-width:760px){#guidonChecklists .ops-checklist-grid .ops-col-note{width:auto}#guidonChecklists .ops-group-stats{float:none;display:block;margin:2px 0 0 36px}}
@media print{
  #guidonChecklists .gx{display:block}
  #guidonChecklists .gx-panel,#guidonChecklists .no-print,#guidonChecklists .ops-tabrow{display:none!important}
  #guidonChecklists .ops-checklist-note input{display:none}
  #guidonChecklists .print-only{display:inline!important}
  #guidonChecklists footer.print-only{display:flex!important;justify-content:space-between;margin-top:12px;font-size:12px}
  #guidonChecklists .gx-table-wrap{overflow:visible}
  #guidonChecklists .gx-card{box-shadow:none;border:0}
}
#guidonChecklists .ops-area-list li>button{text-align:left}
/* HZ73J: Event Day. */
#guidonEventDay .ops-clock{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:8px;background:#061c31;color:#fff;font-weight:800;white-space:nowrap}
#guidonEventDay .ops-count{align-self:center;color:var(--gx-muted);font-size:13px;font-weight:600}
#guidonEventDay .ops-guest-table .gx-actions{text-align:right}
#guidonEventDay .event-day-check-button{min-height:36px;padding:0 14px}
#guidonEventDay .ops-guest.checked td{background:#f3faf5}
#guidonEventDay .ops-guest.selected td{background:#eaf2fd}
#guidonEventDay .gx-item-text small a{color:inherit}
#guidonEventDay .ops-guest-detail{border:1px solid #d7e3f3;border-radius:10px;padding:14px;background:#fbfdff;display:grid;gap:12px}
#guidonEventDay .ops-guest-detail .gx-identity{padding:0;border:0;background:transparent}
#guidonEventDay .ops-big{min-height:48px;font-size:16px}
#guidonEventDay .ops-now-list li{align-items:center}
#guidonEventDay .ops-now-list li.current strong{color:var(--gx-green)}
#guidonEventDay .ops-now-list time{font-weight:800;color:#17243a}
#guidonEventDay .ops-status-list{display:grid;gap:0}
#guidonEventDay .event-day-status-item{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef1f4;font-size:14px;background:transparent;border-radius:0}
#guidonEventDay .event-day-status-item.fail strong{color:#b42318}
#guidonEventDay .event-day-status-item.warn strong{color:#8a5a0b}
@media (max-width:760px){#guidonEventDay .ops-col-unit,#guidonEventDay .ops-col-meal{display:none}#guidonEventDay .gx-head{flex-wrap:wrap}}
@media (max-width:760px){#guidonEventDay .ops-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#guidonEventDay .ops-cards .gx-stat{padding:12px}#guidonEventDay .ops-cards .gx-stat strong{font-size:22px}#guidonEventDay .ops-tabrow .gx-tabs{flex-wrap:nowrap;overflow-x:auto}}
:is(#gx-scope,.gx-ws-ops) .gx-table-wrap{position:relative}
@media (max-width:760px){#guidonChecklists .ops-checklist-grid .ops-col-note{min-width:150px}#guidonChecklists .ops-checklist-grid td.ops-checklist-item{min-width:160px}}
#guidonTimeline td.gx-actions .gx-link{white-space:nowrap}
#guidonEventDay .ops-card-link{cursor:pointer}#guidonEventDay .ops-card-link:hover{border-color:#aebccb}#guidonEventDay .ops-card-link:focus-visible{outline:3px solid #8db4ea;outline-offset:2px}

/* HZ74H — consistency pass for the first converted pages (Checkpoints, Tasks, Timeline, Event Day, Checklists,
   Organizations, Committee, Ceremony): the remaining differences from the current standard (Money Out). */
/* Header actions written as links match header buttons (16px text, 40px tall). Also evens out the same mismatch on
   Administration, Seating and Event Manager, whose headers mix link-buttons with buttons. */
:is(#gx-scope,.gx-ws) .gx-head a.gx-btn{font-size:16px;min-height:40px;padding:9px 15px;box-sizing:border-box;line-height:1.2}
/* Event Day: the live clock is information, not a button. */
#guidonEventDay .ops-clock{min-height:40px;padding:0 4px;background:transparent;color:var(--gx-navy);border-radius:0;font-weight:700;font-size:15px}
/* Event Day: the clickable Needs Attention card reads like the other cards (a general rule for role="button"
   elements in guidon-ux.css made its text bold and tight). */
#guidonEventDay #eventAttentionCard{font-weight:400;line-height:1.5}
#guidonEventDay #eventAttentionCard small{font-weight:400}
/* Timeline: a date, its "N days overdue" and the source each stay on one line; the row action is the standard link. */
#guidonTimeline td:first-child small{display:block}
@media (min-width:1100px){#guidonTimeline td:first-child,#guidonTimeline td:first-child small,#guidonTimeline td:nth-child(3){white-space:nowrap}}
/* !important: an old global rule (fix28aa.css) forces every secondary <button>'s colour and weight. */
#guidonTimeline td.gx-actions .gx-link{font-size:13px;font-weight:600!important;color:#2563c9!important;white-space:nowrap}
/* Tasks: the search and three filters fit on one row; a task's description shows two lines in the list (the
   selected task, and the side panel, show all of it). */
#guidonTasks .ops-filters .ops-search{flex:1 1 240px}
#guidonTasks .ops-filters label:not(.ops-search){flex:0 1 160px}
#guidonTasks .ops-filters select{min-width:0}
/* Ceremony Participants: no empty status line when everything saved normally. */
#guidonCeremony .ops-status:has(> .ops-message:empty){display:none}
#guidonCeremony .ops-message:empty{display:none}
#guidonTasks .ops-task-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#guidonTasks tr.selected .ops-task-desc{display:block;-webkit-line-clamp:unset;overflow:visible}
