#foreign-operations-root { display: grid; gap: 16px; }
.ops-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-width: 0; padding: 7px 10px; border: 1px solid #d5e1ed; border-radius: 9px; background: #f7faff; color: #45566b; font-size: 12px; }
.ops-breadcrumb button { min-height: 44px; padding: 3px 5px; border: 0; border-radius: 5px; background: none; color: #174e7a; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.ops-breadcrumb button:hover { text-decoration: underline; }
.ops-breadcrumb button:focus-visible { outline: 2px solid #275e91; outline-offset: 1px; }
.ops-breadcrumb [aria-current="page"] { min-width: 0; overflow-wrap: anywhere; font-weight: 700; }
.ops-crumb-separator { color: #788b9f; }
.ops-workspace-scope { margin-left: auto; color: #607083; overflow-wrap: anywhere; }
.ops-project-jump { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 12px; }
.ops-contract-overview { min-width: 0; margin: 12px 0; padding: 11px; border: 1px solid #c8d8e8; border-radius: 10px; background: #f7faff; }
.ops-contract-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; }
.ops-contract-heading h3 { margin: 0; color: #173b68; font-size: 15px; }
.ops-contract-heading span { color: #45566b; font-size: 12px; overflow-wrap: anywhere; }
.ops-contract-heading strong { color: #1b2c3e; }
.ops-contract-overview ul { display: grid; gap: 5px; margin: 9px 0 0; padding: 0; list-style: none; }
.ops-contract-lift { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(170px, 2fr) auto; align-items: center; gap: 7px 12px; min-width: 0; padding: 8px 9px; border-radius: 7px; background: #fff; }
.ops-contract-lift > div:first-child { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.ops-contract-lift > div:first-child span { font-size: 11px; color: #45566b; }
.ops-contract-saved { display:grid; gap:3px; min-width:0; margin-top:4px; padding-top:6px; border-top:1px solid #e4ebf2; }
.ops-contract-saved span { overflow-wrap:anywhere; }
.ops-contract-editor-link { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; justify-self:start; min-height:44px; max-width:100%; padding:7px 10px; border:1px solid var(--line,#d9e0e7); border-radius:8px; color:inherit; font-size:12px; font-weight:600; text-decoration:none; text-align:center; overflow-wrap:anywhere; }
.ops-contract-editor-link:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.ops-contract-lift-status { display: flex; flex-wrap: wrap; gap: 3px 8px; color: #45566b; font-size: 11px; }
.ops-contract-lift-status span { padding: 2px 6px; border-radius: 5px; background: #eef3f8; }
.ops-contract-lift .ops-detail-button { min-height: 44px; margin: 0; }
.ops-contract-editor { margin-top: 8px; }
.ops-contract-editor summary { width: fit-content; min-height: 44px; align-content: center; color: #174e7a; font-size: 12px; font-weight: 700; cursor: pointer; }
.ops-contract-editor form, .ops-contract-editor-grid { display: grid; gap: 7px; }
.ops-contract-editor-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
.ops-contract-editor label { display: grid; gap: 4px; min-width: 0; font-size: 12px; font-weight: 600; }
.ops-contract-editor input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 7px 9px; border: 1px solid #b8c8d8; border-radius: 7px; background: #fff; font: inherit; }
.ops-contract-editor input:focus-visible, .ops-contract-editor summary:focus-visible { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-contract-editor button { justify-self: start; min-height: 44px; }
.ops-contract-editor .ops-form-error { margin: 0; color: #9b3028; }
.ops-package-reference-editor { grid-column: 1 / -1; margin: 0; padding-top: 7px; border-top: 1px solid #d6e3ee; }
.ops-package-reference-editor form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.ops-package-reference-editor button,.ops-package-reference-editor .ops-form-error { grid-column: 1 / -1; }
.ops-project-jump .ops-detail-button { margin: 0; min-height: 44px; }
.ops-project-progress { margin: 0 0 12px; }
.ops-project-actual { min-width: 0; margin: 2px 0 12px; padding: 10px; border: 1px solid #c8d8e8; border-radius: 9px; background: #f7faff; }
.ops-project-actual h3 { margin: 0 0 7px; color: #173b68; font-size: 14px; }
.ops-project-actual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.ops-project-actual-grid p { display: grid; align-content: start; gap: 3px; min-width: 0; margin: 0; padding: 8px; border-radius: 7px; background: #fff; color: #45566b; font-size: 11px; overflow-wrap: anywhere; }
.ops-project-actual-grid strong { color: #173b68; font-size: 17px; line-height: 1.1; }
.ops-project-actual-partial { margin: 8px 0 0; color: #795323; font-size: 12px; }
.ops-project-actual > small { display: block; margin-top: 7px; color: #607083; font-size: 11px; overflow-wrap: anywhere; }
.ops-package-actual { display: grid; gap: 4px; min-width: 0; margin: 2px 0 10px; padding: 9px 10px; border: 1px solid #c8d8e8; border-radius: 9px; background: #f7faff; }
.ops-package-actual > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 3px 8px; color: #45566b; font-size: 12px; }
.ops-package-actual strong { color: #173b68; font-size: 18px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ops-package-actual p { margin: 0; color: #45566b; font-size: 12px; overflow-wrap: anywhere; }
.ops-package-actual small { color: #607083; font-size: 11px; overflow-wrap: anywhere; }
.ops-project-progress h3 { margin: 0 0 7px; font-size: 14px; }
.ops-project-progress-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.ops-project-progress-grid button { display: grid; align-content: center; gap: 2px; min-width: 0; min-height: 62px; padding: 7px 9px; border: 1px solid #c8d8e8; border-radius: 9px; background: #f7faff; color: #1b2c3e; font: inherit; text-align: left; cursor: pointer; }
.ops-project-progress-grid button:hover, .ops-project-progress-grid button[aria-pressed="true"] { border-color: #275e91; background: #eaf2fa; }
.ops-project-progress-grid [data-ops-project-summary-filter="needsCrew"] { border-color: #9ebbd4; background: #eef5fb; }
.ops-project-progress-grid [data-ops-project-summary-filter="needsReadiness"] { border-color:#d4b389; background:#fff7eb; }
.ops-project-progress-grid button:focus-visible { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-project-progress-grid strong { font-size: 19px; line-height: 1; }
.ops-project-progress-grid span { color: #45566b; font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
.ops-list-project-progress { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0 0 9px; }
.ops-list-project-progress > span { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; min-width: 0; padding: 8px 10px; border: 1px solid #c8d8e8; border-radius: 9px; background: #f7faff; color: #45566b; font-size: 12px; overflow-wrap: anywhere; }
.ops-list-project-progress strong { color: #173b68; font-size: 18px; line-height: 1; }
.ops-list-project-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.ops-list-project-actions .ops-detail-button { min-height: 44px; margin: 0; }
.ops-package-readiness { display:flex; flex-wrap:wrap; align-items:center; gap:5px 9px; min-width:0; padding:8px 9px; border:1px solid #d9b487; border-radius:8px; background:#fff7ec; color:#653b16; font-size:12px; overflow-wrap:anywhere; }
.ops-package-readiness strong { font-size:12px; }
.ops-package-readiness[data-readiness-status="check"] { border-color:#b8c8d8; background:#f5f8fc; color:#294c71; }
.ops-package-readiness .ops-detail-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0 0 0 auto; text-decoration:none; }
@media (max-width:430px) { .ops-package-readiness { display:grid; } .ops-package-readiness .ops-detail-button { width:100%; margin:2px 0 0; text-align:center; } }
.ops-order-summary { margin: 12px 0; padding: 10px; border: 1px solid #d5e1ed; border-radius: 9px; background: #f7faff; }
.ops-order-summary h3 { margin: 0 0 8px; font-size: 14px; }
.ops-order-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ops-order-group { min-width: 0; padding: 8px; border-radius: 7px; background: #fff; }
.ops-order-group p { margin: 0; font-size: 12px; color: #45566b; }
.ops-order-group p strong { color: #1b2c3e; font-size: 18px; }
.ops-order-group ul { margin: 8px 0 0; padding: 0; list-style: none; }
.ops-order-group li { display: grid; gap: 5px; padding: 6px 0; border-top: 1px solid #e4ebf3; font-size: 12px; overflow-wrap: anywhere; }
.ops-order-group .ops-detail-button { margin: 0; min-height: 44px; }
.ops-planner-order-status { display: block; width: fit-content; max-width: 100%; margin: 4px 0; padding: 4px 7px; border: 1px solid #c8d8e8; border-radius: 6px; background: #f7faff; color: #1b2c3e; font-size: 12px; overflow-wrap: anywhere; }
.ops-actual-progress { display: flex; flex-wrap: wrap; gap: 3px 8px; margin: 5px 0; color: #45566b; font-size: 12px; overflow-wrap: anywhere; }
.ops-actual-progress span { min-width: 0; }
.ops-actual-progress strong { color: #173b68; white-space: nowrap; }
.ops-project-filter-status { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 9px; margin: 5px 0 10px; color: #45566b; font-size: 12px; }
.ops-project-filter-status .ops-detail-button { margin: 0; min-height: 44px; }
.ops-search { display: grid; gap: 6px; max-width: 420px; font-weight: 600; }
.ops-search input { min-width: 0; width: 100%; min-height: 44px; }
.ops-list-crew-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 8px; }
.ops-list-crew-filter .ops-detail-button { min-height: 44px; margin: 0; }
.ops-list-crew-filter [aria-pressed="true"] { border-color: #275e91; background: #eaf2fa; color: #173b68; font-weight: 700; }
.ops-list-plan-filter { display: grid; gap: 6px; max-width: 420px; margin: 0 0 10px; font-weight: 600; }
.ops-list-plan-filter select { min-width: 0; width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #b8c8d8; border-radius: 8px; background: #fff; color: #1b2c3e; font: inherit; }
.ops-list-plan-filter select:focus-visible { outline: 2px solid #4f83b7; outline-offset: 2px; }
.ops-list-result-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 10px; }
.ops-list-result-line .ops-detail-button { min-height: 44px; margin: 0; }
.ops-list-order { display: grid; gap: 6px; max-width: 420px; margin: 0 0 10px; font-weight: 600; }
.ops-list-order select { min-width: 0; width: 100%; min-height: 44px; }
.ops-project-next-date { margin: 0 0 10px; color: #45566b; font-size: 12px; }
.ops-project-next-date strong { color: #173b68; }
.ops-quick-plan { min-width: 0; padding: 10px; border: 1px solid #c8d8e8; border-radius: 10px; background: #f7faff; }
.ops-quick-plan h2 { margin: 0 0 8px; color: #173b68; font-size: 16px; }
.ops-quick-plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 9px; }
.ops-quick-plan-grid > div { min-width: 0; padding: 8px; border-radius: 8px; background: #fff; }
.ops-quick-plan-grid > .ops-quick-needs-crew { border: 1px solid #9ebbd4; background: #eef5fb; }
.ops-quick-plan h3 { display: flex; align-items: baseline; gap: 6px; margin: 0 0 5px; font-size: 13px; }
.ops-quick-plan h3 span { color: #275e91; font-variant-numeric: tabular-nums; }
.ops-quick-plan ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.ops-quick-plan li { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px; min-width: 0; padding: 6px 0; border-top: 1px solid #e4ebf3; }
.ops-quick-plan li:first-child { border-top: 0; }
.ops-quick-plan li > span { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; font-size: 12px; }
.ops-quick-plan li small { color: #45566b; font-size: 11px; }
.ops-quick-plan .ops-detail-button { min-height: 44px; margin: 0; white-space: normal; text-align: left; }
.ops-quick-plan .ops-missing { margin: 4px 0; font-size: 12px; }
.ops-project-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 12px; }
.ops-project-add-package { display: inline-flex; align-items: center; min-height: 44px; margin: 12px 0 2px; }
.ops-project-controls > label { display: grid; gap: 6px; min-width: min(100%, 180px); font-weight: 600; }
.ops-project-controls select { min-height: 44px; max-width: 100%; }
.ops-project-controls [data-ops-crew-filter] { width: 100%; }
.ops-planner { margin: 16px 0 22px; }
.ops-week-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.ops-week-heading h2 { margin: 0; }
.ops-week-heading .ops-detail-button { margin: 0; }
.ops-print-sheet { display: none; }
.ops-plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 12px; margin-top: 10px; }
.ops-project-plan-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 290px); align-items: start; gap: 12px; }
.ops-project-week-grid { min-width: 0; }
.ops-project-week-grid > .ops-plan-week { min-width: 0; background: #fff; }
.ops-project-week-grid .ops-package-list { min-width: 0; }
.ops-planned-card { min-width: 0; border-color: #c8d8e8; background: #fbfdff; overflow-wrap: anywhere; }
.ops-planned-card.needs-crew { border-color: #dfc69e; background: #fffdf8; }
.ops-planned-needs-crew { display: inline-flex; width: fit-content; max-width: 100%; margin-top: 8px; padding: 4px 8px; border: 1px solid #e5cba2; border-radius: 999px; background: #fff4df; color: #74501d; font-size: 11px; font-weight: 700; line-height: 1.3; }
.ops-planned-card.needs-crew > .ops-crew-open { min-height: 44px; font-weight: 700; }
.ops-planned-card.is-overdue { border-color: #d4a9a4; background: #fffafa; }
.ops-planned-overdue { display: inline-flex; width: fit-content; max-width: 100%; margin-top: 8px; padding: 4px 8px; border: 1px solid #dfb6b0; border-radius: 999px; background: #fff0ee; color: #873c35; font-size: 11px; font-weight: 700; line-height: 1.3; }
.ops-planned-needs-crew + .ops-planned-overdue { margin-left: 6px; }
.ops-planned-card-head { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 6px 12px; min-width: 0; padding-bottom: 8px; border-bottom: 1px solid #e4ebf3; }
.ops-planned-card-lift, .ops-planned-card-dates { min-width: 0; }
.ops-planned-card-lift { flex: 1 1 120px; }
.ops-planned-card-head small { display: block; margin-bottom: 2px; color: #607083; font-size: 11px; font-weight: 600; }
.ops-planned-card-lift strong { color: #173b68; font-size: 16px; line-height: 1.25; }
.ops-planned-card-dates { flex: 1 1 205px; color: #1b2c3e; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1.4; }
.ops-planned-card-dates time { white-space: nowrap; }
.ops-planned-card .ops-planner-order-status { margin: 8px 0 6px; border-color: #9ebbd4; background: #eaf2fa; color: #173b68; font-weight: 700; }
.ops-planned-card .ops-planner-order-status[data-order-status="COMPLETED"] { border-color: #afd6c2; background: #edf8f1; color: #225b41; }
.ops-planned-card > .ops-detail-button { display: block; width: fit-content; max-width: 100%; min-height: 44px; white-space: normal; text-align: left; overflow-wrap: anywhere; }
.ops-week-crew-filter { display: grid; grid-template-columns: auto minmax(0, 210px); align-items: center; gap: 5px 9px; min-width: 0; margin: 8px 0; color: #45566b; font-size: 12px; font-weight: 700; }
.ops-week-crew-filter select { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; padding: 6px 9px; border: 1px solid #b8c8d8; border-radius: 8px; background: #fff; color: #1b2c3e; font: inherit; }
.ops-week-crew-filter select:focus-visible { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-week-crew-results { margin: 3px 0 8px; color: #45566b; font-size: 12px; }
.ops-week-crew { min-width: 0; padding: 10px; border: 1px solid #c8d8e8; border-radius: 10px; background: #f7faff; }
.ops-week-crew h4 { margin: 0 0 8px; }
.ops-week-crew ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.ops-week-crew-member { display: grid; gap: 3px; min-width: 0; padding: 8px; border-radius: 7px; background: #fff; overflow-wrap: anywhere; }
.ops-week-crew-member > span { color: #45566b; font-size: 12px; }
.ops-week-crew-member > div { display: flex; flex-wrap: wrap; gap: 5px; }
.ops-week-crew-member .ops-detail-button { margin: 0; min-height: 44px; max-width: 100%; white-space: normal; text-align: left; overflow-wrap: anywhere; }
.ops-week-crew > p { margin: 8px 0 0; font-size: 12px; }
.ops-overview-crew { margin: 12px 0; }
.ops-overview-crew h3 { margin: 0; font-size: 15px; }
.ops-overview-crew > .ops-count { margin-bottom: 8px; }
.ops-overview-crew .ops-week-crew-member ul { gap: 5px; margin-top: 5px; }
.ops-overview-crew .ops-week-crew-member li { display: grid; gap: 5px; min-width: 0; padding-top: 6px; border-top: 1px solid #e4ebf3; font-size: 12px; overflow-wrap: anywhere; }
.ops-overview-crew .ops-week-crew-member li div { display: flex; flex-wrap: wrap; gap: 5px; }
.ops-project-week-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 10px; }
.ops-project-week-navigation .ops-detail-button { margin: 0; min-height: 44px; }
.ops-project-week-navigation strong { margin: 0 auto; color: #45566b; font-size: 12px; }
.ops-project-week-strip { display: grid; grid-template-columns: repeat(13, minmax(70px, 1fr)); gap: 4px; min-width: 0; max-width: 100%; margin-top: 10px; overflow-x: auto; overscroll-behavior-inline: contain; padding: 2px 2px 7px; }
.ops-project-week-button { display: grid; gap: 2px; min-width: 70px; min-height: 44px; padding: 5px 4px; border: 1px solid #c8d8e8; border-radius: 8px; background: #fff; color: #1b2c3e; text-align: center; font: inherit; font-size: 11px; cursor: pointer; }
.ops-project-week-button small { color: #607083; font-size: 10px; }
.ops-project-week-button.is-current { border-color: #2e7292; box-shadow: inset 0 0 0 1px #2e7292; }
.ops-project-week-button[aria-pressed="true"] { background: #eaf2fa; border-color: #275e91; font-weight: 700; }
.ops-project-week-button:focus-visible { outline: 2px solid #275e91; outline-offset: 1px; }
.ops-project-week-button.is-dragover { background: #d8ebfb; box-shadow: inset 0 0 0 2px #275e91; }
.ops-project-queue { min-width: 0; margin-top: 10px; padding: 12px; border: 1px solid #c8d8e8; border-radius: 10px; background: #f7faff; }
.ops-project-queue h4 { margin: 0 0 5px; }
.ops-project-queue .ops-package-list { margin-top: 10px; }
.ops-project-queue .ops-package { padding: 9px; background: #fff; }
.ops-project-queue .ops-detail-button { min-height: 44px; }
.ops-project-queue [draggable="true"] { cursor: grab; }
.ops-project-queue [draggable="true"]:active { cursor: grabbing; }
.ops-package-status { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 5px; font-size: 12px; }
.ops-package-status a { min-height: 44px; display: inline-flex; align-items: center; }
.ops-crew-summary { display: flex; flex-wrap: wrap; align-items: start; gap: 5px 9px; min-width: 0; margin: 8px 0 0; padding: 8px 9px; border: 1px solid #c8d8e8; border-radius: 8px; background: #f7faff; color: #45566b; font-size: 12px; overflow-wrap: anywhere; }
.ops-crew-summary.is-assigned { border-color: #afd6c2; background: #edf8f1; }
.ops-crew-summary strong { flex: none; color: #173b68; }
.ops-crew-members { display: flex; flex: 1 1 120px; flex-wrap: wrap; gap: 4px; min-width: 0; }
.ops-crew-member { display: inline-block; max-width: 100%; padding: 2px 7px; border: 1px solid #afd6c2; border-radius: 999px; background: #fff; color: #225b41; font-weight: 700; overflow-wrap: anywhere; }
.ops-crew-empty { color: #607083; }
.ops-crew-open { margin-top: 6px; }
.ops-crew-loading { margin: 8px 0; color: #45566b; }
.ops-crew-loading:focus-visible { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-crew-form { display: grid; gap: 9px; min-width: 0; margin: 10px 0; padding: 12px; border: 1px solid #c8d8e8; border-radius: 10px; background: #f7faff; }
.ops-crew-form p { margin: 0; }
.ops-crew-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.ops-crew-choices legend { margin-bottom: 6px; padding: 0; color: #173b68; font-size: 13px; font-weight: 700; }
.ops-crew-choice { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 44px; padding: 6px 9px; border: 1px solid #c8d8e8; border-radius: 8px; background: #fff; overflow-wrap: anywhere; }
.ops-crew-choice input { width: 18px; height: 18px; flex: none; }
.ops-crew-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ops-crew-actions button { min-height: 44px; margin: 0; padding: 8px 12px; border-radius: 8px; font: inherit; font-weight: 700; cursor: pointer; }
.ops-crew-actions button[type="submit"] { border: 1px solid #173b68; background: #173b68; color: #fff; }
.ops-crew-actions .ops-detail-button { background: #fff; }
.ops-readiness-badge { display: inline-block; padding: 3px 7px; border-radius: 999px; border: 1px solid #d2dee9; background: #f4f7fa; color: #45566b; font-size: 11px; font-weight: 700; }
.ops-readiness-warning { border-color: #e7ba72; background: #fff7e8; color: #7e4a12; }
.ops-readiness-draft { border-color: #e3c28a; background: #fffaf0; color: #725321; }
.ops-readiness-checked { border-color: #afd6c2; background: #edf8f1; color: #256143; }
.ops-drop-hint { margin: 5px 0 8px; color: #45566b; font-size: 12px; }
.ops-week-drop { border-style: dashed; border-color: #8caecb; }
.ops-week-drop.is-dragover { border-color: #275e91; background: #eaf2fa; box-shadow: inset 0 0 0 2px #275e91; }
.ops-project-move-error { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 10px 0 0; }
.ops-project-move-error p { margin: 0; }
.ops-project-move-error .ops-detail-button { min-height: 44px; margin: 0; }
.ops-assign-week { min-height: 44px; border-color: #275e91; background: #eaf2fa; color: #173b68; font-weight: 700; white-space: normal; }
.ops-package[data-ops-planned-card]:focus { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-plan-week { min-width: 0; border: 1px solid var(--line, #d9e0e7); border-radius: 10px; padding: 12px; }
.ops-plan-week h4 { margin: 0 0 10px; }
.ops-selected-week-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; }
.ops-selected-week-heading span { color: #45566b; font-size: 12px; font-weight: 700; }
.ops-week-search { display: grid; gap: 5px; min-width: 0; max-width: 420px; margin: 9px 0; color: #45566b; font-size: 12px; font-weight: 700; }
.ops-week-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 8px 12px; }
.ops-week-filters > label { max-width: none; min-width: 0; }
.ops-week-filters .ops-week-crew-filter { grid-template-columns: minmax(0, 1fr); }
.ops-week-search input { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; padding: 7px 10px; border: 1px solid #b8c8d8; border-radius: 8px; background: #fff; color: #1b2c3e; font: inherit; }
.ops-week-search input:focus-visible { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-week-search-count { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 4px 0 8px; color: #45566b; font-size: 12px; }
.ops-week-search-count .ops-detail-button { margin: 0; min-height: 44px; }
.ops-week-select { display: grid; gap: 6px; max-width: min(100%, 280px); font-weight: 600; }
.ops-week-select select { min-width: 0; width: 100%; min-height: 44px; }
.ops-week-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 10px 16px; margin-top: 10px; }
.ops-planner-assign { flex:1 1 220px; max-width:440px; min-width:0; border:1px solid #a7cfc9; border-radius:8px; background:#f2faf8; }
.ops-planner-assign summary { display:flex; align-items:center; min-height:44px; box-sizing:border-box; padding:8px 12px; color:#0c716b; font-weight:700; cursor:pointer; }
.ops-planner-assign summary:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.ops-planner-assign form { display:grid; gap:8px; padding:0 10px 10px; }
.ops-planner-assign label { display:grid; gap:5px; min-width:0; font-weight:600; }
.ops-planner-assign select,.ops-planner-assign button { box-sizing:border-box; width:100%; min-height:44px; }
.ops-planner-assign select { min-width:0; padding:6px 8px; border:1px solid #aebbc9; border-radius:6px; background:#fff; }
.ops-planner-assign .ops-detail-button { margin:0; }
@media (max-width:620px) { .ops-week-controls .ops-planner-assign { flex-basis:100%; max-width:none; } }
.ops-planner-contact { display: flex; align-items: center; gap: .5rem; margin-top: .8rem; max-width: 100%; font-size: .88rem; }
.ops-planner-contact label { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.ops-planner-contact select { min-height: 44px; min-width: 0; max-width: 100%; padding: .4rem .55rem; border: 1px solid #aebbc9; border-radius: .5rem; background: #fff; }
.ops-planner-contact button { min-height: 44px; }
.ops-week-controls .ops-week-select { flex: 1 1 190px; }
.ops-view-switch { display: flex; flex-wrap: wrap; gap: 6px; }
.ops-view-switch .ops-detail-button { margin: 0; min-height: 44px; }
.ops-view-switch [aria-pressed="true"] { border-color: #275e91; background: #eaf2fa; font-weight: 700; }
.ops-calendar-navigation { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.ops-calendar-navigation strong { text-align: center; }
.ops-calendar-navigation .ops-detail-button { margin: 0; min-height: 44px; }
.ops-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.ops-calendar-day { min-width: 0; padding: 8px; border: 1px solid var(--line, #d9e0e7); border-radius: 9px; background: #fff; }
.ops-calendar-day h4 { margin: 0 0 8px; font-size: 12px; overflow-wrap: anywhere; }
.ops-calendar-day ul, .ops-calendar-unscheduled ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ops-calendar-card { display: grid; gap: 5px; min-width: 0; padding: 8px; border: 1px solid #d5e1ed; border-radius: 8px; background: #f7faff; font-size: 12px; overflow-wrap: anywhere; }
.ops-calendar-card strong { font-weight: 700; }
.ops-calendar-card .ops-detail-button { justify-self: start; margin: 0; min-height: 44px; white-space: normal; text-align: left; }
.ops-calendar-unscheduled { margin-top: 12px; padding: 10px; border: 1px solid var(--line, #d9e0e7); border-radius: 9px; }
.ops-calendar-unscheduled h4 { margin: 0 0 8px; }
.ops-calendar-unscheduled ul { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.ops-summary-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.ops-summary-entry { display: grid; gap: 5px; padding-top: 8px; border-top: 1px solid var(--line, #d9e0e7); overflow-wrap: anywhere; }
.ops-summary-links { display: flex; flex-wrap: wrap; gap: 8px; }
.ops-summary-links .ops-detail-button { margin-top: 0; }
.ops-plan-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 10px 12px; margin: 14px 0; max-width: 560px; }
.ops-plan-form h3 { grid-column: 1 / -1; margin: 0; font-size: 15px; line-height: 1.3; }
.ops-installation-timeline { grid-column:1 / -1; min-width:0; padding:8px 10px; border:1px solid #d7e1eb; border-radius:8px; }
.ops-installation-timeline summary { cursor:pointer; font-weight:700; }
.ops-installation-timeline ol { margin:8px 0 0; padding-left:20px; }
.ops-installation-timeline li { margin:4px 0; overflow-wrap:anywhere; font-size:12px; }
.ops-plan-form .ops-plan-week { grid-column: 1 / -1; max-width: 220px; }
.ops-plan-form label { display: grid; gap: 6px; min-width: 0; color: #45566b; font-size: 12px; font-weight: 700; line-height: 1.3; }
.ops-plan-form button, .ops-plan-form .ops-form-error { grid-column: 1 / -1; }
.ops-plan-inline { max-width: none; margin: 6px 0 2px; padding: 12px; border: 1px solid #d5e1ed; border-radius: 10px; background: #f7faff; }
.ops-plan-inline h3 { font-size: 13px; }
.ops-count { margin: 0; color: #607083; }
.ops-registry { display:grid; gap:10px; min-width:0; }
.ops-registry h2, .ops-registry h3 { margin:0; overflow-wrap:anywhere; }
.ops-registry h2 { font-size:1rem; }
.ops-registry h3 { font-size:.9rem; }
.ops-registry h3 small { color:#607083; font-weight:400; }
.ops-registry-group { display:grid; gap:8px; padding:12px; border:1px solid #d5e1ed; border-radius:10px; background:#f7faff; }
.ops-registry-group ul { margin:0; padding:0; list-style:none; }
.ops-registry-group > ul { display:grid; gap:8px; }
.ops-registry-project { min-width:0; padding:10px; border:1px solid #d9e3ed; border-radius:8px; background:#fff; }
.ops-registry-group-head, .ops-registry-project-head, .ops-registry-package { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }
.ops-registry-project-head > span, .ops-registry-package > span { display:grid; min-width:0; overflow-wrap:anywhere; }
.ops-registry-actions { display:flex; flex-wrap:wrap; gap:6px; }
.ops-registry-project small, .ops-registry-package small { color:#607083; font-size:.75rem; }
.ops-registry-packages { display:grid; gap:6px; padding:8px 0 0 !important; margin-top:8px !important; border-top:1px solid #e4ebf2; }
.ops-registry-package .ops-detail-button, .ops-registry-project-head .ops-detail-button { flex:none; min-height:44px; margin:0; }
.ops-registry-group-head .ops-detail-button { flex:none; min-height:44px; margin:0; }
.ops-contract-detail { display:grid; gap:14px; min-width:0; }
.ops-contract-detail h2 { margin:0; font-size:1.25rem; overflow-wrap:anywhere; }
.ops-contract-kit-contact { margin:0; padding:10px; border:1px solid #d5e1ed; border-radius:8px; }
.ops-contract-detail-list { display:grid; gap:12px; }
.ops-contract-detail-card { display:grid; gap:12px; min-width:0; padding:14px; border:1px solid #d5e1ed; border-radius:10px; background:#fff; }
.ops-contract-detail-card h3 { margin:0; font-size:1rem; overflow-wrap:anywhere; }
.ops-contract-detail-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
.ops-contract-detail-card dl > div { min-width:0; }
.ops-contract-detail-card dt { color:#607083; font-size:.75rem; }
.ops-contract-detail-card dd { margin:2px 0 0; overflow-wrap:anywhere; }
.ops-contract-detail-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ops-contract-detail-actions .ops-detail-button { min-height:44px; margin:0; }
.ops-list-details { min-width:0; }
.ops-list-details > summary { min-height:44px; padding:10px; cursor:pointer; font-weight:700; }
.ops-list-details > .ops-project { margin-top:10px; }
@media (max-width:559px) { .ops-registry-group-head, .ops-registry-project-head, .ops-registry-package { align-items:stretch; flex-direction:column; } .ops-registry-actions, .ops-contract-detail-actions { display:grid; } .ops-registry-package .ops-detail-button, .ops-registry-project-head .ops-detail-button { align-self:stretch; } .ops-contract-detail-card dl { grid-template-columns:minmax(0,1fr); } }
.ops-create { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ops-create form { min-width: 0; padding: 16px; border: 1px solid #d9e3ed; border-radius: 12px; background: #fff; display: grid; gap: 10px; align-content: start; box-shadow: 0 4px 16px rgba(20, 45, 70, .035); }
.ops-create h2 { margin: 0 0 2px; font-size: 15px; line-height: 1.3; }
.ops-create-project-link { justify-self: start; color: #185077; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.ops-create-project-link:focus-visible { outline: 2px solid #4f83b7; outline-offset: 3px; }
.ops-create-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; min-width: 0; }
.ops-create-fields > label { min-width: 0; }
.ops-create-crew-status { margin: 0; color: #45566b; font-size: 12px; }
.ops-create label { display: grid; gap: 6px; min-width: 0; color: #45566b; font-size: 12px; font-weight: 700; line-height: 1.3; }
.ops-create select, .ops-create input, .ops-plan-form input[type="date"], .ops-plan-form input[type="week"] { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid #b8c8d8; border-radius: 8px; background: #fff; color: #1b2c3e; font: inherit; font-size: 13px; }
.ops-create select:focus-visible, .ops-create input:focus-visible, .ops-plan-form input[type="date"]:focus-visible, .ops-plan-form input[type="week"]:focus-visible { outline: 2px solid #4f83b7; outline-offset: 1px; border-color: #4f83b7; }
.ops-create button, .ops-plan-form button { justify-self: start; min-height: 44px; max-width: 100%; padding: 9px 15px; border: 1px solid #173b68; border-radius: 8px; background: #173b68; color: #fff; font: inherit; font-size: 13px; font-weight: 700; line-height: 1.3; white-space: normal; cursor: pointer; }
.ops-create button:not(:disabled):hover, .ops-plan-form button:not(:disabled):hover { background: #24527e; }
.ops-create button:focus-visible, .ops-plan-form button:focus-visible { outline: 2px solid #4f83b7; outline-offset: 2px; }
.ops-create button:disabled, .ops-plan-form button:disabled { border-color: #d7e0e9; background: #edf2f7; color: #67788a; cursor: not-allowed; }
.ops-form-error { min-width: 0; margin: 0; color: #9e2e27; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.ops-form-error:empty { display: none; }
.ops-form-error:not(:empty) { padding: 9px 11px; border: 1px solid #f0c5c1; border-radius: 8px; background: #fff1ef; }
.ops-create-success { margin: 0; padding: 9px 11px; border: 1px solid #b6d8c9; border-radius: 8px; background: #eef8f3; color: #20533f; font-size: 12px; line-height: 1.4; }
.ops-create .ops-form-error { grid-column: 1 / -1; }
.ops-plan-week { container-type: inline-size; }
@container (max-width: 320px) { .ops-plan-inline { grid-template-columns: minmax(0, 1fr); } }
.ops-message { padding: 22px; border: 1px solid var(--line, #d9e0e7); border-radius: 14px; background: #fff; }
.ops-project { min-width: 0; padding: 20px; border: 1px solid var(--line, #d9e0e7); border-radius: 14px; background: #fff; }
.ops-project h2 { margin: 0 0 14px; font-size: 1.2rem; overflow-wrap: anywhere; }
[data-ops-list-card] { border-left: 4px solid #2e7292; }
.ops-list-card-heading { min-width: 0; margin-bottom: 12px; }
.ops-list-card-heading small { display: block; margin-bottom: 4px; color: #426785; font-size: .75rem; font-weight: 700; letter-spacing: .02em; }
.ops-list-card-heading h2 { margin: 0; color: #173b68; line-height: 1.25; }
.ops-list-card-address { margin: 4px 0 0; color: #45566b; font-size: .84rem; overflow-wrap: anywhere; }
[data-ops-list-card] .ops-facts { margin-bottom: 10px; }
.ops-package-lead { display: grid; gap: 5px; margin: 0 0 12px; padding: 10px; border: 1px solid #c8d8e8; border-radius: 9px; background: #f7faff; color: #45566b; font-size: 12px; overflow-wrap: anywhere; }
.ops-package-lead { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 14px; }
.ops-package-lead > span { min-width: 0; overflow-wrap: anywhere; }
.ops-package-lead .ops-package-status { grid-column: 1 / -1; }
.ops-package-lead strong { color: #173b68; font-weight: 700; }
.ops-package-lead a { color: #174e7a; }
.ops-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; margin: 0 0 18px; }
.ops-facts div { min-width: 0; }
.ops-facts dt, .ops-package-label { color: #607083; font-size: .82rem; }
.ops-facts dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.ops-package-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ops-package { min-width: 0; padding: 12px; border: 1px solid var(--line, #d9e0e7); border-radius: 10px; }
.ops-package strong { display: block; overflow-wrap: anywhere; }
.ops-package .ops-factory-number { display: block; margin-top: 3px; color: #45566b; font-size: .78rem; overflow-wrap: anywhere; }
.ops-package-card-facts { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 8px; }
.ops-package-card-facts span { padding: 4px 7px; border-radius: 6px; background: #eef4f9; color: #45566b; font-size: .72rem; overflow-wrap: anywhere; }
.ops-package-card-facts b { color: #173b68; }
.ops-all-packages { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 12px; }
.ops-all-package-card { display: flex; flex-direction: column; gap: 12px; padding: 16px; background: #fff; box-shadow: 0 2px 10px rgba(24, 52, 79, .04); }
.ops-all-package-heading { display: grid; gap: 4px; min-width: 0; }
.ops-all-package-heading .ops-package-label { overflow-wrap: anywhere; }
.ops-all-package-heading strong { color: #173b68; font-size: 1.05rem; line-height: 1.3; }
.ops-all-package-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ops-all-package-facts > span { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 9px 10px; border-radius: 8px; background: #f2f6fa; overflow-wrap: anywhere; }
.ops-all-package-facts > span:last-child { grid-column: 1 / -1; }
.ops-all-package-facts small { color: #607083; font-size: .72rem; line-height: 1.25; }
.ops-all-package-facts b { color: #173b68; font-size: .84rem; line-height: 1.3; }
.ops-all-package-actions { margin-top: auto; padding-top: 2px; }
.ops-all-package-actions .ops-detail-button { flex: 1 1 120px; margin-top: 0; text-align: center; white-space: normal; }
.ops-package > .ops-identity { display: block; word-break: break-all; }
.ops-card-controls { display: flex; flex-wrap: wrap; gap: 6px; }
.ops-card-controls .ops-detail-button { min-width: 0; margin-top: 8px; }
.ops-planned-card:focus, [data-ops-queued-card]:focus { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-detail-button, .ops-back-button { margin-top: 10px; min-height: 44px; padding: 7px 12px; border: 1px solid var(--line, #d9e0e7); border-radius: 8px; background: #fff; color: inherit; cursor: pointer; }
.ops-detail-button:hover, .ops-back-button:hover { background: #f3f7fb; }
.ops-detail-button:focus-visible, .ops-back-button:focus-visible { outline: 2px solid #275e91; outline-offset: 2px; }
.ops-detail > p { margin: 8px 0 16px; }
.ops-identity { color: #607083; font-size: .78rem; overflow-wrap: anywhere; }
.ops-missing { color: #607083; }
@media (max-width: 600px) { .ops-project { padding: 14px; } .ops-facts { grid-template-columns: 1fr; } .ops-package > .ops-identity:last-of-type { max-width: min(100%, 28ch); text-wrap: balance; } }
@media (max-width: 559px) { .ops-package-lead,.ops-package-reference-editor form { grid-template-columns: minmax(0,1fr); } .ops-package-reference-editor button,.ops-package-reference-editor .ops-form-error { grid-column: 1; } .ops-package-lead > span { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid #e0e9f2; } .ops-package-lead > span strong { text-align: right; } }
@media (max-width: 559px) { .ops-package-card-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } .ops-package-card-facts span:last-child { grid-column: 1 / -1; } .ops-package > .ops-detail-button { width: 100%; } .ops-card-controls .ops-detail-button { flex: 1 1 120px; } }
@media (max-width: 559px) { .ops-all-package-card { padding: 12px; gap: 10px; } .ops-all-package-facts { gap: 6px; } .ops-all-package-actions .ops-detail-button { flex: 1 1 125px; } }
@media (max-width: 559px) { [data-ops-list-card] { padding: 12px; } .ops-list-card-heading { margin-bottom: 10px; } [data-ops-list-card] .ops-facts { gap: 5px; font-size: .82rem; } [data-ops-list-card] .ops-list-project-progress { margin-bottom: 8px; } [data-ops-list-card] .ops-list-project-actions { margin-bottom: 10px; } }
@media (max-width: 559px) { .ops-workspace-scope { flex-basis: 100%; margin-left: 0; } .ops-breadcrumb { gap: 2px 5px; } }
@media (max-width: 559px) { .ops-project-progress-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; } .ops-project-progress-grid button { min-height: 48px; padding: 5px 8px; } .ops-project-progress-grid strong { font-size: 17px; } }
@media (max-width: 559px) { .ops-contract-lift { grid-template-columns: minmax(0, 1fr) auto; } .ops-contract-lift-status { grid-column: 1 / -1; grid-row: 2; } .ops-contract-lift .ops-detail-button { grid-column: 2; grid-row: 1; } }
@media (max-width: 559px) { .ops-list-project-actions .ops-detail-button { flex: 1 1 135px; min-width: 0; } }
@media (max-width: 559px) { .ops-package-print-button { display: block; width: 100%; min-height: 44px; margin: 4px 0; text-align: center; } }
@media (max-width: 559px) { .ops-list-crew-filter .ops-detail-button { flex: 1 1 135px; min-width: 0; white-space: normal; } }
@media (max-width: 559px) { .ops-project-add-package { width: 100%; justify-content: center; white-space: normal; text-align: center; } }
@media (max-width: 559px) { .ops-order-summary-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1199px) { .ops-calendar-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 899px) { .ops-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 899px) { .ops-project-plan-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559px) { .ops-calendar-grid { grid-template-columns: minmax(0, 1fr); } .ops-calendar-navigation strong { order: -1; flex-basis: 100%; text-align: left; } .ops-calendar-navigation .ops-detail-button { flex: 1; } }
@media (max-width: 559px) {
  .ops-quick-plan-grid { grid-template-columns: minmax(0, 1fr); }
  .ops-quick-plan li .ops-detail-button { width: 100%; }
  #page-foreign-operations, #page-foreign-packages, #page-foreign-planner, #foreign-operations-root, .ops-planner, .ops-create, .ops-project, .ops-project-plan-layout { min-width: 0; max-width: 100%; }
  #foreign-operations-root { scroll-margin-top: 10px; }
  .ops-detail h2 { margin: 6px 0 8px; line-height: 1.25; }
  .ops-detail .ops-facts { gap: 7px; margin-bottom: 11px; }
  .ops-detail > .ops-back-button, .ops-detail > .ops-detail-button { margin: 3px 4px 3px 0; }
  .ops-detail > .ops-project-add-package { margin: 6px 0 10px; }
  .ops-create { grid-template-columns: minmax(0, 1fr); }
  .ops-create-fields { grid-template-columns: minmax(0, 1fr); }
  .ops-create-panel { min-width: 0; border: 1px solid #c8d8e8; border-radius: 10px; background: #fff; }
  .ops-create-panel summary { min-height: 44px; padding: 11px 13px; color: #173b68; font-weight: 700; cursor: pointer; }
  .ops-create-panel summary:focus-visible { outline: 2px solid #275e91; outline-offset: 2px; }
  .ops-create-panel form { margin: 0; border: 0; border-top: 1px solid #e4ebf3; border-radius: 0 0 10px 10px; box-shadow: none; }
  .ops-create-panel form h2 { display: none; }
  .ops-create-panel .ops-create-success { padding: 8px 10px; }
  .ops-create form { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 13px; border-color: #c8d8e8; box-shadow: 0 4px 14px rgba(20, 45, 70, .05); }
  .ops-create form::before { content: ''; height: 3px; margin: -13px -13px 2px; border-radius: 11px 11px 0 0; background: #2e7292; }
  .ops-create form > * { min-width: 0; }
  .ops-create h2 { color: #173b68; }
  .ops-create h2, .ops-create button { grid-column: 1 / -1; }
  .ops-create button, .ops-plan-inline button, .ops-plan-form button { width: 100%; }
  .ops-project .ops-planner > h3 { margin: 0 0 5px; padding-left: 9px; border-left: 3px solid #2e7292; color: #173b68; font-size: 17px; line-height: 1.3; }
  .ops-project .ops-planner > .ops-count { display: none; }
  .ops-project .ops-planner { scroll-margin-top: 10px; }
  #ops-project-planner-heading { scroll-margin-top: 10px; }
  .ops-project-plan-layout { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
  .ops-project-week-grid { display: contents; }
  .ops-project-week-grid > .ops-plan-week { order: 1; }
  .ops-project-week-grid > .ops-plan-week { padding: 10px; }
  .ops-planned-card { padding: 10px; }
  .ops-planned-card-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .ops-planned-card-dates { font-size: 12px; }
  .ops-planned-card .ops-crew-summary { margin-top: 7px; padding: 7px 8px; }
  .ops-planned-card > .ops-detail-button { width: 100%; margin-top: 8px; }
  .ops-week-crew-filter, .ops-week-filters { grid-template-columns: minmax(0, 1fr); }
  .ops-project-queue { order: 2; margin-top: 0; }
  .ops-project-week-grid > .ops-week-crew { order: 3; }
  .ops-selected-week-heading { align-items: center; margin-bottom: 8px; }
  .ops-selected-week-heading h4 { margin: 0; }
  .ops-selected-week-heading span { padding: 4px 7px; border-radius: 6px; background: #eaf2fa; color: #173b68; }
  .ops-project-week-navigation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .ops-project-week-navigation strong { grid-column: 1 / -1; grid-row: 1; margin: 0; padding: 0 1px 2px; font-size: 12px; text-align: left; }
  .ops-project-week-navigation .ops-detail-button { width: 100%; min-width: 0; min-height: 48px; padding: 6px 5px; font-size: 11px; line-height: 1.2; white-space: normal; overflow-wrap: anywhere; }
  .ops-project-week-navigation [data-ops-project-today] { border-color: #275e91; color: #173b68; font-weight: 700; }
  .ops-project-week-strip { scroll-padding-inline: 4px; }
  .ops-plan-form { grid-template-columns: minmax(0, 1fr); max-width: 100%; }
  .ops-plan-form .ops-plan-week { max-width: none; }
  .ops-project-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .ops-project-controls > label { min-width: 0; }
  .ops-crew-choices { grid-template-columns: minmax(0, 1fr); }
  .ops-crew-actions button { flex: 1 1 130px; }
}
@page { size: A4 portrait; margin: 12mm; }
@media print {
  body:has(.page.is-active .ops-print-sheet) *:not(:has(.ops-print-sheet)):not(.ops-print-sheet):not(.ops-print-sheet *) { display: none !important; }
  body:has(.page.is-active .ops-print-sheet) *:has(.ops-print-sheet) { display: block !important; width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: #fff !important; }
  .ops-print-sheet { display: block !important; position: static; color: #111; background: #fff; font: 8.5pt/1.3 Arial, sans-serif; }
  .ops-print-sheet header { border-bottom: 1px solid #555; margin-bottom: 8mm; padding-bottom: 3mm; }
  .ops-print-sheet h1 { margin: 0 0 2mm; font-size: 16pt; }
  .ops-print-sheet header p { margin: 0; }
  .ops-package-print-caveat { padding: 2mm 3mm; border: 1px solid #999; font-size: 8pt; }
  .ops-package-print-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 6mm; margin: 4mm 0; }
  .ops-package-print-facts div { break-inside: avoid; padding: 2mm 0; border-bottom: 1px solid #ccc; overflow-wrap: anywhere; }
  .ops-package-print-facts dt { color: #555; font-size: 7.5pt; }
  .ops-package-print-facts dd { margin: 1mm 0 0; font-weight: 600; }
  .ops-print-section { margin: 0 0 6mm; break-inside: avoid-page; }
  .ops-print-section h2 { margin: 0 0 2mm; font-size: 11pt; }
  .ops-print-section h2 small { font-weight: normal; }
  .ops-print-section table { width: 100%; border-collapse: collapse; table-layout: fixed; }
  .ops-print-section th, .ops-print-section td { padding: 2mm 1.5mm; border-bottom: 1px solid #bbb; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
  .ops-print-actual { display: block; margin-top: 1mm; font-size: 7.5pt; line-height: 1.25; }
  .ops-print-section th:nth-child(1), .ops-print-section td:nth-child(1) { width: 12%; }
  .ops-print-section th:nth-child(2), .ops-print-section td:nth-child(2) { width: 18%; }
  .ops-print-section th:nth-child(3), .ops-print-section td:nth-child(3) { width: 14%; }
  .ops-print-section th:nth-child(4), .ops-print-section td:nth-child(4) { width: 14%; }
  .ops-print-section th:nth-child(5), .ops-print-section td:nth-child(5) { width: 16%; }
  .ops-print-section th:nth-child(6), .ops-print-section td:nth-child(6) { width: 13%; }
  .ops-print-section th:nth-child(7), .ops-print-section td:nth-child(7) { width: 13%; }
  .ops-print-section thead { display: table-header-group; }
  .ops-print-section tr { break-inside: avoid; }
}

.ops-planner-housing { min-height: 44px; margin: 0; }
@media (max-width: 620px) { .ops-week-controls .ops-planner-housing { width: 100%; } .ops-summary-links .ops-planner-housing { flex: 1 1 100%; } }
@media (max-width: 620px) { .ops-planner-contact, .ops-planner-contact label { display: grid; } .ops-planner-contact select, .ops-planner-contact button { width: 100%; } }
