.ops-page { background: var(--silver-soft); }
.ops-page .admin-topbar { gap: 14px; }
.ops-page .admin-topbar a { text-decoration: none; }
.ops-page .card { margin-bottom: 20px; }
.ops-page h1 { font-size: clamp(1.9rem,5vw,2.8rem); line-height: 1.2; }
.ops-page h2 { font-size: 1.5rem; }
.ops-page h3 { margin: 0 0 6px; font-size: 1.14rem; }
.ops-page p { margin-top: 8px; }
.ops-muted { color: var(--muted); font-size: .9rem; }
.ops-heading { border-top: 5px solid var(--emerald); }
.ops-message, .ops-important { padding: 18px 20px; margin-bottom: 20px; border-radius: 12px; background: #fff2c7; border: 2px solid #9d7100; white-space: pre-line; }
.ops-important { background: var(--blue-soft); border-color: var(--blue); }
.ops-success { background: var(--emerald-soft); border-color: var(--emerald); }
.ops-jump, .ops-view-links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.ops-jump { position: sticky; top: 0; z-index: 5; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.ops-jump a, .ops-view-links a { min-height: 44px; padding: 10px 12px; text-decoration: none; font-weight: 700; border-radius: 8px; }
.ops-jump a:hover, .ops-view-links a:hover, .ops-view-links a[aria-current] { background: var(--blue-soft); }
.ops-two, .ops-filters, .ops-fields { display: grid; gap: 16px; }
.ops-page label { display: grid; gap: 6px; font-weight: 700; margin-bottom: 14px; }
.ops-page label small { font-weight: 400; }
.ops-record, .ops-task, .ops-contact, .ops-inbox { padding: 18px 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.ops-record:first-child, .ops-task:first-child, .ops-contact:first-child { border-top: 0; }
.ops-record .ops-detail { white-space: pre-line; }
.ops-time { font-weight: 700; color: var(--blue-dark); margin-bottom: 8px; }
.ops-tag { display: inline-block; font-size: .78rem; padding: 3px 8px; background: var(--silver-soft); border: 1px solid var(--line); border-radius: 7px; margin: 2px 5px 2px 0; }
.ops-tag.accepted, .ops-tag.published_role { background: var(--emerald-soft); border-color: var(--emerald); }
.ops-tag.blocked, .ops-tag.private_draft, .ops-tag.proposed { background: #fff2c7; border-color: #9d7100; }
.ops-page .anchor-section { scroll-margin-top: 110px; }
.ops-record { scroll-margin-top: 110px; }
.ops-two:has(> #now[hidden]) { grid-template-columns: 1fr; }
.ops-page details { margin: 14px 0; }
.ops-page summary { cursor: pointer; min-height: 44px; padding: 9px 0; font-weight: 700; }
.ops-page pre { background: var(--silver-soft); border-radius: 8px; padding: 14px; overflow: auto; white-space: pre-wrap; word-break: break-word; font-size: .85rem; }
.ops-page fieldset { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 16px; margin-bottom: 18px; }
.ops-page legend { font-weight: 700; padding: 0 6px; }
.ops-check { display: flex !important; flex-direction: row; align-items: flex-start; gap: 10px !important; }
.ops-check input { width: 24px; height: 24px; min-height: 24px; flex: 0 0 24px; margin-top: 2px; }
.ops-dialog { width: min(900px,calc(100% - 24px)); max-height: 92vh; border: 1px solid var(--line); border-radius: 18px; padding: 24px; color: var(--ink); }
.ops-dialog::backdrop { background: rgba(10,24,46,.6); }
.ops-dialog header { display: flex; justify-content: space-between; gap: 15px; align-items: flex-start; }
.ops-dialog header h2 { margin-top: 0; }
.ops-dialog .button-row { position: sticky; bottom: -24px; padding: 12px 0; background: white; border-top: 1px solid var(--line); }
.ops-table-wrap { overflow-x: auto; }
.ops-page table { border-collapse: collapse; width: 100%; font-size: .92rem; }
.ops-page th, .ops-page td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ops-page th { background: var(--blue-soft); }
.ops-link-button { background: none; border: 0; text-align: left; color: var(--blue-dark); text-decoration: underline; cursor: pointer; padding: 0; }
.ops-dashboard a { display: block; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: white; text-decoration: none; font-weight: 700; }
.ops-dashboard small { display: block; font-weight: 400; color: var(--muted); margin-top: 6px; }
.ops-timeline-row { display: grid; grid-template-columns: minmax(145px,1fr) minmax(150px,3fr); gap: 12px; margin: 8px 0; align-items: center; font-size: .83rem; }
.ops-timeline-track { position: relative; min-height: 30px; background: var(--silver-soft); border-radius: 5px; }
.ops-timeline-bar { position: absolute; top: 4px; height: 22px; min-width: 4px; border-radius: 4px; background: var(--blue); }
.ops-timeline-bar.conflict { background: #986000; }
.ops-counter { color: var(--emerald-dark); }
.ops-page button:disabled { opacity: .55; cursor: not-allowed; }
[hidden] { display: none !important; }
@media(min-width:740px) { .ops-two,.ops-fields { grid-template-columns: 1fr 1fr; } .ops-filters { grid-template-columns: 2fr 1fr; } .ops-fields .ops-wide { grid-column: 1 / -1; } .ops-dashboard { grid-template-columns: repeat(4,1fr); } }
@media(max-width:600px) { .ops-jump { gap: 0; font-size: .84rem; } .ops-jump a { padding: 10px 8px; } .ops-dialog { padding: 16px; } .ops-page .admin-topbar { align-items: flex-start; } .ops-page .admin-actions { font-size: .85rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

/* v19: phone-first private itineraries; original guest styling remains intact. */
.personal-page .admin-shell {max-width:880px;}
.personal-page .ops-heading {padding:22px;}
.personal-page .ops-heading h1 {font-size:clamp(1.65rem,5vw,2.2rem);margin-bottom:8px;}
.personal-page .view-switcher {background:white;border:1px solid var(--line);border-radius:12px;padding:0 16px;}
.personal-page .ops-jump {flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;}
.personal-page .ops-jump a {white-space:nowrap;flex-shrink:0;}
.personal-page .ops-contact a {display:inline-flex;align-items:center;min-height:44px;}
.personal-page input,.personal-page select,.personal-page textarea {font-size:16px;}
.personal-page .ops-record {border-left:3px solid var(--line);padding:16px;margin-top:12px;border-radius:0 12px 12px 0;}
.personal-page .ops-day-heading {margin:24px 0 8px;color:var(--blue-dark);}
.personal-page .checklist-item {align-items:center;min-height:52px;padding:10px;border:1px solid var(--line);border-radius:10px;font-weight:400;}
.personal-page .checklist-item:has(:checked) {background:var(--emerald-soft);}
.personal-page .ops-time {font-size:.94rem;}
.personal-page .ops-heading .ops-muted {margin-bottom:0;}
.access-page .admin-shell {max-width:560px;margin:clamp(20px,8vh,80px) auto;}
.access-page .button.primary {width:100%;min-height:50px;}
.compact-dashboard a {padding:12px;font-size:.9rem;}
.compact-dashboard small {font-size:.8rem;}
.admin-workspaces {justify-content:space-between;align-items:flex-start;}
.admin-workspaces details {margin:0;flex:1;min-width:140px;}
.admin-workspaces summary {padding:10px;font-size:.9rem;}
.admin-workspaces a {display:block;font-size:.85rem;}
@media(max-width:600px){.personal-page .admin-shell {padding:12px;}.personal-page .card {padding:18px;margin-bottom:14px;}.personal-page .admin-topbar {padding:14px;font-size:.86rem;}.personal-page .admin-topbar>a {max-width:52%;}.personal-page .ops-two {gap:0;}.personal-page .ops-jump {margin-bottom:14px;}.personal-page .ops-record {padding:14px 10px;}.personal-page h2 {font-size:1.3rem;}.admin-workspaces {position:static;}.admin-workspaces details {flex-basis:45%;}.compact-dashboard {grid-template-columns:1fr 1fr;}}
.release-notice {position:sticky;top:0;z-index:50;padding:14px;background:#fff2c7;border-bottom:2px solid #9d7100;color:#182738;}

.personal-page .view-help {margin:4px 0 0;}
.personal-page .view-help summary {font-size:.85rem;color:var(--muted);font-weight:400;padding:4px 0;min-height:32px;}
.personal-page .ops-important {padding:12px 16px;font-size:.9rem;margin-bottom:14px;}
@media(max-width:600px){.personal-page .admin-topbar {display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:10px 14px;min-height:64px;gap:10px;}.personal-page .admin-topbar .admin-actions {gap:8px;}.personal-page .admin-topbar>a {max-width:50%;}.personal-page .ops-heading {padding:16px;}.personal-page .ops-heading .eyebrow {font-size:.72rem;}.personal-page .ops-heading .button {padding:8px 12px;min-height:44px;}.personal-page .ops-heading #identity-label {font-size:.94rem;}.personal-page .ops-jump {padding:4px;}}

.import-comparison section {padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0;}
.import-comparison .ops-detail {white-space:pre-line;overflow-wrap:anywhere;}

/* Working briefs remain readable on phones and on dated private print copies. */
.ops-material-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.ops-material-shortcuts .button{white-space:normal;text-align:left}
.ops-question-label{font-weight:700;color:#713d19}.ops-record .button{margin:.3rem .3rem .3rem 0;overflow-wrap:anywhere}
#materials-list>section+section{margin-top:2rem}#brief-overview p{margin:.75rem 0}.ops-jump{flex-wrap:wrap}
#table-list p{padding:.65rem;border-bottom:1px solid #ddd}.ops-detail{white-space:pre-line;overflow-wrap:anywhere}
@media print{.admin-topbar,.ops-jump,.view-switcher,.ops-filters,#refresh,#logout,#print-brief,.ops-task form,.footer,.view-help{display:none!important}body,.card{background:white!important;color:black!important;box-shadow:none!important}.admin-shell{max-width:none!important;padding:0}.ops-two{display:block}.card{break-inside:auto;border:0!important;padding:.5rem 0!important}.ops-record{break-inside:avoid}a{color:black!important}.ops-record a[href^="https:"]::after{content:" (" attr(href) ")";font-size:9pt;overflow-wrap:anywhere}#private-content [hidden]{display:none!important}}

.personal-page .ops-jump{flex-wrap:wrap;overflow-x:visible;position:static}.personal-page .ops-jump a{white-space:normal}

/* v23 scoped packet assets and print-safe working copy */
.packet-figure{margin:1rem 0;max-width:100%;break-inside:avoid}.packet-figure img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;border:1px solid #c9d3dc;background:#fff}.packet-figure figcaption{font-size:.85rem;margin-top:.5rem}.ops-state{font-weight:700;font-size:.85rem;color:#42546a}.packet-check{font-weight:400!important;padding:.65rem 0}.ops-detail{line-height:1.65}
@media print{.ops-record{break-inside:auto;border-left:0!important}.ops-record h3,.ops-day-heading{break-after:avoid}.packet-figure img{max-height:200mm}.ops-detail{font-size:10.5pt;line-height:1.4;orphans:3;widows:3}.ops-record details>summary{display:none}#brief-overview,#now,#next,#changes,#day-checklist{display:none!important}.packet-check input:disabled{opacity:1}a[href^="/api/ops/assets"]::after{content:none}}

.packet-table{overflow-x:auto;max-width:100%}.packet-table th,.packet-table td{min-width:70px}.ops-detail>p{white-space:pre-line}
@media print{body{font-size:10pt!important}.personal-page .ops-heading h1{font-size:18pt}.personal-page .ops-heading{padding:4px 0!important}.ops-record{padding:6px 0!important;margin:4px 0!important;border-radius:0!important}.ops-record h3{font-size:12pt;margin:4px 0}.ops-record .ops-time{font-size:8pt;margin:0;break-after:avoid}.ops-state,.ops-record .ops-muted{font-size:8pt;margin:3px 0}.ops-record .ops-detail{font-size:10pt;line-height:1.35}.ops-record .ops-detail p{margin:4px 0}.ops-record>details,.print-appendix{display:none!important}h2{font-size:15pt}h3{font-size:12pt}.ops-tag{font-size:7pt;padding:1px 4px}.packet-table{overflow:visible}.packet-table table{font-size:9pt;table-layout:fixed}.packet-table th,.packet-table td{padding:5px;min-width:0;overflow-wrap:anywhere}#materials-list>section+section{margin-top:12px}.packet-figure img{max-height:160mm}}

@media print{.no-timed-items,.no-questions,.no-contacts{display:none!important}#live-tables label,#table-search,#tables-status{display:none!important}#table-list{columns:2}#table-list p{padding:3px;margin:2px;break-inside:avoid;font-size:9pt}.ops-record .ops-time{break-after:avoid}}

/* v24 self-service update tools */
#bulk-package { width:100%; min-height:16rem; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.82rem; }
.bulk-operation { margin:.7rem 0; }
.bulk-operation-check { display:flex; gap:.65rem; align-items:flex-start; }
.bulk-operation-check input { margin-top:.25rem; }
.bulk-diff { white-space:pre-wrap; overflow-wrap:anywhere; max-height:24rem; overflow:auto; background:rgba(0,0,0,.04); padding:.75rem; border-radius:.65rem; font-size:.78rem; }
.bulk-protected-ack { display:block; margin:1rem 0; padding:.8rem; border:1px solid currentColor; border-radius:.65rem; }
.bulk-apply-panel { position:sticky; bottom:0; z-index:5; padding:.8rem; margin-top:1rem; background:var(--card,#fff); color:var(--text,#202020); border:1px solid var(--border,#ccc); border-radius:.7rem; box-shadow:0 -3px 14px rgba(0,0,0,.12); max-height:65vh; overflow:auto; }
.bulk-apply-panel p { margin:.4rem 0; }
.bulk-apply-panel .bulk-protected-ack { margin:.5rem 0; }
.bulk-needs-ack { border-width:2px; }
#bulk-status,#bulk-apply-status { overflow-wrap:anywhere; scroll-margin:6rem; }
#guest-content-list .ops-record { margin:.7rem 0; }
#guest-content-dialog { width:min(760px,calc(100vw - 2rem)); max-height:92vh; overflow:auto; }
#guest-content-dialog form { display:grid; gap:.8rem; }
#guest-content-dialog label { display:grid; gap:.35rem; }
#guest-content-dialog textarea { width:100%; }

/* v24 self-service cleanup controls */
.bulk-cleanup-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.85rem 0;padding:.7rem;border:1px solid var(--border,#d7d7d7);border-radius:.7rem;background:rgba(255,255,255,.45)}
.ops-select-row{display:flex;gap:.65rem;align-items:flex-start}.ops-select-row h3{margin-top:0}.ops-select-row input[type="checkbox"]{margin-top:.35rem;min-width:1.1rem;min-height:1.1rem}.ops-select-col{width:4.25rem;text-align:center}.ops-table-wrap td:first-child{text-align:center}.bulk-cleanup-toolbar .ops-muted{margin:0 0 0 auto}
@media (max-width:700px){.bulk-cleanup-toolbar .ops-muted{width:100%;margin:0}.bulk-cleanup-toolbar .button{flex:1 1 46%}}

/* v24.3 application deployment center */
.deploy-summary > div,
.deploy-package-card,
.deploy-history-item,
.deploy-destination-guide {
  border: 1px solid var(--line, #d9d9de);
  border-radius: 14px;
  padding: 1rem;
  background: var(--surface-soft, rgba(255,255,255,.55));
}
.deploy-summary strong,
.deploy-summary small { display: block; }
.deploy-summary small { margin-top: .35rem; }
.deploy-destination-guide { margin: 1rem 0; }
.deploy-destination-guide ul { margin-bottom: 0; }
.deploy-package-card { margin: 1rem 0; }
.deploy-package-card h3 { margin-top: 0; }
.deploy-facts {
  display: grid;
  grid-template-columns: minmax(9rem, .75fr) minmax(0, 2fr);
  gap: .4rem 1rem;
  margin: 1rem 0;
}
.deploy-facts dt { font-weight: 700; }
.deploy-facts dd { margin: 0; overflow-wrap: anywhere; }
.deploy-history-item + .deploy-history-item { margin-top: .75rem; }
.deploy-history-item p { margin-bottom: 0; }
.ops-error { color: #8b1e1e; font-weight: 650; }
@media (max-width: 640px) {
  .deploy-facts { grid-template-columns: 1fr; gap: .15rem; }
  .deploy-facts dd { margin-bottom: .65rem; }
}

/* The first screen is a role introduction followed by the next useful action. */
#print-date{display:none}.personal-page .ops-heading{padding:1rem}.personal-page .ops-heading h1{font-size:1.55rem;margin:.4rem 0}.personal-page .ops-heading p{margin:.45rem 0}.personal-page .ops-heading .button{padding:.55rem .75rem}.personal-page .view-help{margin-top:.5rem}
.personal-page #reference-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.personal-page .packet-figure{margin:0}.personal-page .packet-figure img{max-height:360px;object-fit:contain}
.personal-page .ops-material-shortcuts{display:none}.personal-page #materials-list>details{margin:.6rem 0}
@media print{#print-date{display:block}.personal-page #reference-assets{display:block}.personal-page #reference-assets figure{break-inside:avoid}.personal-page #reference-assets img{max-height:400px}}

.photo-shotlist { border: 2px solid var(--accent, #526249); }
.photo-shotlist .ops-detail p { white-space: pre-line; }
.photo-shotlist h3 { scroll-margin-top: 6rem; margin-top: 2rem; }
.photo-shotlist .button-row { gap: .5rem; flex-wrap: wrap; }
@media print { #photo-shotlist-jumps, #photo-shotlist-link { display: none !important; } .photo-shotlist { break-before: auto; } }

/* Compact working views keep the original pages, routes and saved controls. */
.retired-panel { display:none !important; }
.small-guide-link { max-width:1120px; margin:1rem auto; padding:0 1rem; font-size:.9rem; }
.ops-jump { display:flex;flex-wrap:wrap;gap:.5rem; }
.ops-jump a[aria-current="page"] { background:#29443d;color:white; }
.work-pane[hidden] { display:none !important; }
.shot-section { border-top:1px solid #d5d5c9;padding:1rem 0;scroll-margin-top:6rem; }
.ops-task > summary { font-weight:700;cursor:pointer; }
.ops-detail { white-space:pre-line; }
@media print { .work-pane[hidden] { display:block !important; } .ops-jump,.small-guide-link {display:none!important;} }

/* Responsive working pages: columns shrink around real content, never the viewport. */
@media (min-width: 740px) {
  .ops-two, .ops-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-filters { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .ops-dashboard { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.personal-page .ops-jump a { flex-shrink: 1; }
.personal-page > .small-guide-link { max-width: 880px; }
.personal-page #reference-assets { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.ops-table-wrap, .packet-table { max-width: 100%; }
.ops-table-wrap:focus-visible { outline: 3px solid #9fbee8; }
.ops-select-row > input[type="checkbox"] { flex: 0 0 24px; width: 24px; }
.ops-timeline-row { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
.guest-admin-group { margin-block: 24px; padding-top: 16px; border-top: 2px solid var(--line); }
.guest-admin-group > h3 { color: var(--blue-dark); }
.ops-dialog form, .ops-dialog label, .ops-dialog header > * { min-width: 0; }
@media (max-width: 600px) {
  .ops-jump { position: static; }
  .personal-page .admin-shell { padding: 16px 0 40px; }
  .personal-page .admin-topbar > a { max-width: 100%; }
  .ops-timeline-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ops-dialog { padding: 16px; max-height: 90dvh; }
  .ops-dialog .button-row { bottom: -16px; }
  .compact-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-workspaces details { min-width: min(140px, 100%); }
}
