/* Results use one stable workspace, including annual and summary views. */
body.compact-layout .results-mode .result-explorer {
  --result-panel-height: clamp(430px, calc(100dvh - 206px), 850px);
  display: grid !important;
  grid-template-columns: minmax(0, var(--result-plan-share, 50%)) minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-areas: 'resultbar resultbar' 'map analysis' !important;
  height: auto; min-height: 0; gap: 10px; align-items: stretch;
  overflow: visible; overflow-anchor: none;
}
body.compact-layout .results-mode .result-explorer > .result-explorer-bar {
  grid-area: resultbar !important; position: static;
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
  height: auto; max-height: none; min-height: min-content;
  width: auto; padding: 12px; overflow: visible;
}
.result-explorer-bar > * { min-width: 0; }
body.compact-layout .result-explorer-title { flex: 1 1 270px; }
body.compact-layout .result-explorer-title span { white-space: normal; overflow-wrap: anywhere; }
body.compact-layout .result-mode-tabs,
body.compact-layout .result-view-toggle { flex: 0 1 auto; display: flex; flex-wrap: wrap; gap: 6px; }
body.compact-layout .result-explorer-bar button { white-space: nowrap; min-height: 34px; }
body.compact-layout .result-explorer-bar .ui-result-toolbar { flex: 1 0 100%; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; }
body.compact-layout .results-mode .result-explorer > .unified-map-panel,
body.compact-layout .results-mode .result-explorer > .unified-side-panel {
  position: static; width: auto; min-width: 0; min-height: 0;
  height: var(--result-panel-height) !important; max-height: none !important;
  margin: 0; padding: 12px; align-self: stretch;
}
body.compact-layout .results-mode .result-explorer > .unified-map-panel {
  grid-area: map !important; display: flex !important; flex-direction: column; gap: 8px; overflow: hidden;
}
body.compact-layout .results-mode .result-explorer > .unified-side-panel {
  grid-area: analysis !important; display: block;
  overflow: auto !important; overscroll-behavior: contain; scrollbar-gutter: stable;
}
body.compact-layout .results-mode .result-explorer .unified-map-stage,
body.compact-layout .results-mode .result-explorer .canvas-shell,
body.compact-layout .results-mode .result-explorer .canvas-stage,
body.compact-layout .results-mode .result-explorer .canvas-viewport {
  flex: 1; min-height: 0; height: 100%; max-height: none;
}
body.compact-layout .result-map-head { min-height: 62px; flex: 0 0 auto; align-content: center; flex-wrap: wrap; }
body.compact-layout .result-map-head > div { margin-left: 0; justify-content: flex-start; }
.result-map-head > div > span { color: var(--ui-muted); font-size: 13px; }
.result-compass-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; flex: 0 0 auto; }
.result-measurement-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.result-compass-tools>small{font-size:12px;color:var(--ui-muted,#647781);flex-basis:100%}
.result-compass-tools strong { font-size: 12px; color: var(--ui-primary); margin-right: auto; }
.result-compass-tools output { min-width: 38px; font-size: 12px; text-align: center; }
.result-compass-tools button { padding: 4px 8px; min-height: 30px; font-size: 12px; }
.compass-size-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; max-width: 100%; }
.compass-size-controls label { display: flex; align-items: center; gap: 4px; margin: 0; font-size: 12px; white-space: nowrap; }
.compass-size-controls select { width: auto; max-width: 170px; min-height: 30px; padding: 4px 6px; font-size: 12px; margin: 0; }
.compass-size-controls .compass-percent input { width: 62px; min-height: 30px; padding: 4px 6px; font-size: 12px; margin: 0; }
body.compact-layout .results-mode .canvas-stage > .small.muted { display: none; }
body.compact-layout .result-explorer .point-result-cards { grid-template-columns: minmax(0, 1fr); }
.comprehensive-person { min-width: 0; }
.comprehensive-person-points { width: 100%; }
.comprehensive-person-point .comprehensive-location button { text-align: left; }
.comprehensive-report > .comprehensive-people { padding: 0; border: 0; }
.comprehensive-report .comprehensive-person { padding: 0; border: 0; }
.comprehensive-person + .comprehensive-person { margin-top: 12px; }
.comprehensive-report .comprehensive-person-point p { font-size: 14px !important; line-height: 1.75 !important; }
.comprehensive-report .summary-detail-link { white-space: normal; text-align: left; }
body.compact-layout .result-explorer .map-annual-summary { grid-area: auto; margin: 0; border: 0; border-radius: 0; padding: 0; overflow: visible; }
body.compact-layout .map-annual-summary .annual-position-summary-head { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
body.compact-layout .map-annual-summary .annual-position-summary-head > div:first-child { display: grid; gap: 8px; }
body.compact-layout .map-annual-summary .annual-position-summary-head > div:first-child > * { grid-area: auto; margin: 0; }
body.compact-layout .map-annual-summary .annual-position-summary-head > div:first-child > span { font-size: 13px; }
body.compact-layout .map-annual-summary .annual-filter-controls { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-start; gap: 8px; }
.map-annual-summary .annual-filter-controls label { min-width: 110px; flex: 1; }
.map-annual-summary .annual-filter-controls select { width: 100%; max-width: 100%; }
.map-annual-summary .annual-compact-table { display: grid; gap: 10px; overflow: visible; border: 0; }
.map-annual-summary .annual-compact-row.head { display: none; }
.map-annual-summary .annual-compact-row:not(.head) {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px 12px; padding: 12px; min-width: 0;
  border: 1px solid var(--ui-border); border-radius: 8px; background: #fff;
}
.map-annual-summary .annual-compact-row > :nth-child(1) { grid-area: 1 / 1; }
.map-annual-summary .annual-compact-row > :nth-child(2) { grid-area: 1 / 2; }
.map-annual-summary .annual-compact-row > :nth-child(3) { grid-area: 2 / 1 / auto / -1; color: var(--ui-muted); font-size: 12px; }
.map-annual-summary .annual-compact-row > :nth-child(3)::before { content: '关联入口：'; }
.map-annual-summary .annual-compact-row > :nth-child(4) { grid-area: 1 / 3; }
.map-annual-summary .annual-compact-row > :nth-child(5) { grid-area: 3 / 1 / auto / -1; font-size: 14px; line-height: 1.75; }
.map-annual-summary .annual-compact-row > :nth-child(6) { grid-area: 4 / 1 / auto / -1; }
.map-annual-summary .annual-compact-row > .annual-detail-unavailable { display: none; }
.map-annual-summary .annual-detail-content { min-width: 0; }
.map-annual-summary .annual-compact-row > * { overflow-wrap: anywhere; }

/* Keep the existing split workspace; make each saved conclusion appear once. */
body.compact-layout .result-explorer-bar .ui-result-toolbar { flex: 0 1 auto; margin-left: auto; }
body.compact-layout .result-explorer-title { flex: 0 1 auto; }
body.compact-layout .result-map-head { min-height: 34px; }
.result-reading .reading-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.comprehensive-report.result-reading { display:block; }
.result-reading .summary-group-tabs { display:flex; gap:6px; margin:0; }
.result-reading .reading-selection,.result-reading .reading-year-control { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:8px 0; }
.result-reading .reading-selection select { flex:1; min-width:0; }
.result-reading .reading-year-control label { display:flex; align-items:center; gap:8px; font-size:13px; }
.result-reading .reading-year-control input { width:86px; padding:5px 7px; }
.result-reading .reading-year-control span,.result-reading .reading-occupancy { color:var(--ui-muted); font-size:12px; }
.result-reading .reading-occupancy { display:flex; align-items:center; gap:8px; margin:8px 0 12px; }
.result-reading .comprehensive-person-points { display:block; }
.result-reading .comprehensive-person-point { display:block; width:100%; margin:0 0 10px; padding:10px 12px; background:#fff; }
.result-reading .comprehensive-location { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.result-reading .reading-location-link { border:0; background:none; box-shadow:none; padding:0; min-height:0; color:inherit; font-size:inherit; font-weight:600; text-align:left; }
.result-reading .reading-location-link:hover { text-decoration:underline; }
.result-reading .reading-verdict { font-size:13px; }
.result-reading .comprehensive-person-point p { font-size:13px !important; line-height:1.65 !important; margin:6px 0 0; }
.result-reading .comprehensive-person-point .result-basis { font-size:12px !important; color:var(--ui-muted); }
.result-reading .report-attention { margin:10px 0; padding:8px 10px; font-size:13px; }
.result-reading h3 { font-size:14px; margin:12px 0 8px; }
.result-reading .reading-annual { padding:8px 0 0; margin:8px 0 0; border:0; border-top:1px solid var(--ui-border); border-radius:0; }
.result-reading .reading-annual > div+div { margin-top:8px; }
.result-reading .reading-annual > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:4px 8px; }
.result-reading .reading-annual > div > p { margin:0 !important; }
.result-reading .reading-annual .result-basis { grid-column:1/-1; }
.result-reading .reading-annual strong { font-size:13px; }
.result-reading .reading-other { margin:12px 0 0; padding:10px 0 0; border:0; border-top:1px solid var(--ui-border); border-radius:0; }
.result-reading .reading-other p { font-size:13px; line-height:1.65; margin:5px 0; }
@media (max-width: 760px) {
  body.compact-layout .mobile-workspace-jump.annual { grid-template-columns: auto 1fr 1fr; }
  body.compact-layout .mobile-workspace-jump.annual > button:nth-child(2) { display: block; }
  body.compact-layout .results-mode .result-explorer { grid-template-columns: minmax(0,1fr) !important; grid-template-areas: 'resultbar' 'map' 'analysis' !important; grid-template-rows: auto auto auto; }
  body.compact-layout .results-mode .result-explorer > .result-explorer-bar { flex-direction: row; gap: 8px; }
  body.compact-layout .result-explorer-title { flex-basis: 100%; min-height: 64px; }
  body.compact-layout .result-mode-tabs, body.compact-layout .result-view-toggle { width: 100%; flex: 1 0 100%; }
  body.compact-layout .result-explorer-bar button { min-width: 0; min-height: 40px; }
  body.compact-layout .result-explorer .ui-result-toolbar button { flex: 1 1 auto; }
  body.compact-layout .results-mode .result-explorer > .unified-map-panel { height: 660px !important; padding: 10px; }
  body.compact-layout .results-mode .result-explorer > .unified-side-panel { height: auto !important; overflow: visible !important; scrollbar-gutter: auto; }
  body.compact-layout .result-map-head { min-height: 90px; }
  .result-compass-tools button { min-height: 36px; }
  body.compact-layout .result-explorer .result-map-marker { width: 44px; height: 44px; min-height: 44px; padding: 8px !important; border: 0; background-clip: content-box; box-shadow: none; }
  body.compact-layout .result-explorer .result-map-marker > span[aria-hidden] { display: grid; place-items: center; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; outline: 2px solid #fff; }
  .comprehensive-person-points { grid-template-columns: minmax(0,1fr); }
}
.result-report-preview{width:min(960px,94vw);max-height:94vh;display:flex;flex-direction:column;gap:12px;min-height:0}
.result-report-preview header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.result-report-preview header strong{overflow-wrap:anywhere}
.result-report-preview iframe{width:100%;height:72vh;border:0;background:#f4f6f7}
.result-report-image{overflow:auto;max-height:72vh}
.result-report-image img{display:block;width:100%;height:auto}
@media(max-width:600px){
  .compass-size-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;flex:1 0 100%}
  .compass-size-controls>label{grid-column:span 3;min-width:0}
  .compass-size-controls>label select{flex:1;min-width:0}
  .compass-size-controls>button{grid-column:span 2;width:100%}
}

.compact-layout .canvas-toolbar:has(.compass-layer-toggle){width:max-content!important}
.compact-layout .canvas-toolbar button.compass-layer-toggle{width:auto!important;min-width:42px;font-size:12px!important;white-space:nowrap;padding:0 6px}
.compact-layout .canvas-toolbar button.compass-layer-toggle[aria-pressed="true"]{background:#edf4f4;border-color:#267786;color:#18545f}
.compact-layout .canvas-toolbar button.compass-human-toggle[aria-pressed="true"]{background:#f3eef7;border-color:#76528b;color:#654178}

/* Each checked compass owns its visible sizing controls. */
.compass-size-controls{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px;width:100%;}
.compass-choice{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--ui-border,#d9e3e5);border-radius:5px;background:#fff;max-width:100%;}
.compass-choice.is-visible{background:var(--ui-primary-soft,#edf6f6);border-color:#91b5b8;}
.compass-choice-label{cursor:pointer;white-space:normal!important;}
.compass-choice-label input{width:14px;height:14px;margin:0 3px 0 0;accent-color:#28777c;}
.compass-choice .compass-percent input{width:52px;}
.compass-choice button{font-size:12px;padding:3px 6px;min-height:28px;}
.reading-annual-details{border-top:1px solid #e2eaeb;margin-top:12px;padding-top:8px}
.reading-annual-details>summary{cursor:pointer;color:#286870;font-size:13px;padding:6px 0;min-height:28px}
.reading-annual-details>summary:focus-visible{outline:2px solid #286870;outline-offset:3px;border-radius:3px}
.reading-annual-details .annual-count{margin-left:8px;color:#718387;font-size:12px}
.reading-annual-details .annual-collapse,.reading-annual-details[open] .annual-expand{display:none}
.reading-annual-details[open] .annual-collapse{display:inline}
.review-drawing-reminder{padding:12px;border:1px solid #e5b3ad;border-radius:7px;background:#fff6f4;color:#b12f26;line-height:1.6}
.review-drawing-reminder strong{display:block;color:#b12f26;font-size:14px}
.review-drawing-reminder p{margin:5px 0 8px;color:#b12f26;font-size:13px}
.review-drawing-reminder>div{display:flex;justify-content:flex-end}

.compass-choice-list{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.compass-choice input{width:16px;height:16px;margin:0;accent-color:#28777c}
.compass-choice.is-active{border:2px solid #236a73;box-shadow:0 0 0 2px #236a7320}
.compass-target-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:100%;padding:8px;background:#f5f9fa;border-radius:6px}
.compass-target-tools strong{font-size:13px;color:#254e55;margin-right:6px}
.compass-target-tools button{min-height:30px!important;font-size:12px!important;padding:4px 9px!important}
.compass-target-tools button[aria-pressed=true]{background:#286c75;color:white;border-color:#286c75}
.compass-earth-status{font-size:12px;color:#54767b}
.compass-center-target{position:absolute!important;transform:translate(-50%,-50%);z-index:4;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;line-height:20px;background:white!important;border:2px solid #28717a!important;color:#28717a!important;border-radius:50%;cursor:pointer}
.compass-center-target[aria-pressed=true]{background:#b45409!important;color:white!important;border-color:white!important;box-shadow:0 0 0 3px #b45409}
.opening-line-policy fieldset{margin:10px 0}.opening-line-policy label{display:flex;align-items:center;gap:6px}.opening-line-policy input{width:auto;min-height:0;margin:0}
