:root{--ink:#123e50;--teal:#008b94;--mint:#20b9bd;--muted:#557783;--line:#d4e4e7;--bg:#f2f8f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.6 Arial,"PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink)}[hidden]{display:none!important}header{background:white;border-top:5px solid var(--mint);border-bottom:1px solid var(--line);padding:24px 4%;display:flex;align-items:center;gap:25px}header img{width:255px;height:auto}.brand{border-left:1px solid var(--line);padding-left:25px}.brand strong{font-size:18px}.brand small{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted)}#identity{margin-left:auto;font-size:13px}main{max-width:1500px;margin:28px auto;padding:0 30px 50px}h1{font-size:29px;line-height:1.35;margin:10px 0}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:20px 0 10px}p{color:var(--muted)}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;color:var(--teal)}header{flex-wrap:wrap}.header-status{display:flex;flex:1 1 430px;align-items:center;gap:16px;min-width:0}.header-status #identity{margin-left:0;order:0}.header-status #connection{order:1;margin-left:auto}.header-status{flex-wrap:wrap}nav{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 24px}.card{padding:28px;background:white;border:1px solid var(--line);border-top:3px solid var(--mint);border-radius:14px;margin-bottom:22px;min-width:0}.compact{padding:20px 25px}.narrow{max-width:440px;margin:65px auto}.columns{display:grid;grid-template-columns:minmax(360px,1fr) minmax(400px,1.15fr);gap:25px;align-items:start}.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row h2{margin:0}.hint,small{font-size:12px;color:var(--muted)}label{display:block;font-weight:600;font-size:13px;margin:12px 0}input,select,textarea{display:block;width:100%;margin:6px 0 0;border:1px solid #b8ced4;border-radius:7px;padding:10px;color:var(--ink);background:white;font:inherit}input[type=checkbox]{display:inline;width:auto;margin-right:7px}input:focus,textarea:focus,select:focus{outline:2px solid #b6eeed;outline-offset:1px}button,nav a,.button{display:inline-block;text-decoration:none;background:white;color:var(--ink);border:1px solid #b8ced4;border-radius:7px;padding:9px 14px;font:inherit;font-size:13px;cursor:pointer;margin:3px 3px 3px 0}button:hover,nav a:hover{border-color:var(--teal);background:#f0fafa}button:disabled{opacity:.5;cursor:not-allowed}.primary,nav .selected{background:var(--teal);border-color:var(--teal);color:white}.primary:hover,nav .selected:hover{background:#006d77;color:white}.danger{color:#a12637;border-color:#dbb8be}.badge{display:inline-block;padding:4px 10px;background:#eaf5f5;border-radius:20px;font-size:12px;white-space:nowrap}.alert{background:#ffe7eb;color:#9a2537}.review{background:#fff4d2;color:#7a590a}.checks{display:flex;flex-wrap:wrap;gap:5px 18px}.checks label{margin:5px 0}fieldset{border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:12px}legend{font-size:13px;font-weight:600}.inline{font-weight:normal}.job{border-bottom:1px solid var(--line);padding:18px 0}.job:last-child{border-bottom:0}.job p{margin:6px 0;font-size:13px}.job .actions{margin-top:12px}.job progress{width:100%;height:8px;accent-color:var(--teal)}.prompt{padding:14px;background:#eef8f8;border-left:3px solid var(--teal);margin-top:10px;white-space:pre-wrap}.log{max-height:320px;overflow:auto;white-space:pre-wrap;font:12px/1.6 ui-monospace,monospace;background:#f4f7f8;padding:15px;user-select:text}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:18px;font-size:13px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef6f7;white-space:nowrap}td{overflow-wrap:anywhere}.empty{padding:20px 0;color:var(--muted)}#message{position:sticky;top:12px;z-index:5;border:1px solid #98cbcc;background:#eafffd;padding:14px;border-radius:9px;margin-bottom:18px;white-space:pre-wrap}#message.error{background:#fff0f2;border-color:#e0a9b2;color:#942139}dialog{border:1px solid var(--line);border-radius:15px;padding:28px;width:min(750px,90vw);max-height:85vh;overflow:auto}dialog::backdrop{background:#133b5066}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}hr{border:0;border-top:1px solid var(--line);margin:25px 0}@media(max-width:950px){.columns{grid-template-columns:1fr}.brand{display:none}main{padding:0 18px 35px}header img{width:215px}}@media(max-width:500px){.grid{grid-template-columns:1fr}header{padding:15px}.card{padding:20px}h1{font-size:24px}}
.archive-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.archive-search{display:flex;align-items:flex-end;gap:14px}.archive-search label{flex:1;margin-bottom:4px}.archive-search button{margin-bottom:4px;white-space:nowrap}.archive-counts{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:13px;margin:20px 0}.archive-counts>span:not(.badge){color:var(--muted)}.archive-date{border:1px solid var(--line);border-radius:10px;margin:15px 0;overflow:hidden}.archive-date>summary{padding:17px 20px;cursor:pointer;background:#eef8f8;color:var(--ink)}.archive-date>summary strong{margin-right:20px;font-size:17px}.archive-date>summary span{font-size:12px;color:var(--muted)}.archive-date-body{padding:0 20px}.archive-category{padding:20px 0;border-bottom:1px solid var(--line)}.archive-category:last-child{border:0}.archive-category h3{margin:0}.archive-category .row{flex-wrap:wrap}.archive-category table{margin-top:12px}.archive-category th{font-size:12px}.archive-filename{font-size:12px;min-width:160px;color:var(--muted)}.archive-time{min-width:155px}.archive-actions{min-width:140px;white-space:nowrap}.file-kind{font-weight:600;white-space:nowrap}.corrected-tag{display:block;color:var(--teal);margin-top:5px}.match-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.match-controls{min-width:175px}.match-controls select{min-width:200px;margin:8px 0}.match-controls .hint{display:inline-block;line-height:1.6}@media(max-width:950px){.archive-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.archive-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.archive-search{display:block}.archive-date>summary{padding:14px}.archive-date>summary span{display:block;margin-left:17px}.archive-date-body{padding:0 12px}}

.archive-operator{border:1px solid #aecdd1;border-radius:12px;margin:18px 0;overflow:hidden}.archive-operator>summary{padding:18px 20px;cursor:pointer;background:#dff1f1}.archive-operator>summary strong{font-size:18px;margin-right:20px}.archive-operator>summary span,.archive-type>summary span{font-size:12px;color:var(--muted)}.archive-operator-body{padding:0 18px}.archive-date>summary strong{font-size:15px}.archive-type{margin:12px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.archive-type>summary{cursor:pointer;padding:13px 15px;background:#fafdfd}.archive-type>summary strong{margin-right:15px;font-size:14px}.archive-type-body{padding:0 12px 12px}.archive-type table{margin-top:4px}.archive-type td small{display:block;margin-top:5px;color:var(--muted)}.archive-type .corrected-tag{color:var(--teal)}.archive-search{flex-wrap:wrap}.archive-search label{min-width:200px}@media(max-width:600px){.archive-operator>summary{padding:14px}.archive-operator>summary span,.archive-type>summary span{display:block;margin-left:16px}.archive-operator-body{padding:0 8px}.archive-date-body{padding:0 8px}.archive-type-body{padding:0 6px 8px}}
.case-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:end}.case-filters button{margin-bottom:12px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 16px}.metric{border:1px solid var(--line);border-radius:10px;padding:20px;background:#f8fcfc;min-width:0}.metric>span{font-size:13px;font-weight:600}.metric>strong{display:block;font-size:36px;line-height:1.3;margin:8px 0;letter-spacing:-1px}.metric small{display:block}.metric.alert{background:#fff7f8;border-color:#efd1d8}.metric.review{background:#fffbef;border-color:#eee0b7}.overview-note{border-left:3px solid var(--teal);background:#eff8f8;padding:15px 18px;margin:22px 0}.section-heading{margin-top:28px}.section-heading h3{margin:0}#caseList td small,#overviewPending td small{display:block;margin-top:5px}.case-reason{display:block;white-space:pre-line;min-width:260px;max-width:440px;line-height:1.65}.case-actions{min-width:120px}.case-actions button{white-space:nowrap}.form-error{color:#9a2537;background:#fff0f2;padding:12px;border-radius:7px}#identity{white-space:nowrap}#identity button{padding:7px 10px}@media(max-width:950px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.header-status{width:100%;align-items:center;gap:8px}.metric-grid{gap:10px}.metric{padding:14px}.metric>strong{font-size:28px}#identity{white-space:normal}header{flex-wrap:wrap}#identity{margin-left:0}.case-filters{gap:0 10px}.row{flex-wrap:wrap}}
.postprocess-modal{width:min(960px,94vw)}.post-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.post-source{background:#f1f8f8;border:1px solid #bad8d9;border-radius:10px;padding:16px;overflow-wrap:anywhere}.post-source>b{font-size:12px;color:var(--teal)}.post-source>strong{display:block;margin:8px 0;font-size:14px}.post-source dl{display:grid;grid-template-columns:98px 1fr;gap:6px;font-size:12px;margin-bottom:0}.post-source dt{color:var(--muted)}.post-source dd{margin:0}.post-mode{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:8px}.post-mode input[type=radio]{width:auto;flex:none;margin:4px 0}.post-mode small{display:block;margin-top:4px;font-weight:normal}.post-warning{padding:14px 20px 14px 32px;background:#fff6db;border-radius:8px;font-size:13px}.post-warning li+li{margin-top:7px}.post-pending{border:1px solid #e9d6a5;border-radius:8px;padding:15px;margin:16px 0}.post-pending h3{margin:0;font-size:15px}.post-pending summary{cursor:pointer;margin:15px 0}.post-filename{overflow-wrap:anywhere;font-weight:600}.post-queue .row{padding:12px 0;border-bottom:1px solid var(--line)}.post-queue .row:last-child{border-bottom:0}.post-queue small{display:block}.post-queue .row>span{overflow-wrap:anywhere;min-width:0}.post-queue button{flex-shrink:0}@media(max-width:650px){.post-sources{grid-template-columns:1fr}.post-source dl{grid-template-columns:88px 1fr}.postprocess-modal{padding:18px}.post-queue .row{display:block}}
.partner-queue{border-top-color:#008b94}.partner-item{padding:17px 0;border-top:1px solid var(--line)}.partner-item small{display:block;margin-top:4px}.partner-item .row>div{min-width:0;overflow-wrap:anywhere}.partner-item details{margin-top:10px;font-size:12px}.partner-item summary,.partner-row summary{cursor:pointer}.partner-review-modal{width:min(1420px,97vw);max-height:92vh}.partner-toolbar{display:flex;gap:7px;flex-wrap:wrap;position:sticky;top:-28px;padding:14px 0;background:#fff;z-index:2;border-bottom:1px solid var(--line)}.partner-controls{min-width:265px;max-width:350px}.partner-controls textarea{min-width:245px;resize:vertical;font-weight:normal}.partner-row td>small{display:block;margin-top:8px}.partner-row td:first-child{min-width:170px}.partner-row td:nth-child(3){min-width:170px}.partner-row td:nth-child(4){min-width:240px;max-width:400px}.partner-reason{white-space:pre-wrap;line-height:1.7}.partner-row .form-error{font-size:12px;white-space:pre-wrap}.partner-excluded{background:#f3f5f5;color:#587079}.partner-hold .partner-controls{background:#fffae9}.partner-approved .partner-controls>b{color:#007e75}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.partner-review-modal{padding:18px}.partner-toolbar{top:-18px}.partner-item .row{display:block}.partner-item .row>div+div{margin-top:10px}}
.rm-auto-status{padding:13px 15px;background:#edf8f7;border:1px solid #b9dbd9;border-radius:8px;font-size:13px}.rm-auto-status small,.rm-file-time{display:block;margin-top:7px}.post-source dd small{display:block;margin-top:4px}
.merged-sources{border-top:1px solid #b9d6d8;margin-top:14px;padding-top:4px}.merged-sources p{font-size:12px;margin:10px 0}.merged-sources summary{font-size:12px;cursor:pointer;font-weight:bold}.merged-sources table{font-size:11px;margin-top:10px}.merged-sources td small{display:block;margin-top:3px}.merged-sources .table-wrap{max-height:320px;overflow:auto}.merged-sources td{overflow-wrap:anywhere}.rm-auto-status{margin-top:14px}

/* Shared market history */
.market-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px 18px}.market-controls label{flex:1;min-width:155px}.market-controls .market-flight{flex:2;min-width:240px}.market-controls button{margin-bottom:12px}.market-dates{display:flex;flex:2;gap:14px}.market-chart{display:block;width:100%;min-height:230px;max-height:420px;margin-top:10px}.market-chart text{font:12px Arial,sans-serif;fill:#557783}.market-chart circle{cursor:pointer;stroke:white;stroke-width:2px}.market-chart circle:focus{outline:2px solid #123e50}.market-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:13px;margin:14px 0}.market-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px}.market-empty{padding:65px 20px;text-align:center;background:#f6fafa;border-radius:9px}#market td small{display:block;margin-top:5px}#marketDetail details{border-top:1px solid var(--line);padding:16px 0}#marketDetail summary{cursor:pointer;font-weight:bold}#marketDetail h3{margin-top:0}@media(max-width:650px){.market-chart{min-width:650px}#marketChart{overflow-x:auto}.market-dates{flex-wrap:wrap}}

.partner-queue-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.market-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 26px}
.market-mode-switch button{display:flex;align-items:center;gap:15px;text-align:left;padding:19px 22px;border:2px solid #bad4d7;border-radius:12px;background:#fff;color:#215461;min-height:94px;margin:0}
.market-mode-switch button strong{display:block;font-size:18px;line-height:1.4}.market-mode-switch button small{display:block;margin-top:6px;font-size:13px;font-weight:400;color:inherit}
.market-mode-switch button[aria-pressed=true]{background:#007f89;color:#fff;border-color:#007f89;box-shadow:0 4px 12px #007f8925}.market-mode-switch button:hover{border-color:#007f89}.market-mode-switch button:focus-visible{outline:3px solid #dfa15b;outline-offset:3px}.market-mode-icon{font-size:30px;line-height:1}
.market-tooltip{position:fixed;z-index:90;width:310px;max-width:calc(100vw - 16px);box-sizing:border-box;padding:17px 19px;background:#fff;color:#153d4a;border:1px solid #b9d7d9;border-top:4px solid #008b94;border-radius:10px;box-shadow:0 10px 35px #173e4d30;pointer-events:none;font-size:13px;line-height:1.6}.market-tooltip-heading{font-weight:700;font-size:15px;margin-bottom:3px}.market-tooltip dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0}.market-tooltip dt{color:#52737d}.market-tooltip dd{margin:0;font-weight:700;font-size:15px}.market-tooltip-foot{border-top:1px solid #dbe9ea;padding-top:9px;color:#56727b;font-size:12px}
@media(max-width:650px){.market-mode-switch{grid-template-columns:1fr;gap:10px}.market-mode-switch button{min-height:80px;padding:15px 18px}.market-mode-switch button strong{font-size:16px}}

/* Audit: readable operational text and keyboard focus at smaller widths. */
.hint,small{font-size:13px}button,.button{font-size:14px}input,select,textarea{min-width:0}fieldset,.card,.columns>*{min-width:0}:focus-visible{outline:3px solid #008b96;outline-offset:3px}
@media(max-width:600px){.case-filters,.archive-filters{grid-template-columns:minmax(0,1fr)}button,.button{min-height:42px}.brand{flex-wrap:wrap}.market-controls>*{min-width:0!important;width:100%}.market-dates{flex-wrap:wrap}.market-dates label{min-width:0;flex-basis:100%}.hint,small{overflow-wrap:anywhere}}

/* Verdict first, actionable conditions second; complete evidence stays expandable. */
.assessment-reason{margin:12px 0;min-width:240px;max-width:480px;font-size:14px;line-height:1.65;white-space:normal;overflow-wrap:anywhere}
.assessment-headline{display:block;font-size:16px;font-weight:750;line-height:1.5;color:#163a49}
.assessment-review .assessment-headline{color:#805500}.assessment-alert .assessment-headline{color:#a2263c}
.assessment-price{margin:8px 0 12px}.assessment-price strong{font-weight:750}
.assessment-action{background:#fff8e8;border-left:3px solid #c08a16;border-radius:0 6px 6px 0;padding:10px 12px;margin:10px 0}
.assessment-action>b{color:#684600}.assessment-action ul,.partner-row .form-error ul{margin:5px 0;padding-left:19px}.assessment-action li+li{margin-top:6px}
.assessment-verdict{font-size:13px;margin:8px 0 0;color:#684600}
.assessment-details{border-top:1px solid var(--line);padding-top:9px;margin-top:12px;font-size:13px;color:#355b68}
.assessment-details summary{cursor:pointer;font-weight:650;color:#007b85;padding:4px 0}.assessment-details p{margin:10px 0;white-space:pre-wrap}
.assessment-note{font-size:13px;color:#705100;margin:8px 0}.assessment-empty{color:#526c76}
@media(max-width:600px){.assessment-reason{min-width:210px}.assessment-headline{font-size:15px}}

.partner-toolbar .confirm-all-marked{background:#7444a3;border-color:#7444a3;color:#fff;font-weight:750;box-shadow:0 2px 4px #42206122}.partner-toolbar .confirm-all-marked:hover:not(:disabled){background:#5e3289}.partner-toolbar .confirm-all-marked:disabled{opacity:.45;box-shadow:none}

/* Visible policy evidence, shared by Partner, LF and RC result panels. */
.assessment-references{margin:10px 0;padding:10px 12px;border-left:3px solid #008995;background:#f0f8fa;color:#173e50;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.assessment-references ul{margin:6px 0 0;padding-left:18px}.assessment-references li{margin:4px 0}.assessment-references strong{font-weight:700}

.assessment-stages{margin-bottom:10px;padding:10px 12px;background:#fff;border:1px solid #d5e3e9;border-radius:6px;font-size:13px;line-height:1.6}.assessment-stages> b{display:block;font-size:14px}.assessment-stages p{margin:5px 0}

/* Full date-range market comparisons: independent carrier panels and shared hover. */
.market-layout-switch{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 20px}.market-layout-switch button{flex:1;min-width:220px;text-align:left;padding:15px 18px;border:2px solid #bad4d7;background:#fff;color:#215461}.market-layout-switch strong{display:block;font-size:17px}.market-layout-switch small{display:block;margin-top:5px;font-size:13px;font-weight:400}.market-layout-switch button[aria-pressed=true]{background:#e5f5f4;border-color:#007f89;color:#005e65}.market-layout-switch button:focus-visible,.market-focus-legend button:focus-visible{outline:3px solid #bc7010;outline-offset:3px}
.market-price-panel{border-top:1px solid #dce8eb;padding:16px 0 10px;min-width:0}.market-panel-heading{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}.market-panel-heading h3{font-size:18px;margin:0;min-width:84px}.market-panel-heading .hint{margin:0 0 0 auto}.market-panel-heading .market-legend{margin:0}.market-chart.market-chart-separated,.market-chart.market-chart-overview{max-height:none;min-height:0;height:auto;width:100%;min-width:650px}.market-chart text{font:13px Arial,sans-serif}.market-plot-scroll{overflow-x:auto}.market-grid-line,.market-price-line,.market-bound-mark,.market-chart text{pointer-events:none}.market-date-hit{cursor:pointer}.market-date-hit:focus{outline:none;fill:#008b9412;stroke:#007f89;stroke-width:1px}.market-chart circle:focus{stroke-width:4px!important;outline:none}.market-focus-legend{gap:8px}.market-focus-legend button{font-size:13px;padding:8px 12px}.market-focus-legend button[aria-pressed=true]{background:#e5f5f4;border-color:#007f89;color:#005e65}.market-series-label{white-space:nowrap}.market-scale-note{line-height:1.6}.market-date-quotes{margin:12px 0}.market-date-quotes>div{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:baseline;padding:7px 0;border-bottom:1px solid #e8eef0}.market-date-quotes span{font-size:12px}.market-date-quotes strong{font-size:14px;white-space:nowrap}.market-tooltip{width:365px;max-height:calc(100vh - 16px);overflow-y:auto}#marketDetail .market-date-quotes{max-width:450px}@media(max-width:650px){#marketChart{overflow-x:visible}.market-layout-switch button{min-width:0;flex-basis:100%}.market-panel-heading .hint{margin-left:0;width:100%}.market-plot-scroll{max-width:100%}}

.case-flight-type{margin-top:9px;max-width:280px}.weak-flight-badge{background:#eee5fa;color:#633486;font-weight:700}.case-flight-type small{display:block;margin-top:7px;font-size:13px;line-height:1.6}.case-flight-type details{margin-top:8px}.case-flight-type summary{cursor:pointer;font-size:13px}

/* Market observation trial: factual gaps, never red/green validation. */
.fare-gap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:18px}.fare-gap-panel{border:1px solid #c7dfe2;border-radius:12px;padding:16px}.fare-gap-row{display:grid;grid-template-columns:85px minmax(70px,1fr) 190px;align-items:center;gap:9px;width:100%;margin:5px 0;padding:8px;border:0;border-bottom:1px solid #e4edef;text-align:left;font-size:13px}.fare-gap-track{height:22px;position:relative;background:#f2f7f8;display:block}.fare-gap-track i{position:absolute;height:14px;top:4px;border-radius:2px}.fare-gap-zero{position:absolute;left:50%;top:0;color:#46636c}.fare-gap-row strong{text-align:right}.market-lf-card{background:#f0f8f9;border:1px solid #bfdfe1;border-radius:12px;padding:18px;margin-top:16px}.market-lf-values{display:flex;gap:32px;flex-wrap:wrap}.market-lf-values b{display:block;font-size:24px;margin-top:5px}@media(max-width:600px){.fare-gap-row{grid-template-columns:80px minmax(60px,1fr)}.fare-gap-row strong{grid-column:1/-1;text-align:right}.market-lf-values{gap:18px}}

/* Fare-gap bridges sit behind the unchanged observed price lines and dots. */
.market-inline-gap{cursor:pointer;outline:none}.market-gap-endpoints{pointer-events:none}.market-inline-gap:hover .market-gap-fill,.market-inline-gap:focus .market-gap-fill{fill-opacity:.52;stroke-opacity:.75}.market-inline-gap:focus .market-gap-hit{stroke:#31596c;stroke-width:1;stroke-dasharray:2 2}.market-gap-table>summary{cursor:pointer;font-weight:700;color:#16485a}.market-gap-table[open]>summary{margin-bottom:18px}

.market-tooltip{width:430px;max-width:calc(100vw - 16px)}.market-summary-gaps{border-top:1px solid #dce8eb;padding:10px 0}.market-summary-gaps>div{display:flex;justify-content:space-between;gap:12px;margin-top:9px}.market-summary-gaps small{display:block;font-size:12px;color:#557783;margin-top:9px}.market-summary-lf{border-top:1px solid #c7dfe2;padding-top:12px}.market-summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.market-summary-metrics span{font-size:12px;color:#557783}.market-summary-metrics strong{display:block;font-size:19px;color:#123e50;margin-top:5px}#marketUnifiedDetail{max-width:620px}#marketUnifiedDetail .market-date-quotes{max-width:none}.market-summary-lf .market-tooltip-foot{overflow-wrap:anywhere}

/* Compact OneDrive inbox: five recent files, older history stays bounded. */
.rm-inbox-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}.rm-inbox-list{max-height:340px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px}.rm-inbox-list .table-wrap{overflow:visible}.rm-inbox-list table{margin-top:0}.rm-inbox-list thead{position:sticky;top:0;z-index:1}.rm-inbox-list th:first-child{width:48%}.rm-inbox-list:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.rm-inbox-history{margin:12px 0 20px}.rm-inbox-history summary{cursor:pointer;color:var(--teal);font-weight:600;padding:10px 0}.rm-inbox-less{display:none}.rm-inbox-history[open] .rm-inbox-more{display:none}.rm-inbox-history[open] .rm-inbox-less{display:inline}.rm-inbox-list .rm-file-time{display:block;margin-top:4px}

/* Multiple competitor departures, read-only historical comparison. */
#marketComparison{min-width:0}#marketDetail{border-top:1px solid var(--line);padding:20px 0;margin-top:18px;min-width:0}
.market-comparison-window{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,410px);gap:24px;align-items:start}.market-chart-main{min-width:0}
.market-comparison-window #marketDetail{margin:16px 0 0;border:1px solid #c7dfe2;border-top:3px solid #008b94;border-radius:10px;padding:18px;position:sticky;top:14px;max-height:calc(100vh - 40px);overflow:auto;background:white}
.market-window-hb{background:#edf7f8;padding:14px;border-radius:8px;margin:12px 0}.market-window-hb>div{display:flex;justify-content:space-between;gap:12px;margin:10px 0}.market-window-hb small{color:#557783;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.market-window-heading{display:flex;justify-content:space-between;gap:10px;margin:16px 0 8px}.market-window-heading>span{font-size:12px;color:#557783}
.market-window-quote{border-bottom:1px solid #dce8eb;padding:12px 0}.market-window-quote>div:first-child{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;font-size:13px}.market-window-quote>div:first-child>strong{white-space:nowrap}.market-window-gap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12px;margin-top:6px}.market-window-gap>span{color:#557783}.market-window-quote>small{display:block;font-size:11px;color:#557783;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
.market-flight-marker{cursor:pointer}.market-flight-marker:focus{stroke-width:4px!important;outline:none}.market-coincident-count{paint-order:stroke;stroke:white;stroke-width:3px;font-weight:700!important}.fare-gap-row small{display:block;font-size:11px}
@media(max-width:1299px){.market-comparison-window{display:block}.market-comparison-window #marketDetail{position:static;max-height:none}.market-chart-main{width:100%}}

.market-date-hit.market-date-selected{fill:#008b940a;stroke:#008b9425;stroke-width:1px}

/* Per-panel spacious view retains the full date range inside a scrollable plot. */
.market-size-control{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:12px 0 4px}.market-size-control button{font-size:13px;padding:8px 14px;white-space:nowrap}.market-size-control button[aria-pressed=true]{background:#e5f5f4;color:#005e65;border-color:#008b94}.market-size-control .hint{margin:0}.market-plot-scroll:focus-visible{outline:2px solid #008b94;outline-offset:2px}.market-plot-spacious{max-width:100%;overflow-x:auto;scrollbar-width:auto;padding-bottom:12px;border-bottom:1px solid #dce8eb}.market-plot-spacious::-webkit-scrollbar{height:12px}.market-plot-spacious::-webkit-scrollbar-track{background:#eef5f6;border-radius:6px}.market-plot-spacious::-webkit-scrollbar-thumb{background:#8bb6bd;border:2px solid #eef5f6;border-radius:6px}.market-chart-main,#marketChart{min-width:0;max-width:100%}

/* Observed HB departure-date coverage, independent of the selected chart flight. */
.market-flight-coverage{border-top:4px solid #008b94;max-width:100%;overflow:hidden}.market-coverage-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.market-coverage-heading h2{font-size:21px;margin:7px 0}.market-coverage-scope{margin:6px 0 20px}.market-coverage-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.market-coverage-table{table-layout:fixed;width:100%;min-width:800px;margin:0}.market-coverage-table th:nth-child(1){width:115px}.market-coverage-table th:nth-child(2){width:31%}.market-coverage-table th:nth-child(3){width:70px}.market-coverage-table td,.market-coverage-table th{padding:11px 14px;vertical-align:middle}.market-coverage-table thead th{font-size:12px;color:#557783;background:#f2f7f8}.market-coverage-table tbody th{font-weight:normal}.market-coverage-table button{margin:0;padding:8px 10px;background:#fff;border:1px solid #b9d7d9;border-radius:7px;color:#00717a;font-weight:700;white-space:nowrap;width:100%;text-align:center}.market-coverage-table button small{display:block;font-size:11px;margin:3px 0 0;font-weight:400}.market-coverage-table button[aria-pressed=true]{background:#007f89;color:#fff;border-color:#007f89}.market-coverage-table button:hover{border-color:#007f89;background:#edf8f7}.market-coverage-table button[aria-pressed=true]:hover{background:#006a73}.market-coverage-selected{background:#edf8f7}.market-coverage-dates{font-size:12px;line-height:1.8;overflow-wrap:anywhere;color:#355b68}.market-coverage-count{font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:#215461}.market-coverage-axis{height:24px;position:relative;font-variant-numeric:tabular-nums}.market-coverage-tick{position:absolute;top:3px;transform:translateX(-50%);white-space:nowrap;font-weight:400;font-size:11px}.market-coverage-tick-start{transform:none}.market-coverage-tick-end{transform:translateX(-100%)}.market-coverage-track{height:29px;position:relative;min-width:300px;border-radius:5px;background:repeating-linear-gradient(to right,#dce8eb 0,#dce8eb 1px,transparent 1px,transparent 25%),#f2f7f8}.market-coverage-range,.market-coverage-dot{position:absolute;top:9px;height:11px;background:#51a6ab;border-radius:4px}.market-coverage-dot{top:9px;width:11px;border-radius:50%;transform:translateX(-50%)}.market-coverage-selected .market-coverage-range,.market-coverage-selected .market-coverage-dot{background:#007f89}.market-coverage-footer{display:flex;justify-content:space-between;align-items:start;gap:15px 28px;flex-wrap:wrap;margin-top:14px}.market-coverage-footer>.hint{flex:1;min-width:260px;margin:0;font-size:12px;line-height:1.8}.market-coverage-source{font-size:11px;line-height:1.8;color:#56727b;overflow-wrap:anywhere;max-width:470px;margin:0}.market-coverage-source span{font-size:11px;margin-left:5px}.market-coverage-empty{padding:20px;background:#f2f7f8;border-radius:8px;color:#355b68;font-size:14px}.market-coverage-legend-bar,.market-coverage-legend-dot{display:inline-block;background:#51a6ab;vertical-align:middle;margin:0 5px 1px 0;border-radius:3px}.market-coverage-legend-bar{width:21px;height:8px}.market-coverage-legend-dot{width:8px;height:8px;border-radius:50%;margin-left:12px}@media(max-width:650px){.market-flight-coverage{padding:18px}.market-coverage-heading h2{font-size:18px}.market-coverage-footer{display:block}.market-coverage-footer>.hint{min-width:0}.market-coverage-source{margin-top:12px}.market-coverage-table th:nth-child(2){width:240px}.market-coverage-table td,.market-coverage-table th{padding:9px 10px}}

.market-coverage-axis-title{text-align:center;margin-bottom:5px;font-size:12px}.market-coverage-table button[aria-pressed=true] small{color:#fff!important}.market-coverage-table button:focus-visible{outline:3px solid #bc7010;outline-offset:3px}
.market-presentation-switch{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.market-presentation-switch button[aria-pressed=true]{background:#008b94;color:#fff;border-color:#008b94}.market-layout-switch[hidden]{display:none}.market-simple-panel{border-top:1px solid #dce8eb;padding:16px 0;min-width:0;overflow-x:auto}.market-simple-svg{display:block;width:100%;min-width:650px;height:auto}.market-simple-svg text{font:12px Arial,sans-serif;fill:#345f72}.market-simple-panel .row{gap:10px;flex-wrap:wrap}.market-report-dialog{width:min(1180px,96vw);max-width:96vw;max-height:92vh;overflow:auto;border:1px solid #bad4dc;border-radius:12px;padding:24px;color:#143f50;background:#fff}.market-report-dialog::backdrop{background:#123b4b77}.market-report-dialog .row{gap:10px;flex-wrap:wrap}.market-report-sectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;padding:12px 0}.market-report-sectors label,.market-report-options label{display:flex;gap:8px;align-items:center}.market-report-options{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:14px 0}.market-report-options select{max-width:100%}.market-report-dialog [data-report-preview]{margin-top:16px;background:#eef4f6}.market-report-dialog canvas{width:100%;height:auto;display:block}.market-report-dialog [data-report-status]{min-height:2em}.market-report-dialog [data-report-status],.market-report-dialog p{overflow-wrap:anywhere}@media(max-width:600px){.market-report-dialog{padding:14px}.market-report-options label{flex-wrap:wrap}.market-simple-panel h3{font-size:17px}}

.market-report-options>label{min-width:0;flex-shrink:0}.market-report-options select{width:auto;min-width:200px}.market-report-options input[type=checkbox],.market-report-sectors input[type=checkbox]{width:auto;flex-shrink:0}

.matching-notices{border-left:4px solid #d99b35}.matching-notices p{margin:8px 0}.matching-notices small{overflow-wrap:anywhere}.matching-notices details{margin-top:10px}.matching-notice-list{max-height:320px;overflow:auto}.matching-notice-list td{min-width:95px}

/* Multi-HB comparison: independent selection, common scale, printable canvas. */
.market-multi{border-top:3px solid #008b95}.multi-options{display:grid;grid-template-columns:2fr 1fr;gap:16px}.multi-options fieldset{border:1px solid #cbdfe3;border-radius:10px;padding:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.multi-options label,.multi-toolbar label{display:flex;gap:6px;align-items:center}.multi-options input,.multi-toolbar input{width:auto}.multi-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;align-items:center}.multi-toolbar select{width:auto;max-width:270px}.multi-canvas-scroll{overflow:auto;border:1px solid #d8e6eb;border-radius:10px;margin:16px 0;background:white}.multi-canvas-scroll canvas{display:block;max-width:none;cursor:crosshair}.multi-detail{border-left:4px solid #008b95;background:#f5fafb;padding:14px 18px;margin:12px 0}.multi-detail small{display:block;color:#54717c}.multi-detail h4{margin:0 0 8px}.multi-detail table{font-size:14px}.market-multi [data-multi-status]{color:#007581}@media(max-width:750px){.multi-options{grid-template-columns:1fr}.multi-toolbar label{flex-wrap:wrap}.multi-toolbar select{max-width:100%}}
