/* Match the technical resource hub; keep files, reports and decisions prominent. */
#content.map-extractor { --map-base:#212529; --map-panel:#292f35; --map-line:#59636d; --map-muted:#ced4da; --map-accent:#ed7186; background:var(--map-base); color:var(--map-muted); }
.map-extractor [hidden] { display:none !important; }
.map-extractor h1,.map-extractor h2,.map-extractor h3,.map-extractor label,.map-extractor legend,.map-extractor strong { color:#fff; }
.map-extractor h1 { font-size:clamp(29px,3.4vw,44px); letter-spacing:-.025em; line-height:1.18; margin:0 0 18px; text-transform:none; }
.map-extractor h2 { font-size:25px; line-height:1.3; margin:0 0 20px; text-transform:none; }
.map-extractor h3 { font-size:19px; line-height:1.4; margin:20px 0 12px; }
.map-extractor p,.map-extractor li { line-height:1.7; }
.map-extractor p { max-width:78ch; margin:0 0 18px; }
.map-extractor a { color:var(--map-accent); text-decoration:underline; text-underline-offset:3px; }
.map-extractor :is(a,button,input,select,summary):focus-visible { outline:3px solid #fff; outline-offset:4px; }
.map-extractor__hero { padding:28px 0 0; border-bottom:1px solid var(--map-line); }
.map-extractor__breadcrumb { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 26px; list-style:none; font-size:13px; }
.map-extractor__breadcrumb li + li::before { content:'/'; margin-right:8px; }
.map-extractor__breadcrumb a { color:var(--map-muted); }
.map-extractor__steps { display:flex; flex-wrap:wrap; gap:14px 38px; list-style:decimal inside; margin:28px 0 0; padding:17px 0; border-top:1px solid var(--map-line); font-size:14px; color:#fff; }
.map-extractor__body { padding-top:32px; padding-bottom:52px; }
.map-extractor__workspace { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr); gap:38px; align-items:start; }
.map-extractor__panel { background:var(--map-panel); padding:28px; border:1px solid var(--map-line); border-radius:5px; min-width:0; }
.map-extractor__guide { padding-top:8px; min-width:0; }
.map-extractor__guide ol { padding-left:22px; }
.map-extractor__guide li { padding-left:5px; margin-bottom:14px; }
.map-extractor__help { font-size:13px; margin:8px 0 24px !important; }
.map-extractor label { display:block; font-size:15px; font-weight:600; margin-bottom:10px; }
.map-extractor label span { color:var(--map-muted); font-weight:400; }
.map-extractor input:not([type=checkbox]),.map-extractor select { display:block; width:100%; max-width:100%; background:#1b2025; color:#fff; padding:12px; border:1px solid #737e89; border-radius:3px; font:inherit; }
.map-extractor input[type=file]::file-selector-button { background:#414b55; color:#fff; border:0; border-radius:2px; padding:7px 12px; margin-right:12px; cursor:pointer; }
.map-extractor__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; }
.map-extractor .map-extractor__button,.map-extractor .map-extractor__secondary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 17px; border:1px solid var(--map-accent); border-radius:3px; font:inherit; font-size:14px; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; }
.map-extractor .map-extractor__button { background:var(--map-accent); color:#181d21; }
.map-extractor .map-extractor__secondary { background:transparent; border-color:#828e99; color:#fff; }
.map-extractor .map-extractor__button:hover { background:#ff8da0; }
.map-extractor .map-extractor__secondary:hover { background:#414b55; }
.map-extractor button:disabled { opacity:.5; cursor:not-allowed; }
.map-extractor__notice { padding:14px 16px; background:#373328; border-left:4px solid #e2bc68; overflow-wrap:anywhere; }
.map-extractor__notice--success { background:#223d34; border-color:#92d3b1; }
.map-extractor__signin > i { font-size:30px; color:var(--map-accent); }
.map-extractor__signin h3 { margin-top:8px; }
.map-extractor__files { margin-bottom:14px; overflow-wrap:anywhere; }
.map-extractor__files dt { color:#fff; font-weight:600; }
.map-extractor__files dd { margin:4px 0 14px; }
.map-extractor__files span { font-size:13px; }
.map-extractor__format { padding:16px 0; }
.map-extractor .map-extractor__checkbox { display:flex; align-items:center; gap:10px; margin-top:12px; }
.map-extractor input[type=checkbox] { width:18px; height:18px; accent-color:var(--map-accent); }
.map-extractor fieldset { border:1px solid var(--map-line); padding:18px; margin-bottom:20px; }
.map-extractor legend { float:none; width:auto; font-size:18px; padding:0 6px; }
.map-extractor__segment { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:14px 0; border-bottom:1px solid var(--map-line); margin-bottom:16px; }
.map-extractor__segment label { font-size:12px; }
.map-extractor__segment button { grid-column:1 / -1; justify-self:start; }
.map-extractor__history { margin-top:24px; }
.map-extractor__result { margin-top:26px; border-top:1px solid var(--map-line); }
.map-extractor__counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0; }
.map-extractor__counts dt { font-size:13px; font-weight:400; }
.map-extractor__counts dd { color:#fff; font-size:30px; margin:4px 0 0; line-height:1.2; font-variant-numeric:tabular-nums; }
.map-extractor #map-omitted-count.has-omissions { color:#e2bc68; }
.map-extractor details { margin:22px 0 0; }
.map-extractor summary { cursor:pointer; color:#fff; padding:6px 0; }
.map-extractor details ul { padding-left:20px; margin-top:12px; }
.map-extractor details li { margin-bottom:12px; overflow-wrap:anywhere; }
.map-extractor__evidence { white-space:pre-line; overflow-wrap:anywhere; font-size:13px; margin-top:12px !important; }
.map-extractor__new { margin:24px 0 0 !important; }
.map-extractor__related { border-top:1px solid var(--map-line); padding-top:6px; margin-top:26px; }
.map-extractor__compatibility { border-top:1px solid var(--map-line); padding-top:30px; margin-top:40px; }
.map-extractor__table { overflow:auto; margin-bottom:20px; }
.map-extractor table { width:100%; font-size:14px; line-height:1.65; }
.map-extractor th,.map-extractor td { text-align:left; vertical-align:top; padding:14px 18px 14px 0; border-bottom:1px solid var(--map-line); }
.map-extractor th { color:#fff; }
.map-extractor tbody th { min-width:100px; }
.map-extractor caption { color:var(--map-muted); font-size:13px; }
@media(max-width:991px) { .map-extractor__workspace { grid-template-columns:minmax(0,1fr); gap:30px; } .map-extractor__guide { max-width:78ch; } }
@media(max-width:575px) { .map-extractor__panel { padding:20px 16px; } .map-extractor__steps { display:block; } .map-extractor__steps li { margin:6px 0; } .map-extractor__segment { grid-template-columns:minmax(0,1fr); } .map-extractor__counts { gap:8px; } .map-extractor__counts dd { font-size:26px; } .map-extractor__actions > * { width:100%; } }
