
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f7fb;color:#172033}
.shell{display:flex;min-height:100vh}.side{width:292px;background:#111827;color:#fff;padding:18px;position:fixed;inset:0 auto 0 0;overflow:auto}
.brand{font-size:22px;font-weight:700}.version{font-size:12px;color:#9ca3af;margin:4px 0 16px}.nav-group{margin:16px 0 6px;color:#9ca3af;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.nav button{display:block;width:100%;text-align:left;padding:9px 11px;margin:3px 0;border:0;border-radius:8px;background:transparent;color:#d1d5db;cursor:pointer}.nav button:hover,.nav button.active{background:#374151;color:#fff}
.nav-search{position:sticky;top:0;z-index:1;background:#fff;color:#111827}.nav [hidden]{display:none}
.nav-mode{display:block;width:100%;margin-top:8px;padding:8px 10px;border:1px solid #4b5563;border-radius:8px;background:#1f2937;color:#fff;text-align:left;cursor:pointer}
.main{margin-left:292px;flex:1}.top{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 22px;display:flex;justify-content:space-between;align-items:center}
.content{padding:22px}.title{margin:0 0 6px}.muted{color:#6b7280}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.metric{font-size:27px;font-weight:700;margin-top:6px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e5e7eb;font-size:12px}
.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.btn{border:0;border-radius:8px;padding:9px 13px;background:#111827;color:#fff;cursor:pointer}.btn.secondary{background:#e5e7eb;color:#111827}.btn.danger{background:#991b1b}
.table-wrap{overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}th{background:#f9fafb;white-space:nowrap}
.section{margin-top:18px}.good{color:#047857;font-weight:700}.warn{color:#b45309;font-weight:700}.bad{color:#b91c1c;font-weight:700}
input,select{padding:9px;border:1px solid #d1d5db;border-radius:8px;background:#fff;width:100%}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}

.rack-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.rack{border-collapse:separate;border-spacing:0;min-width:1100px}
.rack th,.rack td{min-width:110px;padding:8px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.rack th:first-child,.rack td:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:120px}
.cell-free{background:#f9fafb}.cell-needs-hk{background:#fff3d6}.cell-res{background:#e0f2fe}.cell-inhouse{background:#dcfce7}.cell-block{background:#fee2e2}.cell-oos{background:#fef3c7}
.rack-cell{min-height:48px;font-size:12px;cursor:pointer}.rack-cell b{display:block}

.rate-grid{overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px}
.rate-grid table{min-width:1200px}
.rate-cell{cursor:pointer;min-width:120px}
.rate-cell .amt{font-weight:700}
.rule{font-size:10px;margin-right:3px;padding:2px 4px;border-radius:4px;background:#e5e7eb}
.rule.stop{background:#fee2e2}.rule.min{background:#fef3c7}.rule.cta,.rule.ctd{background:#dbeafe}.rule.ob{background:#dcfce7}

.quote-note{font-size:12px;color:#6b7280}

.credit-good{color:#047857;font-weight:700}.credit-warn{color:#b45309;font-weight:700}

.group-status{font-size:11px;padding:3px 6px;border-radius:999px;background:#e5e7eb}

.ops-open{font-weight:700}.ops-sla-breach{font-weight:700}

.stock-low{font-weight:700}.stock-ok{font-weight:700}

.finance-positive{font-weight:700}.finance-negative{font-weight:700}

.people-chip{font-size:11px;padding:3px 6px;border-radius:999px;background:#e5e7eb}

.crm-vip{font-weight:700}.crm-flag{font-weight:700}

.sync-pending{font-weight:700}.sync-success{font-weight:700}

.booking-total{font-size:22px;font-weight:700}.promo-code{font-weight:700}

.revenue-high{font-weight:700}.revenue-medium{font-weight:700}.revenue-low{font-weight:700}

.bi-kpi{font-size:24px;font-weight:700}.bi-alert{font-weight:700}

.network-kpi{font-size:24px;font-weight:700}.variance-pos{font-weight:700}.variance-neg{font-weight:700}

.franchise-score{font-size:24px;font-weight:700}.critical-finding{font-weight:700}

.quality-score{font-size:26px;font-weight:700}.case-high{font-weight:700}

.task-critical{font-weight:700}.task-overdue{font-weight:700}.task-sla{font-weight:700}

.guest-journey{font-weight:700}.mobile-key{font-family:monospace}.upsell-price{font-size:22px;font-weight:700}

.payment-ok{font-weight:700}.payment-refund{font-weight:700}.recon-mismatch{font-weight:700}

.security-high{font-weight:700}.security-role{font-weight:700}.session-revoked{opacity:.7}

.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f5f5}
.login-card{width:min(420px,100%);background:white;border:1px solid #ddd;border-radius:18px;padding:28px;box-shadow:0 12px 40px rgba(0,0,0,.08)}
.login-card label{display:block;margin:14px 0}
.login-card input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:11px;border:1px solid #ccc;border-radius:9px}

#propertySwitcher{padding:8px 10px;border:1px solid #ccc;border-radius:9px;background:white}

.pos-total{font-size:24px;font-weight:700}.pos-void{opacity:.6;text-decoration:line-through}

.kds-ready{font-weight:700}.food-cost{font-weight:700}.shift-closed{opacity:.75}

.sla-breach{font-weight:700}.stock-alert{font-weight:700}.fnb-margin{font-size:24px;font-weight:700}

.table-occupied{font-weight:700}.waitlist-active{font-weight:700}.cover-utilization{font-size:24px;font-weight:700}

.floor-plan{position:relative;min-height:320px;background:#fafafa;border:1px solid #ddd;border-radius:16px;overflow:auto}
.floor-table{position:absolute;width:88px;height:88px;border:2px solid #777;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.floor-table.occupied{border-width:4px}
.floor-table span,.floor-table small{font-size:11px}
.timeline{display:grid;gap:10px}

.heatmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.heat-cell{border:1px solid #ddd;border-radius:12px;padding:12px;background:white;display:flex;flex-direction:column;gap:4px}
.heat-cell span{font-size:18px;font-weight:700}
.revpash{font-weight:700}

.vip-dining{font-weight:700}
.guest-recognition{display:grid;gap:10px}
.prearrival-action{border-left:4px solid #777;padding-left:10px}

.message-inbound{border-left:4px solid #888;padding-left:10px}
.message-outbound{border-left:4px solid #bbb;padding-left:10px}
.comms-channel{font-weight:700}

.automation-rule{border-left:4px solid #777;padding-left:10px}
.scheduled-message{font-weight:600}
.opt-out{opacity:.7}

.automation-event{border-left:4px solid #777;padding-left:10px}.service-recovery{font-weight:600}

.ops-critical{font-weight:700}
.command-center{display:grid;gap:12px}
.handover-item{border-left:4px solid #777;padding-left:10px}

.executive-kpi{font-size:24px;font-weight:700}.executive-attention{border-left:4px solid #777;padding-left:10px}.daily-brief{line-height:1.6}

.ai-critical{font-weight:700}
.ai-insight{border-left:4px solid #777;padding-left:10px}
.ai-advisory{font-size:12px;opacity:.8}

.copilot-chat{display:grid;gap:10px;max-height:460px;overflow:auto}
.copilot-msg{padding:12px;border:1px solid #ddd;border-radius:12px;background:white}
.copilot-msg.user{margin-left:12%}.copilot-msg.assistant{margin-right:12%}
.copilot-msg small{opacity:.65}

.agent-card{min-height:160px}.agent-handoff{border-left:4px solid #777;padding-left:10px}

.revenue-signal{font-weight:700}.scenario-note{font-size:12px;opacity:.75}

.controlled-rate-diff{font-weight:600}.rollback-warning{font-size:12px;opacity:.8}

.property-pricing-badge{font-weight:700}

.distribution-scope{font-weight:700}

.commercial-master-scope{font-weight:700}

.property-pricing-settings{font-weight:700}

.commercial-contracts{font-weight:700}

.group-property-scope{font-weight:700}

.billing-core{font-weight:700}

.night-audit-cashier{font-weight:700}

.hk-operational-day{font-weight:700}

.front-desk-control{font-weight:700}

.reservation-lifecycle{font-weight:700}

.guest-ledger-control{font-weight:700}

.accounts-receivable{font-weight:700}

.financial-posting-bridge{font-weight:700}

.financial-close-control{font-weight:700}

.bank-reconciliation-control{font-weight:700}

.merchant-settlement-control{font-weight:700}

.payment-risk-control{font-weight:700}

.payment-authorization-control{font-weight:700}

.guarantee-policy-control{font-weight:700}

.collection-automation-control{font-weight:700}

.revenue-protection-control{font-weight:700}

.displacement-control{font-weight:700}

.upgrade-optimization-control{font-weight:700}

.profitability-control{font-weight:700}

.demand-intelligence-control{font-weight:700}

.commercial-command-center{font-weight:700}

.sales-pipeline-control{font-weight:700}

.contract-rfp-control{font-weight:700}

.contract-rate-strategy-control{font-weight:700}

.negotiation-workspace-control{font-weight:700}

.contract-award-control{font-weight:700}

.corporate-rate-eligibility-control{font-weight:700}

.corporate-booking-portal-control{font-weight:700}

.corporate-portal-access-control{font-weight:700}

.corporate-self-service-booking{font-weight:700}

.corporate-approval-center{font-weight:700}

.corporate-billing-control{font-weight:700}

.corporate-ar-control{font-weight:700}

.corporate-credit-control{font-weight:700}

.account-health-renewal-control{font-weight:700}

.account-plan-growth-control{font-weight:700}

.qbr-workspace-control{font-weight:700}

.executive-account-cockpit-control{font-weight:700}

.executive-portfolio-control{font-weight:700}

.network-contract-rfp-control{font-weight:700}

.network-production-control{font-weight:700}

.network-forecast-risk-control{font-weight:700}

.network-pricing-governance-control{font-weight:700}

.network-deal-economics-control{font-weight:700}

.commercial-governance-control{font-weight:700}

.executive-committee-control{font-weight:700}

.commercial-calendar-control{font-weight:700}

.commercial-risk-radar-control{font-weight:700}

.executive-command-center{font-weight:700}

.i18n-switcher{position:fixed;right:14px;top:10px;z-index:10000;display:flex;gap:4px;padding:4px;border:1px solid #d1d5db;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.i18n-switcher button{border:0;background:transparent;padding:6px 8px;border-radius:7px;font-weight:700;cursor:pointer;font-size:12px}
.i18n-switcher button.active{background:#111827;color:white}
@media(max-width:700px){.i18n-switcher{right:6px;top:6px}.i18n-switcher button{padding:5px 6px}}

.commercial-intervention-orchestration{font-weight:700}

.intervention-effectiveness-learning{font-weight:700}

.playbook-governance-controlled-optimization{font-weight:700}

.playbook-pilot-controlled-rollout{font-weight:700}

.playbook-rollout-adoption-assurance{font-weight:700}

.playbook-stabilization-monitoring{font-weight:700}

.benefits-standardization-network-standard{font-weight:700}

.network-standards-compliance{font-weight:700}

.franchise-enforcement-governance{font-weight:700}

.network-excellence-scorecard{font-weight:700}

.network-budget-targets{font-weight:700}

.executive-performance-cockpit{font-weight:700}

.executive-forecast-owner-center{font-weight:700}

.owner-scenario-planning{font-weight:700}

.recovery-portfolio-optimization{font-weight:700}

.capital-planning-committee{font-weight:700}

.investment-return-tracking{font-weight:700}

.asset-lifecycle-planning{font-weight:700}

.reliability-management{font-weight:700}

.energy-sustainability-management{font-weight:700}

.procurement-intelligence{font-weight:700}

.contract-spend-management{font-weight:700}

.procurement-budget-category{font-weight:700}

.inventory-optimization{font-weight:700}

.demand-replenishment-planning{font-weight:700}

.central-buying{font-weight:700}

.rfq-tendering{font-weight:700}

.negotiation-bafo{font-weight:700}

.supplier-compliance{font-weight:700}

.continuous-compliance{font-weight:700}

.supplier-portal-admin{font-weight:700}

/* Supplier bill workspace: keep labelled inputs inside their grid cells. */
[data-ap-form] input,[data-ap-form] select,[data-ap-payment] select{box-sizing:border-box;min-width:0}
[data-ap-form] label{min-width:0}
[data-ap-form] label>span,[data-ap-payment] label>span{display:block;margin-bottom:6px}
[data-ap-result]{overflow-wrap:anywhere}

.ap-report-toggle{display:flex;align-items:center;gap:8px}.ap-report-toggle input{width:auto}
[data-ap-report-search]{box-sizing:border-box}

/* v631: one hybrid rack: category inventory, unassigned lanes, physical rooms. */
.rack-hybrid {min-width:1060px;table-layout:fixed;width:100%}
.rack-hybrid th:first-child {width:150px;text-align:left}
.rack-hybrid td {padding:3px;height:48px}
.rack-hybrid th small {display:block;font-size:11px;font-weight:400}
.rack-hybrid .rack-category th {font-size:15px;padding:12px 8px;background:var(--panel,#eef2f6)}
.rack-hybrid .rack-availability td {text-align:center;height:32px}
.rack-hybrid .rack-unassigned-row td {height:40px;border-bottom-style:dashed}
.rack-booking {display:block;width:100%;height:100%;min-height:42px;text-align:left;border:1px solid currentColor;border-radius:5px;padding:6px;cursor:pointer;background:transparent;color:inherit;overflow:hidden}
.rack-booking[draggable="true"] {cursor:grab}
.rack-booking b,.rack-booking small {display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rack-hybrid button.rack-cell {display:block;width:100%;border:0;background:transparent;color:inherit;cursor:pointer;min-height:38px}
.rack-controls {flex-wrap:wrap;gap:8px}
.rack-hybrid [data-release-type] {min-height:38px}
.rack-booking:focus-visible,.rack-hybrid button.rack-cell:focus-visible {outline:3px solid currentColor;outline-offset:2px}
.rack-hybrid th small {white-space:normal}
.rack-hybrid .rack-hk {display:block;max-width:100%;margin-top:4px;padding:4px 7px;white-space:normal}

/* v632: accessible date-review edge and bounded modal. */
.rack-booking-wrap{position:relative;height:100%;min-height:42px}
.rack-booking-wrap .rack-booking{padding-right:30px}
.rack-resize{position:absolute;right:0;top:0;bottom:0;width:28px;min-height:42px;border:1px solid currentColor;background:transparent;color:inherit;cursor:ew-resize;border-radius:0 5px 5px 0}
.rack-resize:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.extension-dialog{box-sizing:border-box;width:min(680px,94vw);max-height:90vh;overflow:auto;border:1px solid currentColor;border-radius:12px;padding:24px;background:var(--panel,#fff);color:var(--text,#182336)}
.extension-dialog::backdrop{background:rgba(0,0,0,.4)}
.extension-dialog input[type="checkbox"]{margin-right:8px}
.extension-dialog table{width:100%}

.extension-dialog label:has(input[type="checkbox"]){display:flex;align-items:flex-start;gap:8px}
.extension-dialog input[type="checkbox"]{width:auto;flex:none;margin:3px 0 0}

/* v633: reviewed date amendments */
.date-change-dialog{width:min(840px,94vw)}
.date-change-policy{padding:12px;border-left:4px solid currentColor;background:var(--bg,#f5f7fa)}
.date-change-totals{padding:10px 0;border-top:1px solid currentColor}
.date-change-dialog textarea{width:100%;box-sizing:border-box;min-height:68px}
.date-change-dialog form>label{margin:10px 0;display:block}
.date-change-dialog form>label:has(input[type="checkbox"]){display:flex}

/* v634: review-only amendment workspace */
.amendment-workspace{width:min(1060px,calc(100vw - 24px));max-height:92vh;overflow:auto;box-sizing:border-box}
.amendment-workspace .toolbar{flex-wrap:wrap}.amendment-workspace label{display:block;margin:12px 0}
.amendment-workspace textarea{width:100%;min-height:78px;box-sizing:border-box;resize:vertical}
.amendment-workspace details>summary{cursor:pointer;font-weight:600;padding:12px 0}
.amendment-workspace .amendment-summary{margin:14px 0}.amendment-workspace .amendment-blockers{border-left:3px solid #d88c2e;padding-left:14px}
.amendment-workspace .amendment-history{overflow-wrap:anywhere;border-top:1px solid #dde3ec;padding-top:10px}
.amendment-workspace .table-wrap{overflow:auto}.amendment-workspace .bad{color:#a32020}
@media(max-width:600px){.amendment-workspace .formgrid{grid-template-columns:1fr}.amendment-workspace{padding:14px}.amendment-workspace .btn{margin-bottom:6px}}

/* v636 read-only amendment history, without shrinking the action targets. */
.amendment-history-table td {vertical-align:top; min-width:140px; overflow-wrap:anywhere;}
.amendment-history-table .btn {white-space:normal; margin-top:.5rem;}
#amendmentReadBody [data-i18n-ignore] {overflow-wrap:anywhere;}

/* v656: protected room assignment badge; state is also conveyed in text. */
.rack-assignment-lock { font-weight:700; text-decoration:underline; }
#roomProtectionPanel textarea { min-height:70px; width:100%; }
#roomProtectionPanel label { display:block; margin:10px 0; }
#assignmentReview details table { margin-top:8px; }
#roomProtectionPanel textarea { box-sizing:border-box; resize:vertical; }
#roomProtectionPanel label:has(input[type="checkbox"]) { display:flex; align-items:flex-start; gap:8px; }
#roomProtectionPanel input[type="checkbox"] { width:auto; flex:0 0 auto; margin:2px 0 0; }

/* v657: contain wide operational tables within the main workspace. */
.main{min-width:0}
#roomRequirementsPanel{min-width:0;max-width:100%;scroll-margin-top:90px}
#roomRequirementsPanel .table-wrap{max-width:100%}
#roomRequirementsPanel table{min-width:880px}
#roomRequirementsPanel th{white-space:normal}
#roomRequirementsPanel td{vertical-align:top}
#roomRequirementsPanel summary{cursor:pointer;margin-top:12px}
#roomRequirementsForm>label{display:block;margin:12px 0}
#roomRequirementsForm textarea{display:block;width:100%;min-height:76px;box-sizing:border-box;resize:vertical;border:1px solid #d1d5db;border-radius:8px;padding:9px;margin-top:6px;font:inherit}
#roomRequirementsForm>label:has(input[type="checkbox"]){display:flex;align-items:flex-start;gap:8px}
#roomRequirementsForm input[type="checkbox"]{width:auto;flex:0 0 auto;margin:2px 0 0}
#roomRequirementsForm .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#roomRequirementsForm .formgrid label{min-width:0}
@media(max-width:800px){#roomRequirementsForm .formgrid{grid-template-columns:minmax(0,1fr)}}

/* v658: keep import conflicts and their before/after evidence readable in place. */
#pilotMasterReconciliation .pilot-reconciliation-table{table-layout:fixed;min-width:0;width:100%}
#pilotMasterReconciliation .pilot-reconciliation-table th,
#pilotMasterReconciliation .pilot-reconciliation-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
#pilotMasterReconciliation .pilot-requirement-details{margin-top:12px}
#pilotMasterReconciliation .pilot-requirement-details summary{cursor:pointer;font-weight:600}
#pilotMasterReconciliation .pilot-reconciliation-table p{margin:8px 0}

/* v661: shared plan review stays usable with keyboard, touch and narrow screens. */
#rackStayAssignmentPanel .stay-plan-reason{display:block;margin:18px 0 14px;font-weight:600}
#rackStayAssignmentPanel textarea{display:block;box-sizing:border-box;width:100%;min-height:78px;margin-top:8px;padding:10px 12px;border:1px solid #ccd2db;border-radius:8px;font:inherit;resize:vertical}
#rackStayAssignmentPanel .stay-plan-confirm{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-weight:400}
#rackStayAssignmentPanel .stay-plan-confirm input{width:18px;height:18px;flex:0 0 auto;margin:2px 0}
#rackStayAssignmentPanel .stay-capacity-warning{display:block;white-space:normal;margin-top:6px}
#rackStayAssignmentPanel #stayPlanApply{margin-top:4px;white-space:normal}
#rackStayAssignmentPanel [data-stay-plan-res]{max-width:260px;white-space:normal;text-align:left}
#rackStayAssignmentPanel button:focus-visible,#rackStayAssignmentPanel textarea:focus-visible{outline:3px solid #2563eb;outline-offset:2px}

/* v662: read-only arrival preparation evidence */
#arrivalReadyTable td { vertical-align:top; min-width:110px; }
#arrivalReadyTable td:last-child { min-width:260px; max-width:560px; }
#arrivalReadyTable p { margin:0.35rem 0; }
#arrivalReadyTable small { display:block; margin-top:0.35rem; }
#arrivalReadyTable details { margin-top:0.7rem; }
#arrivalReadyTable summary { cursor:pointer; font-weight:600; }
#arrivalReadyDays { max-width:90px; }

/* v663: confirmation of an arrival preparation task, scoped to the new panel. */
#arrivalPreparationPanel .arrival-task-reason {display:block;margin:18px 0 14px}
#arrivalPreparationPanel .arrival-task-reason textarea {display:block;width:100%;min-height:96px;box-sizing:border-box;margin-top:7px;padding:10px 12px;font:inherit;line-height:1.5;border:1px solid #cdd4df;border-radius:8px;resize:vertical}
#arrivalPreparationPanel .arrival-task-confirm {display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:10px 0 14px}
#arrivalPreparationPanel .arrival-task-confirm input {width:auto;margin-top:4px;flex:0 0 auto}
#arrivalPreparationPanel #arrivalTaskRefresh {margin-bottom:14px}
#arrivalPreparationPanel [role="status"]:empty {display:none}

/* v665: scoped reconciliation filters; leave existing task forms unchanged. */
.arrival-recon-filters{flex-wrap:wrap;gap:16px;justify-content:flex-start}
.arrival-recon-filters label{display:inline-flex;align-items:center;gap:8px;margin:0}
.arrival-recon-filters input[type="checkbox"]{width:auto;margin:0}

/* Native import recovery: contain JSON and long operation IDs within the workspace. */
#pilotImportRecovery{overflow:hidden;min-width:0}
#pilotImportRecovery textarea{display:block;width:100%;box-sizing:border-box;margin:8px 0 14px}
#pilotImportRecovery .toolbar{flex-wrap:wrap;justify-content:flex-start;gap:12px;margin:12px 0}
#pilotImportRecovery .pilot-import-detail{margin-top:18px;border-top:1px solid #334155;padding-top:14px}
#pilotImportRecovery pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px}
#pilotImportRecovery code{overflow-wrap:anywhere;word-break:break-word}
#pilotImportRecovery label{line-height:1.6}
#pilotImportRecovery{scroll-margin-top:140px;overflow-wrap:anywhere}
#pilotImportRecovery .table-wrap{max-width:100%}
#pilotImportRecovery th{white-space:normal}
#pilotImportRecovery td{vertical-align:top}
#pilotImportRecovery textarea{font:inherit;line-height:1.5;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;resize:vertical;min-height:76px}
#pilotImportRecovery label:has(input[type="checkbox"]){display:flex;align-items:flex-start;gap:10px;margin:14px 0}
#pilotImportRecovery input[type="checkbox"]{width:auto;flex:0 0 auto;margin:5px 0 0}
#pilotImportRecovery .btn{max-width:100%;white-space:normal}
#pilotImportRecovery summary{cursor:pointer;margin:12px 0;font-weight:600}
#pilotImportRecovery :is(button,textarea,input):focus-visible{outline:3px solid #2563eb;outline-offset:2px}
/* Keep every navigation item, but place its scrolling area above this workspace on a narrow screen. */
@media(max-width:700px){
 .shell:has(#pilotImportRecovery){display:block}
 .shell:has(#pilotImportRecovery) .side{position:relative;inset:auto;width:100%;max-height:190px;overflow:auto}
 .shell:has(#pilotImportRecovery) .main{margin-left:0;width:100%}
 .shell:has(#pilotImportRecovery) .top{position:relative;flex-wrap:wrap;gap:12px;padding:14px}
 .shell:has(#pilotImportRecovery) .content{padding:14px}
 .shell:has(#pilotImportRecovery) .top input,.shell:has(#pilotImportRecovery) .top select{max-width:100%}
 #pilotImportRecovery{padding:12px;scroll-margin-top:12px}
 #pilotImportRecovery table{min-width:620px}
}

/* RC2: keep long import history within its own scrollable workspace. */
#pilotImportRecovery .table-wrap { max-height: 30rem; overflow: auto; }
#pilotImportRecovery .table-wrap thead { position: sticky; top: 0; z-index: 1; background: var(--panel, #fff); }
