:root {
  --navy: #17324d;
  --blue: #1769aa;
  --blue-dark: #0e4e82;
  --sky: #eef7ff;
  --ink: #17212b;
  --muted: #5d6c7b;
  --line: #d8e1e8;
  --surface: #ffffff;
  --canvas: #f4f7f9;
  --green: #19764a;
  --yellow: #9a6200;
  --red: #a63737;
  --radius: 20px;
  font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
  color: var(--ink);
  background: var(--canvas);
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; font-size: 18px; line-height: 1.6; background: var(--canvas); }
a { color: inherit; }
button, input, select { font: inherit; }
.site-header { height: 76px; padding: 0 max(24px, calc((100vw - 1180px) / 2)); display: flex; align-items: center; justify-content: space-between; background: var(--surface); border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 800; font-size: 21px; }
.brand-mark { color: white; background: var(--blue); border-radius: 10px; padding: 4px 10px; }
.privacy-note { font-size: 15px; color: var(--muted); }
.request-origin-notice { margin: 14px 0 0; color: var(--muted); font-size: 12px; text-align: right; }
.provider-credit { color: var(--muted); font-size: 13px; letter-spacing: .01em; white-space: nowrap; }
.provider-credit strong { color: var(--ink); font-weight: 750; }
.provider-credit,
.provider-credit a {
  display: inline-flex;
  align-items: center;
}
.provider-credit { gap: 8px; }
.provider-credit a { text-decoration: none; }
.provider-credit img { display: block; width: auto; object-fit: contain; }
.provider-credit .okgongschool-logo { height: 28px; }
.provider-credit .spaceroad-logo { height: 22px; }
.provider-credit .provider-connector { color: #8a939d; font-size: 11px; font-weight: 650; }
.page-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 52px 0 72px; }
.site-footer { padding: 28px 24px; text-align: center; color: var(--muted); background: #e8eef2; font-size: 15px; }
.site-footer p { margin-bottom: 5px; }
.footer-provider { font-size: 12px; letter-spacing: .02em; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(34px, 5vw, 54px); line-height: 1.16; letter-spacing: -0.04em; }
h2 { font-size: 28px; letter-spacing: -0.03em; }
.eyebrow { margin-bottom: 8px; color: var(--blue); font-weight: 800; font-size: 16px; }
.hero { text-align: center; padding: 46px 0 24px; }
.hero-copy, .lead { max-width: 720px; color: var(--muted); font-size: 20px; }
.hero-copy { margin: 0 auto 32px; }
.new-analysis-card { width: min(620px, 100%); margin: 0 auto; padding: 28px; display: grid; gap: 12px; text-align: left; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 16px 38px rgba(25, 56, 84, .1); }
label { display: grid; gap: 8px; font-weight: 700; }
label span { font-size: 15px; color: var(--muted); font-weight: 500; }
label em { color: var(--red); font-size: 14px; font-style: normal; }
input, select { width: 100%; min-height: 54px; padding: 12px 14px; color: var(--ink); background: white; border: 2px solid #b7c4ce; border-radius: 12px; }
input:focus, select:focus { outline: 4px solid rgba(23, 105, 170, .18); border-color: var(--blue); }
.button { min-height: 50px; padding: 12px 22px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 12px; text-decoration: none; font-weight: 800; cursor: pointer; }
.button.primary { color: white; background: var(--blue); }
.button.primary:hover { background: var(--blue-dark); }
.button.secondary { color: var(--navy); background: #e8eff4; }
.button.danger { color: white; background: var(--red); }
.button.large { min-height: 60px; font-size: 20px; }
.trust-row { margin: 24px auto 0; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.trust-row span { padding: 6px 12px; color: var(--muted); background: #e7eef3; border-radius: 999px; font-size: 15px; }
.saved-section { margin-top: 60px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.section-heading > p { color: var(--muted); font-size: 15px; }
.analysis-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.analysis-card { padding: 22px; display: grid; gap: 4px; text-decoration: none; background: white; border: 1px solid var(--line); border-radius: 16px; }
.analysis-card strong { font-size: 20px; }
.analysis-card span { color: var(--muted); font-size: 15px; }
.analysis-card .arrow { margin-top: 12px; color: var(--blue); font-weight: 800; }
.stepper { margin: 0 auto 28px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; max-width: 760px; }
.step { min-height: 64px; padding: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--muted); background: #e7edf2; border-radius: 12px; font-size: 16px; }
.step b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #ccd7df; }
.step.active { color: white; background: var(--blue); font-weight: 800; }
.step.active b { background: rgba(255,255,255,.2); }
.step.done { color: var(--green); background: #e0f3e9; }
.wizard-card, .share-card { max-width: 900px; margin: 0 auto; padding: clamp(24px, 5vw, 48px); background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 14px 34px rgba(27, 56, 79, .08); }
.wizard-card h1 { font-size: clamp(32px, 5vw, 44px); }
.easy-form { display: grid; gap: 24px; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-section-title { margin: 20px 0 -8px; padding-top: 18px; border-top: 1px solid var(--line); }
.cost-details, .explanation { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.cost-details summary, .explanation summary { padding: 17px 20px; color: var(--blue); font-weight: 800; cursor: pointer; background: var(--sky); }
.details-grid, .explanation > p, .explanation > ul { margin: 20px; }
.button-row { display: flex; justify-content: flex-end; gap: 12px; }
.alert { max-width: 900px; margin: 0 auto 18px; padding: 16px 20px; border-radius: 12px; }
.alert.error { color: #7f1d1d; background: #fee2e2; }
.summary-check { margin: 28px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.summary-check div { padding: 18px; display: grid; background: var(--canvas); border-radius: 12px; }
.summary-check span { color: var(--muted); font-size: 15px; }
.notice-box { margin: 24px 0; padding: 20px; color: var(--navy); background: var(--sky); border-left: 5px solid var(--blue); border-radius: 10px; }
.notice-box p { margin: 4px 0 0; }
.market-loader { margin: 24px 0; padding: 22px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 14px; background: var(--canvas); border-radius: 14px; }
.live-search-box { margin: 24px 0; padding: 24px; border: 2px solid #b9d8f1; border-radius: 16px; background: #f4faff; }
.live-search-box h2 { margin-bottom: 6px; }
.live-search-box > div > p:last-child { color: var(--muted); }
.live-search-form { margin: 18px 0 10px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 14px; }
.live-search-form button[disabled] { opacity: .7; cursor: wait; }
.market-result, .rent-result { margin: 22px 0; padding: 24px; border: 1px solid var(--line); border-radius: 16px; }
.market-result-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.market-result-head h2 { margin-bottom: 0; }
.market-result-head > strong { font-size: 30px; color: var(--blue); }
.muted, .source-note { color: var(--muted); font-size: 15px; }
.comparable-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.comparable-cards article { padding: 16px; display: grid; gap: 5px; background: var(--sky); border-radius: 12px; }
.comparable-cards article > span, .comparable-cards small { color: var(--muted); font-size: 14px; }
.comparable-cards p { margin: 0; }
.comparable-cards a { margin-top: 4px; color: var(--blue); font-weight: 800; font-size: 15px; }
.price-numbers { margin: 18px 0; }
.rent-result { background: #f8fafb; }
.rent-numbers { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rent-numbers div { padding: 16px; display: grid; background: white; border-radius: 12px; }
.rent-numbers span { color: var(--muted); font-size: 14px; }
.rent-numbers strong { font-size: 24px; }
.result-hero { max-width: 900px; margin: 0 auto 20px; padding: 38px 42px; color: white; border-radius: var(--radius); }
.result-hero h1 { margin-bottom: 12px; font-size: clamp(32px, 5vw, 46px); }
.result-hero p { margin: 0; font-size: 20px; }
.result-hero.recommend { background: var(--green); }
.result-hero.conditional { background: var(--yellow); }
.result-hero.caution { background: var(--red); }
.result-hero .eyebrow { color: rgba(255,255,255,.82); }
.metrics-grid { max-width: 900px; margin: 0 auto 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.metrics-grid article { padding: 24px; display: grid; background: white; border: 1px solid var(--line); border-radius: 16px; }
.metrics-grid article.featured { color: white; background: var(--navy); }
.metrics-grid span, .metrics-grid small { color: var(--muted); }
.metrics-grid .featured span, .metrics-grid .featured small { color: rgba(255,255,255,.72); }
.metrics-grid strong { font-size: clamp(26px, 4vw, 38px); letter-spacing: -0.03em; }
.scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.scenario { padding: 18px; border: 1px solid var(--line); border-radius: 14px; }
.scenario.base { border: 3px solid var(--blue); background: var(--sky); }
.scenario span, .scenario strong { display: block; }
.scenario span { color: var(--muted); font-size: 15px; }
.scenario p { margin: 10px 0 0; }
.result-section { margin-bottom: 20px; }
.evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.evidence-grid article { padding: 18px; display: grid; background: var(--canvas); border-radius: 12px; }
.evidence-grid span, .evidence-grid small { color: var(--muted); font-size: 14px; }
.evidence-grid strong { font-size: 26px; }
.explanation { margin-top: 24px; }
.share-card { margin-top: 20px; }
.copy-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.final-actions { max-width: 900px; margin: 20px auto; display: flex; justify-content: flex-end; gap: 12px; }
@media (max-width: 760px) {
  body { font-size: 17px; }
  .site-header { height: auto; padding: 14px 16px; }
  .privacy-note { display: none; }
  .brand { gap: 7px; font-size: 15px; }
  .brand-mark { padding: 3px 7px; border-radius: 8px; }
  .provider-credit { font-size: 10px; }
  .page-shell { width: min(100% - 20px, 1180px); padding-top: 28px; }
  .analysis-list, .two-columns, .summary-check, .metrics-grid, .scenario-grid, .comparable-cards, .rent-numbers, .market-loader, .live-search-form, .evidence-grid { grid-template-columns: 1fr; }
  .step { display: grid; gap: 1px; text-align: center; font-size: 13px; }
  .step b { margin: auto; }
  .button-row, .final-actions { flex-direction: column-reverse; }
  .button-row .button, .final-actions .button { width: 100%; }
  .copy-row { grid-template-columns: 1fr; }
}
@media print {
  .site-header, .site-footer, .stepper, .share-card, .final-actions { display: none !important; }
  body, .page-shell { background: white; }
  .page-shell { width: 100%; padding: 0; }
  .result-hero, .wizard-card, .metrics-grid article { box-shadow: none; break-inside: avoid; }
}

/* Airbnb 링크 입지분석 — 사진이 주인공인 소비자용 스튜디오 */
.service-choice { margin: 68px 0 12px; }
.service-choice-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 18px; }
.service-card { min-height: 220px; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.service-card h3 { margin: 14px 0 8px; font-size: 24px; }
.service-card p { color: var(--muted); }
.service-card > a:not(.button) { color: var(--blue); font-weight: 800; }
.service-tag { display: inline-flex; padding: 6px 11px; border-radius: 999px; color: var(--muted); background: #f2f4f5; font-size: 13px; font-weight: 800; }
.service-card.location-featured { border-color: #ffd4dc; background: linear-gradient(145deg, #fff 0 64%, #fff1f4 100%); }
.service-card.location-featured .service-tag { color: #c81d46; background: #fff0f3; }
.service-card.location-featured .button { margin-top: 4px; background: #ff385c; }
.service-card.manual-featured { border-color: #bfe4cf; background: linear-gradient(145deg, #fff 0 62%, #effbf4 100%); }
.service-card.manual-featured .service-tag { color: #087044; background: #e8f7ef; }
.service-card.manual-featured .button { background: #087a4b; }
.service-card.excel-featured { border-color: #b9d8ff; background: linear-gradient(145deg, #fff 0 62%, #edf6ff 100%); }
.service-card.excel-featured .service-tag { color: #095caa; background: #eaf4ff; }
.service-card.excel-featured .button { background: #1167b1; }

.location-page {
  --loc-primary: #ff385c;
  --loc-primary-active: #e00b41;
  --loc-ink: #222222;
  --loc-body: #3f3f3f;
  --loc-muted: #6a6a6a;
  --loc-line: #dddddd;
  --loc-soft-line: #ebebeb;
  --loc-soft: #f7f7f7;
  --loc-canvas: #ffffff;
  --loc-shadow: rgba(0,0,0,.02) 0 0 0 1px, rgba(0,0,0,.04) 0 2px 6px, rgba(0,0,0,.10) 0 4px 8px;
  color: var(--loc-ink);
  background: var(--loc-canvas);
  font-family: Inter, Circular, -apple-system, BlinkMacSystemFont, "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

/* 원본 엑셀 입력 방식을 살린 Airbnb 가격 전용 워크시트 */
.excel-analysis-page {
  --excel-navy: #102a43;
  --excel-blue: #176bba;
  --excel-blue-soft: #eaf4ff;
  --excel-pink: #fff0f7;
  --excel-pink-line: #f3b7d3;
  --excel-gray: #f3f5f7;
  --excel-line: #dbe3ea;
  --excel-green: #0b7a53;
  color: #17212b;
  background: #f4f7fa;
}
.excel-analysis-page .site-header { background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.excel-analysis-page .brand-mark { background: var(--excel-blue); }
.excel-analysis-page .page-shell.excel-analysis-shell { width: min(1720px, calc(100% - 32px)); padding-top: 42px; }
.excel-hero { padding: 44px clamp(26px, 5vw, 72px); display: flex; align-items: end; justify-content: space-between; gap: 40px; color: white; border-radius: 28px; overflow: hidden; background: radial-gradient(circle at 82% 14%, rgba(80,167,255,.38), transparent 30%), linear-gradient(125deg, #0b1f33, #143f68 66%, #176bba); box-shadow: 0 22px 60px rgba(16,42,67,.20); }
.excel-kicker { margin-bottom: 12px; color: #8fcaff; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.excel-hero h1 { margin-bottom: 16px; font-size: clamp(38px, 4vw, 58px); font-weight: 650; }
.excel-hero h1 em { color: #72beff; font-style: normal; }
.excel-hero > div > p:last-child { max-width: 700px; margin-bottom: 0; color: rgba(255,255,255,.76); }
.excel-legend { min-width: 230px; padding: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.08); }
.excel-legend span { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.84); font-size: 13px; white-space: nowrap; }
.excel-legend i { width: 12px; height: 12px; border-radius: 3px; }
.excel-legend .required { background: #f5a9cc; }.excel-legend .optional { background: #c7ced5; }.excel-legend .automatic { background: #61b2ff; }.excel-legend .formula { background: white; }
.excel-alert { margin: 22px 0 -8px; padding: 16px 20px; color: #9b2b1c; border: 1px solid #ffc8bd; border-radius: 14px; background: #fff1ee; font-weight: 700; }
.excel-collection { position: relative; margin: 22px 0 -4px; padding: 18px 100px 22px 22px; display: grid; gap: 12px; border: 1px solid #b9d8ff; border-radius: 16px; background: white; overflow: hidden; }
.excel-collection > div { display: grid; }.excel-collection strong { font-size: 16px; }.excel-collection span { color: #637282; font-size: 13px; }
.excel-collection small { width: max-content; margin-top: 5px; padding: 5px 8px; border-radius: 999px; color: #176b3a; background: #dff4e7; font-size: 11px; font-weight: 800; }
.excel-collection.safety-yellow { border-color: #f3d49a; background: #fff9ec; }.excel-collection.safety-yellow small { color: #8a4b00; background: #ffedc2; }
.excel-collection.safety-red { border-color: #f2b8ae; background: #fff4f2; }.excel-collection.safety-red small { color: #b4232e; background: #ffe1df; }
.excel-collection > b { position: absolute; right: 24px; top: 18px; color: var(--excel-blue); font-size: 22px; }
.excel-collection > i { position: absolute; left: 0; right: 0; bottom: 0; height: 7px; background: #e5edf5; }.excel-collection > i em { display: block; height: 100%; background: linear-gradient(90deg, #176bba, #50a7ff); transition: width .35s ease; }
.excel-collection.collected { border-color: #b7e1cf; }.excel-collection.collected > i em { background: var(--excel-green); }
.excel-workbook { margin-top: 24px; display: grid; gap: 24px; }
.excel-cost-panel, .excel-table-panel, .excel-formulas { border: 1px solid var(--excel-line); border-radius: 22px; background: white; box-shadow: 0 8px 28px rgba(16,42,67,.07); }
.excel-cost-panel { padding: 28px; display: grid; grid-template-columns: 280px minmax(440px, 1fr) minmax(360px, .9fr); gap: 26px; align-items: start; }
.excel-section-title { display: flex; align-items: center; gap: 14px; }
.excel-section-title > span { width: 42px; height: 42px; display: grid; place-items: center; flex: none; color: white; border-radius: 13px; background: var(--excel-navy); font-size: 13px; font-weight: 800; }
.excel-section-title p { margin: 0; color: var(--excel-blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.excel-section-title h2 { margin: 2px 0 0; font-size: 25px; }
.cost-sheet { border: 1px solid var(--excel-line); border-radius: 15px; overflow: hidden; }
.cost-head, .cost-row, .cost-total { margin: 0; display: grid; grid-template-columns: 1.1fr 1fr 1fr; align-items: center; }
.cost-head { color: white; background: var(--excel-navy); }.cost-head > * { padding: 10px 12px; text-align: right; font-size: 13px; }.cost-head span { text-align: left; }
.cost-row { gap: 0; border-bottom: 1px solid var(--excel-line); }.cost-row > span { padding: 8px 12px; color: #536170; font-size: 13px; }.cost-row input { min-height: 39px; padding: 6px 10px; border: 0; border-left: 1px solid var(--excel-line); border-radius: 0; text-align: right; font-size: 14px; }
.cost-total { color: var(--excel-navy); background: #eef4f9; }.cost-total > * { padding: 11px 12px; text-align: right; font-size: 13px; }.cost-total span { text-align: left; font-weight: 800; }
.cost-extras { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.cost-extras label { gap: 5px; }.cost-extras label > span { font-size: 12px; }.cost-extras input { min-height: 42px; padding: 7px 10px; border: 1px solid #bbc7d2; border-radius: 9px; text-align: right; font-size: 14px; }
.suffix-input { position: relative; }.suffix-input input { padding-right: 40px; }.suffix-input b { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #627181; font-size: 13px; }
.excel-table-panel { padding: 28px; }
.excel-table-heading { margin-bottom: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.excel-summary-cards { display: flex; gap: 10px; }.excel-summary-cards article { min-width: 145px; padding: 12px 16px; display: grid; border: 1px solid var(--excel-line); border-radius: 13px; background: #f7f9fb; }.excel-summary-cards span { color: #667583; font-size: 11px; }.excel-summary-cards strong { font-size: 17px; }.excel-summary-cards .featured { color: white; border-color: var(--excel-blue); background: var(--excel-blue); }.excel-summary-cards .featured span { color: rgba(255,255,255,.72); }
.excel-scroll-hint { display: none; margin-bottom: 8px; color: #6a7987; text-align: center; font-size: 12px; }
.excel-grid-scroll { max-height: 610px; overflow: auto; border: 1px solid #cfd9e2; border-radius: 14px; background: white; }
.excel-grid { width: 2820px; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 12px; }
.excel-grid th, .excel-grid td { height: 62px; padding: 0; border-right: 1px solid #dce4ea; border-bottom: 1px solid #dce4ea; text-align: center; vertical-align: middle; }
.excel-grid thead { position: sticky; top: 0; z-index: 20; }.excel-grid th { height: 37px; padding: 6px; color: white; background: var(--excel-navy); font-weight: 750; line-height: 1.25; }.excel-grid th small { color: rgba(255,255,255,.7); font-size: 10px; }.excel-grid .sub-head th { height: 34px; background: #204a70; }.excel-grid .auto-group, .excel-grid .sub-head .auto-cell { background: #176bba; }
.excel-grid th:nth-child(1), .excel-grid td:nth-child(1) { width: 48px; }.excel-grid th:nth-child(2), .excel-grid td:nth-child(2) { width: 200px; }.excel-grid th:nth-child(3), .excel-grid td:nth-child(3) { width: 300px; }.excel-grid td:nth-child(4) { width: 74px; }
.excel-grid input, .excel-grid select { width: 100%; height: 61px; min-height: 0; padding: 8px; border: 0; border-radius: 0; background: transparent; text-align: center; font-size: 12px; }.excel-grid input:focus, .excel-grid select:focus { position: relative; z-index: 2; outline: 3px solid rgba(23,107,186,.25); box-shadow: inset 0 0 0 2px var(--excel-blue); }
.excel-grid .input-required { background: var(--excel-pink); }.excel-grid .input-optional { background: var(--excel-gray); }.excel-grid .input-auto { padding: 7px; color: #0c5f9f; background: var(--excel-blue-soft); }.excel-grid .input-auto output { display: block; font-weight: 800; }.excel-grid .input-auto small { color: #5880a1; font-size: 9px; }.excel-grid .formula-cell { padding: 7px; background: white; }.excel-grid .money-output output { font-weight: 700; }.excel-grid .profit-cell, .excel-grid .special-cell { padding: 8px; color: white; background: #17324d; font-weight: 800; }.excel-grid .special-cell { background: #0c6d5a; }
.excel-grid .row-number { position: sticky; left: 0; z-index: 9; color: #688; background: #edf2f6; }.excel-grid thead .row-number { z-index: 24; color: white; background: var(--excel-navy); }.excel-grid .sticky-name { position: sticky; left: 48px; z-index: 8; }.excel-grid .sticky-link { position: sticky; left: 248px; z-index: 8; box-shadow: 6px 0 10px rgba(16,42,67,.08); }.excel-grid thead .sticky-name, .excel-grid thead .sticky-link { z-index: 23; background: var(--excel-navy); }
.excel-grid .row-action { width: 42px; background: #fafbfc; }.excel-grid .row-action button { width: 28px; height: 28px; padding: 0; color: #73808c; border: 0; border-radius: 50%; background: #e8edf1; cursor: pointer; }.excel-grid .row-action button:hover { color: white; background: #c53b52; }
.excel-actions { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }.excel-add-row { padding: 10px 16px; color: var(--excel-blue); border: 1px dashed #8ebce5; border-radius: 11px; background: #f2f8fd; font-weight: 800; cursor: pointer; }.excel-add-row small { color: #6d8193; font-weight: 500; }.excel-actions > div { display: flex; gap: 10px; }.excel-collect-button { min-height: 50px; padding: 11px 20px; color: white; border: 0; border-radius: 12px; background: linear-gradient(120deg, #176bba, #0b4e89); font-weight: 800; cursor: pointer; }.excel-collect-button span { margin-right: 6px; color: #9dd2ff; }.excel-collect-button[disabled] { opacity: .6; }
.excel-formulas { overflow: hidden; }.excel-formulas summary { padding: 22px 26px; display: flex; align-items: center; gap: 14px; cursor: pointer; list-style: none; }.excel-formulas summary > span { width: 36px; height: 36px; display: grid; place-items: center; color: white; border-radius: 11px; background: var(--excel-navy); font-size: 12px; }.excel-formulas summary strong { font-size: 18px; }.excel-formulas summary small { color: #657483; }.excel-formulas > div { padding: 0 26px 26px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }.excel-formulas article { padding: 14px; display: flex; gap: 12px; border-radius: 12px; background: #f5f8fa; }.excel-formulas article > b { width: 50px; color: var(--excel-blue); }.excel-formulas article strong { font-size: 14px; }.excel-formulas article p { margin: 2px 0 0; color: #5e6d79; font-size: 12px; }
@media (max-width: 1100px) {
  .excel-cost-panel { grid-template-columns: 1fr 1.4fr; }.cost-extras { grid-column: 1 / -1; grid-template-columns: repeat(5, 1fr); }.excel-hero { align-items: start; flex-direction: column; }.excel-legend { width: 100%; grid-template-columns: repeat(4, auto); }.excel-table-heading { align-items: start; flex-direction: column; }.excel-summary-cards { width: 100%; }.excel-summary-cards article { flex: 1; }.excel-scroll-hint { display: block; }
}
@media (max-width: 720px) {
  .excel-analysis-page .page-shell.excel-analysis-shell { width: min(100% - 16px, 1720px); }.excel-hero { padding: 30px 24px; border-radius: 20px; }.excel-hero h1 { font-size: 36px; }.excel-legend { grid-template-columns: 1fr 1fr; }.excel-cost-panel, .excel-table-panel { padding: 18px; }.excel-cost-panel { grid-template-columns: 1fr; }.cost-extras { grid-column: auto; grid-template-columns: 1fr 1fr; }.excel-summary-cards { display: grid; grid-template-columns: 1fr; }.excel-actions { align-items: stretch; flex-direction: column; }.excel-actions > div { display: grid; }.excel-formulas > div { grid-template-columns: 1fr; }
}
.location-page .site-header { height: 80px; padding-left: max(24px, calc((100vw - 1280px) / 2)); padding-right: max(24px, calc((100vw - 1280px) / 2)); border-color: var(--loc-soft-line); }
.location-page .brand-mark { background: var(--loc-primary); }
.location-page .page-shell.location-shell { width: min(1280px, calc(100% - 48px)); padding-top: 0; }
.location-page .site-footer { color: var(--loc-muted); background: var(--loc-soft); }
.location-kicker { display: flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--loc-muted); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.location-kicker span { width: 30px; height: 2px; background: var(--loc-primary); }
.location-intro { min-height: 580px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 76px; padding: 78px 0 70px; border-bottom: 1px solid var(--loc-soft-line); }
.location-intro-copy h1 { margin-bottom: 24px; color: var(--loc-ink); font-size: clamp(44px, 4.4vw, 64px); font-weight: 600; line-height: 1.11; letter-spacing: -.055em; }
.location-intro-copy h1 em { color: var(--loc-primary); font-style: normal; }
.location-intro-copy > p:not(.location-kicker) { max-width: 590px; color: var(--loc-body); font-size: 18px; line-height: 1.7; }
.location-trust { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.location-trust span { padding: 8px 14px; border: 1px solid var(--loc-line); border-radius: 999px; color: var(--loc-body); font-size: 14px; }
.location-visual { position: relative; min-height: 430px; border-radius: 32px; overflow: hidden; background: linear-gradient(150deg, #2b2427 0%, #151515 66%, #3b151d 100%); }
.location-visual::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 70% 22%, rgba(255,56,92,.36), transparent 33%), linear-gradient(135deg, transparent 0 47%, rgba(255,255,255,.04) 47% 48%, transparent 48%); }
.visual-orbit { position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.orbit-one { width: 430px; height: 430px; right: -150px; top: -100px; }
.orbit-two { width: 280px; height: 280px; left: -120px; bottom: -130px; }
.visual-profit-card, .visual-rating-card, .visual-occupancy-card { position: absolute; border: 1px solid rgba(255,255,255,.14); color: white; background: rgba(255,255,255,.09); box-shadow: 0 30px 80px rgba(0,0,0,.28); backdrop-filter: blur(16px); }
.visual-profit-card { left: 54px; right: 54px; top: 68px; padding: 29px 32px 24px; border-radius: 22px; }
.visual-profit-card > span, .visual-profit-card small { display: block; color: rgba(255,255,255,.68); font-size: 13px; }
.visual-profit-card strong { display: block; margin: 6px 0 0; font-size: clamp(36px, 5vw, 58px); line-height: 1.15; letter-spacing: -.045em; }
.visual-profit-card strong::before { content: "₩"; margin-right: 8px; color: var(--loc-primary); font-size: .48em; vertical-align: top; }
.mini-chart { height: 72px; margin-top: 20px; display: flex; align-items: end; gap: 8px; }
.mini-chart i { flex: 1; border-radius: 7px 7px 2px 2px; background: linear-gradient(#ff6b85, var(--loc-primary)); opacity: .92; }
.visual-rating-card { left: 28px; bottom: 32px; padding: 18px 22px; border-radius: 18px; }
.visual-rating-card b { display: block; font-size: 27px; }
.visual-rating-card span { color: rgba(255,255,255,.68); font-size: 12px; }
.visual-occupancy-card { right: 26px; bottom: 28px; width: 210px; padding: 18px 20px; border-radius: 18px; }
.visual-occupancy-card span { display: block; color: rgba(255,255,255,.68); font-size: 12px; }
.visual-occupancy-card b { display: block; margin: 3px 0 10px; font-size: 26px; }
.visual-occupancy-card > i { display: block; height: 6px; border-radius: 999px; background: rgba(255,255,255,.16); }
.visual-occupancy-card > i em { display: block; width: 70%; height: 100%; border-radius: inherit; background: var(--loc-primary); }

.location-alert { margin: 32px 0 -8px; padding: 16px 20px; border-radius: 12px; color: #9b2b1c; background: #fff1ee; font-weight: 600; }
.header-manual-backup-button { min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid #087a4b; border-radius: 12px; color: #075c37; background: #f3fbf6; font-size: 16px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.header-manual-backup-button:hover { color: white; background: #087a4b; }
.link-entry-card { margin: 64px 0 28px; padding: 42px; border: 1px solid var(--loc-line); border-radius: 24px; background: white; }
.link-entry-heading { margin-bottom: 32px; display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.link-entry-heading > div > p { display: inline; margin-left: 10px; color: var(--loc-primary); font-size: 13px; font-weight: 700; }
.link-entry-heading h2 { margin: 11px 0 0; font-size: 30px; font-weight: 600; }
.link-entry-heading > p { max-width: 390px; margin-bottom: 0; color: var(--loc-muted); font-size: 14px; }
.step-chip { display: inline-grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: white; background: var(--loc-ink); font-size: 12px; font-weight: 700; }
.listing-entry-list { display: grid; gap: 12px; }
.listing-entry-row { position: relative; padding: 18px; display: grid; grid-template-columns: 50px .58fr 1.18fr .34fr 44px; align-items: end; gap: 14px; border: 1px solid var(--loc-soft-line); border-radius: 16px; background: var(--loc-soft); }
.manual-global-inputs { margin-bottom: 18px; padding: 18px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); align-items: start; gap: 14px; border: 1px solid var(--loc-soft-line); border-radius: 16px; background: var(--loc-soft); }
.manual-global-inputs label, .manual-extra-fields label { min-width: 0; display: grid; align-content: start; gap: 7px; }
.manual-global-inputs small, .manual-extra-fields small { color: var(--loc-muted); font-size: 11px; font-weight: 500; }
.manual-rich-listing-row { align-items: end; }
.manual-extra-fields { grid-column: 2 / 5; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; padding-top: 4px; }
.listing-number { align-self: center; color: var(--loc-primary); font-size: 13px; font-weight: 700; letter-spacing: .1em; }
.location-page label { font-weight: 500; }
.location-page label > span { color: var(--loc-muted); font-size: 13px; font-weight: 500; }
.location-page input:not([type="range"]) { min-height: 54px; border: 1px solid var(--loc-line); border-radius: 10px; color: var(--loc-ink); background: white; }
.location-page select { width: 100%; min-height: 54px; padding: 0 13px; border: 1px solid var(--loc-line); border-radius: 10px; color: var(--loc-ink); background: white; font: inherit; }
.location-page input:not([type="range"]):focus { outline: none; border: 2px solid var(--loc-ink); box-shadow: none; }
.icon-remove { width: 42px; height: 42px; margin-bottom: 6px; border: 0; border-radius: 50%; color: var(--loc-muted); background: #ededed; font-size: 26px; cursor: pointer; }
.entry-actions { margin-top: 20px; display: flex; justify-content: space-between; gap: 16px; }
.add-listing-button { min-height: 52px; padding: 0 20px; border: 1px solid var(--loc-ink); border-radius: 999px; color: var(--loc-ink); background: white; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.add-listing-button small { margin-left: 9px; color: var(--loc-muted); font-weight: 400; }
.location-primary-button, .location-outline-button { min-height: 50px; padding: 12px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; border-radius: 10px; text-decoration: none; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.location-primary-button { border: 0; color: white; background: var(--loc-primary); }
.location-primary-button:hover { background: var(--loc-primary-active); }
.location-primary-button:disabled { color: white; background: #ffd1da; cursor: not-allowed; }
.collection-pacer-notice { margin: 10px 0 0; padding: 11px 14px; border: 1px solid #f3d49a; border-radius: 10px; color: #8a4b00; background: #fff9ec; font-size: 14px; font-weight: 800; }
.collection-pacer-notice.is-blocked { border-color: #f2b8ae; color: #b4232e; background: #fff4f2; }
.saved-price-result { margin: 10px 0 0; padding: 12px 14px; border: 1px solid #a9c8ee; border-radius: 10px; color: #075fad; background: #f4f9ff; font-size: 14px; font-weight: 800; }
.manual-analysis-notice { margin-bottom: 26px; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #92d6b2; border-radius: 16px; color: #075c37; background: #effbf4; }
.manual-analysis-notice div { display: grid; gap: 4px; }
.manual-analysis-notice strong { font-size: 18px; }
.manual-analysis-notice span { color: #397257; font-size: 13px; }
.manual-analysis-notice > b { color: var(--loc-ink); font-size: 15px; }
.manual-rent-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.manual-rent-overview article { min-height: 130px; padding: 24px; display: grid; align-content: center; gap: 7px; border: 1px solid var(--loc-soft-line); border-radius: 18px; background: white; }
.manual-rent-overview span, .manual-rent-overview small { color: var(--loc-muted); font-size: 12px; }
.manual-rent-overview strong { font-size: 24px; }
@media (max-width: 900px) {
  .manual-analysis-notice { align-items: stretch; flex-direction: column; }
  .manual-rent-overview { grid-template-columns: 1fr; }
  .manual-extra-fields { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.location-outline-button { border: 1px solid var(--loc-ink); color: var(--loc-ink); background: white; }
.location-process { margin: 56px 0 80px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--loc-line); border-bottom: 1px solid var(--loc-line); }
.location-process article { padding: 28px 24px; display: flex; gap: 17px; }
.location-process article + article { border-left: 1px solid var(--loc-line); }
.location-process b { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--loc-primary); font-size: 12px; }
.location-process strong, .location-process span { display: block; }
.location-process strong { margin-bottom: 3px; font-size: 16px; }
.location-process span { color: var(--loc-muted); font-size: 13px; }

/* 결과 대시보드 */
.location-page .page-shell.dashboard-shell { padding-bottom: 110px; }
.dashboard-topbar { padding: 58px 0 32px; display: flex; justify-content: space-between; align-items: end; gap: 32px; }
.dashboard-topbar h1 { margin: 0 0 6px; font-size: clamp(34px, 5vw, 54px); font-weight: 600; }
.dashboard-topbar > div > p:last-child { color: var(--loc-muted); }
.dashboard-top-actions { display: flex; gap: 10px; }
.dashboard-control-stack { display: grid; justify-items: end; gap: 10px; }
.collection-live-note { display: block; color: #5b6675 !important; font-weight: 650 !important; }
.dashboard-top-actions form { margin: 0; }
.location-reset-button { min-height: 50px; padding: 12px 18px; border: 1px solid #d92d20; border-radius: 10px; color: #b42318; background: #fff5f4; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.location-reset-button:hover { color: white; background: #b42318; }
.location-reset-button:disabled { opacity: .6; cursor: wait; }
.location-reset-success { margin: 28px 0 -6px; padding: 18px 20px; display: grid; gap: 4px; border: 1px solid #92d6b2; border-radius: 14px; color: #075c37; background: #effbf4; }
.location-reset-success strong { font-size: 17px; }.location-reset-success span { font-size: 14px; }
.export-menu { position: relative; }
.export-menu [data-export-menu] { position: absolute; z-index: 30; right: 0; top: calc(100% + 10px); min-width: 210px; padding: 8px; display: none; border: 1px solid var(--loc-soft-line); border-radius: 14px; background: white; box-shadow: 0 18px 50px rgba(0,0,0,.14); }
.export-menu [data-export-menu].is-open { display: grid; }
.export-menu [data-export-menu] a, .export-menu [data-export-menu] button { width: 100%; padding: 12px 13px; border: 0; border-radius: 9px; color: var(--loc-ink); background: transparent; text-align: left; text-decoration: none; font: inherit; font-size: 14px; cursor: pointer; }
.export-menu [data-export-menu] a:hover, .export-menu [data-export-menu] button:hover { background: var(--loc-soft); }
.collection-rail { position: relative; margin-bottom: 26px; padding: 20px 24px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto auto; align-items: center; gap: 16px; overflow: hidden; border: 1px solid #c9e8d5; border-radius: 16px; background: #f4fbf7; }
.collection-copy { display: grid; gap: 4px; }
.collection-copy > span { color: var(--loc-muted); font-size: 13px; }
.collection-copy > small { color: #176b3a; font-size: 12px; font-weight: 750; }
.collection-safety { padding: 7px 10px; border-radius: 999px; color: #176b3a; background: #dff4e7; font-size: 12px; font-weight: 850; white-space: nowrap; }
.collection-rail.safety-yellow { border-color: #f3d49a; background: #fff9ec; }
.collection-rail.safety-yellow .collection-safety { color: #8a4b00; background: #ffedc2; }
.collection-rail.safety-yellow .collection-copy > small { color: #8a4b00; }
.collection-rail.safety-red { border-color: #f2b8ae; background: #fff4f2; }
.collection-rail.safety-red .collection-safety { color: #b4232e; background: #ffe1df; }
.collection-rail.safety-red .collection-copy > small { color: #b4232e; }
.collection-region-bar { margin-bottom: 12px; padding: 16px 18px; display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 16px; border: 1px solid #d9e6f8; border-radius: 16px; background: #f7faff; }
.collection-region-bar[hidden] { display: none; }
.collection-region-bar label { display: grid; grid-template-columns: 92px minmax(180px, 420px); align-items: center; gap: 4px 12px; }
.collection-region-bar label > span { color: #1768c4; font-size: 11px; font-weight: 800; }
.collection-region-bar input { min-height: 44px; padding: 0 13px; border: 1px solid #b9d1f2; border-radius: 10px; background: white; font-size: 15px; font-weight: 700; }
.collection-region-bar small { grid-column: 2; color: var(--loc-muted); font-size: 10px; }
.collection-region-actions { display: grid; grid-template-columns: minmax(160px, auto); gap: 8px; }.collection-region-actions small { max-width: 430px; color: var(--loc-muted); font-size: 11px; line-height: 1.4; }
.collection-rail > em { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #ffe0e6; }
.collection-rail > em i { display: block; height: 100%; background: var(--loc-primary); transition: width .3s ease; }
.collection-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: white; }
.collection-icon i { width: 11px; height: 11px; border-radius: 50%; background: var(--loc-primary); box-shadow: 0 0 0 7px rgba(255,56,92,.12); }
.collection-rail strong, .collection-rail span { display: block; }
.collection-rail span { color: var(--loc-muted); font-size: 13px; }
.collection-rail > b { color: var(--loc-primary); font-size: 13px; }
.recovery-guide { margin: -8px 0 28px; overflow: hidden; border: 1px solid #d9e2ef; border-radius: 16px; background: white; }
.recovery-guide.has-issue { border-color: #f2b8ae; background: #fff9f7; box-shadow: 0 8px 24px rgba(180,35,24,.08); }
.recovery-guide summary { min-height: 62px; padding: 15px 20px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.recovery-guide summary::-webkit-details-marker { display: none; }
.recovery-guide summary > span { padding: 5px 9px; border-radius: 999px; color: #1768c4; background: #edf5ff; font-size: 11px; font-weight: 800; }
.recovery-guide.has-issue summary > span { color: #b42318; background: #fee9e7; }
.recovery-guide summary > strong { font-size: 15px; }.recovery-guide summary > i { color: var(--loc-muted); font-style: normal; font-size: 20px; transition: transform .2s ease; }
.recovery-guide[open] summary > i { transform: rotate(45deg); }
.recovery-guide > div { padding: 0 20px 18px; border-top: 1px solid var(--loc-soft-line); }
.recovery-guide ol { margin: 0; padding: 16px 0 10px; display: grid; gap: 10px; list-style: none; counter-reset: recovery-step; }
.recovery-guide li { display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; counter-increment: recovery-step; }
.recovery-guide li::before { content: counter(recovery-step); width: 24px; height: 24px; grid-row: 1 / span 2; display: grid; place-items: center; border-radius: 50%; color: white; background: #1768c4; font-size: 12px; font-weight: 800; }
.recovery-guide li b, .recovery-guide li span { grid-column: 2; }.recovery-guide li b { font-size: 14px; }.recovery-guide li span { color: var(--loc-muted); font-size: 13px; }
.recovery-guide p { margin: 4px 0 0; padding: 12px 14px; border-radius: 10px; color: #6d4a45; background: #fff1ee; font-size: 12px; line-height: 1.55; }
.dashboard-metrics { display: grid; grid-template-columns: 1.2fr 1fr 1fr .9fr; border: 1px solid var(--loc-line); border-radius: 20px; overflow: hidden; }
.dashboard-metrics article { min-height: 160px; padding: 26px; display: flex; flex-direction: column; justify-content: center; background: white; }
.dashboard-metrics article + article { border-left: 1px solid var(--loc-line); }
.dashboard-metrics span, .dashboard-metrics small { color: var(--loc-muted); font-size: 13px; }
.dashboard-metrics strong { margin: 7px 0 3px; font-size: clamp(25px, 3vw, 36px); line-height: 1.2; letter-spacing: -.04em; }
.dashboard-metrics .metric-main { color: white; background: var(--loc-ink); }
.dashboard-metrics .metric-main span, .dashboard-metrics .metric-main small { color: rgba(255,255,255,.65); }
.dashboard-metrics .metric-main strong { color: white; }
.dashboard-metrics .metric-rating strong { color: var(--loc-primary); font-size: 46px; }
.portfolio-ranking { overflow: hidden; border: 1px solid var(--loc-line); border-radius: 20px; background: white; }
.portfolio-ranking-heading { padding: 20px 24px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--loc-soft-line); }
.portfolio-ranking-heading > div { display: flex; align-items: center; gap: 12px; }.portfolio-ranking-heading h2 { margin: 0; font-size: 22px; font-weight: 600; }.portfolio-ranking-heading .section-number { grid-row: auto; }.portfolio-ranking-heading > span { color: var(--loc-muted); font-size: 12px; }
.portfolio-ranking-list { display: grid; }
.portfolio-ranking-row { padding: 17px 22px; display: grid; grid-template-columns: 38px minmax(180px, 1.3fr) minmax(78px, .45fr) repeat(4, minmax(112px, .8fr)); align-items: center; gap: 16px; transition: background .2s ease; }
.portfolio-ranking-row + .portfolio-ranking-row { border-top: 1px solid var(--loc-soft-line); }
.portfolio-ranking-row:hover { background: #fff8f9; }.portfolio-ranking-row.pending { background: #fafafa; }
.portfolio-ranking-row > b:first-child { width: 30px; height: 30px; display: grid; place-items: center; color: white; border-radius: 50%; background: var(--loc-ink); font-size: 12px; }
.portfolio-ranking-row:first-child > b:first-child { background: var(--loc-primary); }
.portfolio-ranking-row > div { min-width: 0; display: grid; gap: 2px; }.portfolio-ranking-row > div > span { overflow: hidden; color: var(--loc-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.portfolio-ranking-row > div > strong { overflow: hidden; font-size: 15px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.portfolio-ranking-row .ranking-property strong { font-size: 16px; }.portfolio-ranking-row .ranking-property span { font-size: 11px; }.portfolio-ranking-row > div:last-child strong { color: var(--loc-primary); font-size: 19px; }
.ranking-interior { align-items: start; }
.ranking-grade { width: fit-content; min-width: 38px; padding: 5px 10px; border-radius: 8px; text-align: center; font-size: 13px !important; font-style: normal; font-weight: 850 !important; letter-spacing: -.02em; }
.ranking-grade.grade-a-plus { color: #075fad; background: #ddebff; }
.ranking-grade.grade-a { color: #08783e; background: #dff7e9; }
.ranking-grade.grade-b { color: #8a6100; background: #fff1b8; }
.ranking-grade.grade-c { color: #b42318; background: #ffe2df; }
.portfolio-ranking-row [data-ranking-value="profit"] { color: #8f2935; font-size: 18px; font-weight: 800; }
.dashboard-section { padding-top: 72px; }
.dashboard-section-heading { margin-bottom: 25px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.dashboard-section-heading > div { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 14px; }
.dashboard-section-heading h2 { margin: 0; font-size: 30px; font-weight: 600; }
.dashboard-section-heading > div > span { grid-column: 2; color: var(--loc-muted); font-size: 14px; }
.section-number { grid-row: 1 / span 2; margin: 0; color: var(--loc-primary); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.ready-count { padding: 8px 13px; border-radius: 999px; color: var(--loc-muted); background: var(--loc-soft); font-size: 13px; }
.location-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); align-items: stretch; gap: 24px; }
.location-property-card { overflow: hidden; display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--loc-line); border-radius: 18px; background: white; transition: box-shadow .2s ease, transform .2s ease; }
.location-property-card:hover { box-shadow: var(--loc-shadow); transform: translateY(-2px); }
.property-card-ribbon { min-height: 64px; padding: 14px 16px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid var(--loc-soft-line); background: linear-gradient(90deg,#fafafa,#fff5f7); }
.property-card-ribbon > b { margin-right: auto; color: var(--loc-primary); font-size: 12px; letter-spacing: .15em; }
.property-card-ribbon .property-status, .property-card-ribbon .property-grade { position: static; padding: 7px 10px; box-shadow: none; }
.property-card-ribbon .property-status { border: 1px solid var(--loc-line); }.property-card-ribbon .property-grade { color: white; background: var(--loc-primary); }
.property-photo-wrap { position: relative; aspect-ratio: 16 / 8.8; overflow: hidden; background: #252525; }
.property-photo-wrap img { width: 100%; height: 100%; object-fit: cover; }
.property-photo-placeholder { width: 100%; height: 100%; padding: 28px; display: flex; align-items: end; justify-content: space-between; color: white; background: radial-gradient(circle at 75% 20%, #6c2b37, transparent 27%), linear-gradient(135deg, #181818, #353033); }
.property-photo-placeholder span { align-self: start; color: var(--loc-primary); font-size: 12px; letter-spacing: .2em; }
.property-photo-placeholder b { font-size: 36px; line-height: .92; letter-spacing: -.06em; opacity: .9; }
.property-status, .property-grade { position: absolute; top: 16px; padding: 8px 12px; border-radius: 999px; box-shadow: var(--loc-shadow); font-size: 11px; font-weight: 700; }
.property-status { left: 16px; color: var(--loc-ink); background: white; }
.property-grade { right: 16px; color: white; background: var(--loc-primary); }
.property-card-body { min-height: 100%; padding: 23px; display: grid; grid-template-rows: 64px 52px 104px 40px 98px 92px 126px 34px auto; }
.property-title-row { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.property-title-row h3 { margin: 0 0 2px; overflow: hidden; display: -webkit-box; font-size: 21px; font-weight: 600; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.property-title-row a { color: var(--loc-muted); font-size: 12px; }
.property-rating { white-space: nowrap; font-size: 15px; }
.property-facts { margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--loc-soft-line); border-bottom: 1px solid var(--loc-soft-line); }
.property-facts span { padding: 13px 6px; color: var(--loc-muted); text-align: center; font-size: 12px; }
.property-facts span + span { border-left: 1px solid var(--loc-soft-line); }
.property-facts b { margin-right: 3px; color: var(--loc-ink); font-size: 15px; }
.property-price-row { padding-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.property-price-row > div { padding: 15px; border-radius: 12px; background: var(--loc-soft); }
.property-price-row span, .property-price-row small { display: block; color: var(--loc-muted); font-size: 11px; }
.property-price-row strong { display: block; margin: 5px 0 2px; font-size: 20px; }
.price-message-slot { min-height: 40px; margin: 0; padding-top: 10px; overflow: hidden; display: -webkit-box; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.price-message-slot.is-empty, .card-missing-slot.is-empty { visibility: hidden; }
.occupancy-block { margin: 0; padding-top: 10px; }
.occupancy-block > div:first-child { display: flex; align-items: center; justify-content: space-between; }
.occupancy-block span, .occupancy-block small { color: var(--loc-muted); font-size: 12px; }
.occupancy-block strong { font-size: 20px; }
.occupancy-track { height: 7px; margin: 9px 0 5px; overflow: hidden; border-radius: 999px; background: #eeeeee; }
.occupancy-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff8ca0, var(--loc-primary)); transition: width .25s ease; }
.rent-evidence { margin: 14px 0 10px; padding: 13px 15px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; border: 1px solid var(--loc-soft-line); border-radius: 12px; }
.rent-evidence span, .rent-evidence strong { display: block; }
.rent-evidence span, .rent-evidence small { color: var(--loc-muted); font-size: 11px; }
.rent-evidence strong { font-size: 17px; }
.rent-evidence > small { text-align: right; line-height: 1.5; }
.rent-evidence > small b { color: var(--loc-ink); }
.rent-benchmark-grid { margin: 0 0 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.rent-benchmark-grid article { min-width: 0; padding: 12px 13px; border-radius: 11px; background: #f7f7f7; }
.rent-benchmark-grid article.applied { color: white; background: var(--loc-ink); }
.rent-benchmark-grid span, .rent-benchmark-grid strong, .rent-benchmark-grid small { display: block; }
.rent-benchmark-grid span { color: var(--loc-muted); font-size: 10px; }
.rent-benchmark-grid strong { margin: 3px 0; overflow: hidden; text-overflow: ellipsis; font-size: 15px; white-space: nowrap; }
.rent-benchmark-grid small { color: var(--loc-muted); font-size: 9px; line-height: 1.45; }
.rent-benchmark-grid .applied span, .rent-benchmark-grid .applied small { color: rgba(255,255,255,.62); }
.rent-sample-menu { margin: 0 0 18px; overflow: hidden; border: 1px solid var(--loc-soft-line); border-radius: 12px; }
.rent-sample-menu > summary { padding: 12px 14px; display: grid; grid-template-columns: 1fr auto 20px; align-items: center; gap: 9px; list-style: none; color: var(--loc-ink); background: #fafafa; cursor: pointer; font-size: 12px; font-weight: 600; }
.rent-sample-menu > summary::-webkit-details-marker { display: none; }.rent-sample-menu > summary b { color: var(--loc-primary); }.rent-sample-menu > summary i { font-size: 18px; font-style: normal; transition: transform .2s ease; }.rent-sample-menu[open] > summary i { transform: rotate(45deg); }
.rent-sample-group { border-top: 1px solid var(--loc-soft-line); }
.rent-sample-group-heading { padding: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #fff8f9; }
.rent-sample-group-heading strong { color: var(--loc-primary); font-size: 13px; }
.rent-sample-group-heading span { color: var(--loc-muted); text-align: right; font-size: 10px; }
.rent-sample-list { max-height: 430px; overflow: auto; }
.rent-sample-head, .rent-sample-list article { padding: 10px 12px; display: grid; grid-template-columns: minmax(150px, 1.5fr) repeat(3, minmax(82px, .72fr)) 72px; align-items: center; gap: 9px; }
.rent-sample-head { position: sticky; top: 0; z-index: 2; color: var(--loc-muted); background: white; font-size: 9px; }
.rent-sample-list article { border-top: 1px solid #f1f1f1; font-size: 10px; }.rent-sample-list article.excluded { opacity: .58; background: #f7f7f7; }.rent-sample-list article > div { min-width: 0; display: grid; }.rent-sample-list article strong, .rent-sample-list article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.rent-sample-list article small { color: var(--loc-muted); }.rent-sample-list article a { margin-top: 2px; color: var(--loc-primary); font-size: 9px; }.rent-sample-list article > b { color: #0f7b61; font-size: 9px; }.rent-sample-list article.excluded > b { color: #8a8a8a; }
.rent-sample-empty { margin: 0; padding: 13px; color: var(--loc-muted); font-size: 11px; }.rent-sample-empty.legacy { border-top: 1px solid var(--loc-soft-line); color: #ae411f; background: #fff9f4; }
.interior-evidence { margin: 0 0 10px; padding: 14px 15px; overflow: hidden; border-radius: 12px; background: #fff5f7; }
.interior-evidence > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.interior-evidence span, .interior-evidence small { color: var(--loc-muted); font-size: 11px; }
.interior-evidence strong { color: var(--loc-primary); font-size: 20px; }
.interior-evidence p { margin: 8px 0 4px; overflow: hidden; display: -webkit-box; color: var(--loc-body); font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.property-profit-row { margin: 8px 0 10px; padding: 18px 19px; display: flex; flex-direction: column; justify-content: center; border: 1px solid #bfd8ff; border-radius: 14px; color: var(--loc-ink); background: #eef6ff; }
.property-profit-row span, .property-profit-row strong, .property-profit-row small { display: block; }
.property-profit-row span, .property-profit-row small { color: #5f7188; font-size: 11px; }
.property-profit-row strong { margin: 2px 0; color: #086bd8; font-size: 31px; font-weight: 850; letter-spacing: -.035em; }
.missing-note { color: #ae411f; font-size: 12px; }
.card-missing-slot { min-height: 34px; margin: 0; padding-top: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-correction { margin-top: 0; border-top: 1px solid var(--loc-soft-line); }
.property-correction summary { padding: 15px 0 0; color: var(--loc-muted); font-size: 13px; font-weight: 600; cursor: pointer; }
.slot-value-updating { display: inline-block !important; transform-origin: 50% 50%; will-change: transform, filter; animation: slot-value-roll .16s linear infinite; }
@keyframes slot-value-roll { 0% { transform: translateY(-4px); filter: blur(1.1px); } 50% { transform: translateY(4px); filter: blur(.4px); } 100% { transform: translateY(-4px); filter: blur(1.1px); } }
.correction-grid { margin-top: 15px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.correction-grid input { min-height: 46px !important; }
.correction-grid select { min-height: 46px; }
.correction-grid .correction-wide { grid-column: span 2; }
.correction-grid .location-primary-button { grid-column: 1 / -1; }
.simulator-panel { display: grid; grid-template-columns: 1.35fr .65fr; overflow: hidden; border: 1px solid var(--loc-line); border-radius: 20px; }
.simulator-controls { padding: 34px; display: grid; gap: 26px; }
.simulator-property-picker { padding: 16px 18px; display: grid; grid-template-columns: auto minmax(180px, 1fr); align-items: center; gap: 6px 16px; border-radius: 14px; background: #f7f7f7; }
.simulator-property-picker label { font-size: 12px; font-weight: 700; }
.simulator-property-picker select { width: 100%; min-height: 46px; padding: 0 38px 0 13px; border: 1px solid var(--loc-line); border-radius: 10px; color: var(--loc-ink); background: white; font: inherit; }
.simulator-property-picker small { grid-column: 1 / -1; color: var(--loc-muted); font-size: 10px; }
.simulator-controls label > span { display: flex; justify-content: space-between; color: var(--loc-ink); font-size: 14px; }
.simulator-controls label b { color: var(--loc-primary); }
.simulator-controls input[type="range"] { width: 100%; height: 6px; margin-top: 12px; accent-color: var(--loc-primary); cursor: pointer; }
.simulator-value-control > div { margin-top: 10px; display: grid; grid-template-columns: minmax(120px, 1fr) 132px 18px; align-items: center; gap: 10px; }
.simulator-value-control > div input[type="range"] { margin-top: 0; }
.simulator-value-control > div input[type="number"] { width: 100%; min-height: 43px; padding: 0 10px; border: 1px solid var(--loc-line); border-radius: 9px; color: var(--loc-ink); background: white; text-align: right; font: inherit; font-weight: 600; }
.simulator-value-control > div em { color: var(--loc-muted); font-size: 11px; font-style: normal; }
.simulator-value-control > small { display: block; margin-top: 7px; color: var(--loc-muted); font-size: 10px; }
.simulator-live-card { padding: 36px; display: flex; flex-direction: column; justify-content: center; color: white; background: var(--loc-ink); }
.simulator-live-card > span { color: var(--loc-primary); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.simulator-live-card > h3 { margin: 16px 0 0; overflow: hidden; color: rgba(255,255,255,.78); font-size: 15px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.simulator-live-card > strong { margin-top: 6px; font-size: clamp(30px, 4vw, 46px); line-height: 1.12; letter-spacing: -.05em; }
.simulator-live-card > p { color: rgba(255,255,255,.6); font-size: 12px; }
.simulator-bars { height: 100px; margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 12px; }
.simulator-bars i { display: block; min-height: 6px; border-radius: 7px 7px 2px 2px; background: #666; transition: height .25s ease; }
.simulator-bars i[data-bar="revenue"] { background: #fff; }
.simulator-bars i[data-bar="cost"] { background: #727272; }
.simulator-bars i[data-bar="profit"] { background: var(--loc-primary); }
.bar-labels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.bar-labels span { padding-top: 6px; color: rgba(255,255,255,.54); text-align: center; font-size: 10px; }
.rent-ledger-list { overflow: hidden; border: 1px solid var(--loc-line); border-radius: 18px; }
.shared-rent-overview { margin-bottom: 14px; display: grid; grid-template-columns: 1.15fr 1.05fr 1fr 1fr; gap: 12px; }
.shared-rent-overview article { padding: 18px; border: 1px solid var(--loc-soft-line); border-radius: 15px; background: white; }
.shared-rent-overview article.region { border-color: #cfe1ff; background: #f5f9ff; }
.shared-rent-overview article.applied { border-color: #91bbf5; background: #eaf3ff; }
.shared-rent-overview span, .shared-rent-overview strong, .shared-rent-overview small { display: block; }
.shared-rent-overview span { color: var(--loc-muted); font-size: 10px; }
.shared-rent-overview strong { margin: 5px 0; font-size: 20px; }
.shared-rent-overview article.region strong { color: #1768c4; }
.shared-rent-overview article.applied strong { color: #086bd8; font-weight: 850; }
.shared-rent-overview small { color: var(--loc-muted); font-size: 10px; }
.rent-ledger-property + .rent-ledger-property { border-top: 1px solid var(--loc-line); }
.rent-ledger-property > summary { min-height: 82px; padding: 16px 22px; display: grid; grid-template-columns: 38px 1fr auto 26px; align-items: center; gap: 14px; list-style: none; cursor: pointer; background: white; }
.rent-ledger-property > summary::-webkit-details-marker { display: none; }
.rent-ledger-property > summary > span { color: var(--loc-primary); font-size: 11px; font-weight: 700; }
.rent-ledger-property > summary > div { min-width: 0; display: grid; gap: 4px; }
.rent-ledger-property > summary strong, .rent-ledger-property > summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rent-ledger-property > summary strong { font-size: 17px; }
.rent-ledger-property > summary small { color: var(--loc-muted); font-size: 11px; }
.rent-ledger-property > summary > b { min-width: 54px; padding: 7px 10px; border-radius: 999px; color: var(--loc-primary); background: #fff1f3; text-align: center; font-size: 11px; }
.rent-ledger-property > summary > i { font-size: 23px; font-style: normal; transition: transform .2s ease; }
.rent-ledger-property[open] > summary { background: #fffafb; }
.rent-ledger-property[open] > summary > i { transform: rotate(45deg); }
.rent-ledger-body { padding: 0 22px 22px; display: grid; gap: 16px; background: #fffafb; }
.rent-ledger-room { overflow: hidden; border: 1px solid var(--loc-soft-line); border-radius: 13px; background: white; }
.rent-ledger-room > header { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fafafa; }
.rent-ledger-room > header div { display: grid; gap: 2px; }
.rent-ledger-room > header strong { font-size: 15px; }
.rent-ledger-room > header span { color: var(--loc-muted); font-size: 10px; }
.rent-ledger-room > header p { margin: 0; color: var(--loc-muted); text-align: right; font-size: 11px; }
.rent-ledger-room > header p b { color: var(--loc-ink); font-size: 14px; }
.rent-ledger-samples { max-height: 520px; border-top: 1px solid var(--loc-soft-line); }
.rent-ledger-empty { margin: 0; padding: 18px 16px; color: var(--loc-muted); font-size: 12px; }
.formula-appendix { margin-top: 8px; }
.formula-group { border-top: 1px solid var(--loc-line); }
.formula-group:last-child { border-bottom: 1px solid var(--loc-line); }
.formula-group summary { padding: 21px 4px; display: grid; grid-template-columns: 45px 1fr auto 26px; align-items: center; gap: 12px; list-style: none; cursor: pointer; }
.formula-group summary::-webkit-details-marker { display: none; }
.formula-group summary > span { color: var(--loc-primary); font-size: 11px; font-weight: 700; }
.formula-group summary strong { font-size: 18px; font-weight: 600; }
.formula-group summary em { color: var(--loc-muted); font-size: 12px; font-style: normal; }
.formula-group summary i { font-size: 24px; font-style: normal; transition: transform .2s ease; }
.formula-group[open] summary i { transform: rotate(45deg); }
.formula-list { padding: 0 0 24px 57px; }
.formula-list article { padding: 18px 20px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; border-radius: 12px; background: var(--loc-soft); }
.formula-list article + article { margin-top: 8px; }
.formula-list span, .formula-list strong { display: block; }
.formula-list span { margin-bottom: 5px; color: var(--loc-primary); font-size: 11px; font-weight: 700; }
.formula-list strong { font-size: 14px; font-weight: 600; }
.formula-list p { margin: 0; color: var(--loc-muted); font-size: 12px; }

@media (max-width: 980px) {
  .location-intro { grid-template-columns: 1fr; gap: 42px; }
  .location-visual { min-height: 390px; }
  .dashboard-metrics { grid-template-columns: 1fr 1fr; }
  .dashboard-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--loc-line); }
  .dashboard-metrics article:nth-child(4) { border-top: 1px solid var(--loc-line); }
  .location-card-grid { grid-template-columns: 1fr; }
  .portfolio-ranking-row { grid-template-columns: 38px minmax(160px, 1.2fr) repeat(2, minmax(112px, .8fr)); }.portfolio-ranking-row > div:nth-of-type(n+4) { margin-top: -4px; grid-column: span 1; }
}
@media (max-width: 744px) {
  .service-choice-grid, .location-process, .simulator-panel { grid-template-columns: 1fr; }
  .rent-benchmark-grid { grid-template-columns: 1fr; }
  .simulator-property-picker { grid-template-columns: 1fr; }
  .simulator-property-picker small { grid-column: auto; }
  .simulator-value-control > div { grid-template-columns: minmax(100px, 1fr) 112px 16px; }
  .location-page .page-shell.location-shell { width: min(100% - 24px, 1280px); }
  .location-intro { min-height: 0; padding: 52px 0; }
  .location-intro-copy h1 { font-size: 42px; }
  .location-visual { min-height: 350px; }
  .visual-profit-card { left: 22px; right: 22px; top: 40px; }
  .visual-rating-card { left: 18px; bottom: 20px; }
  .visual-occupancy-card { right: 18px; bottom: 18px; width: 180px; }
  .link-entry-card { margin-top: 42px; padding: 24px 18px; }
  .link-entry-heading, .dashboard-topbar, .dashboard-section-heading { display: block; }
  .link-entry-heading > p { margin-top: 14px; }
  .listing-entry-row { grid-template-columns: 34px 1fr 38px; }
  .listing-entry-row label { grid-column: 2; }
  .listing-entry-row .listing-number { grid-row: 1 / span 3; }
  .listing-entry-row .icon-remove { grid-column: 3; grid-row: 1 / span 3; align-self: center; }
  .manual-global-inputs { grid-template-columns: 1fr; }
  .manual-rich-listing-row .manual-extra-fields { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .manual-rich-listing-row .manual-extra-fields label { grid-column: auto; }
  .entry-actions, .dashboard-top-actions { margin-top: 20px; flex-direction: column; }
  .dashboard-control-stack { width: 100%; justify-items: stretch; }
  .dashboard-top-actions form { width: 100%; }
  .entry-actions button, .dashboard-top-actions a, .dashboard-top-actions button { width: 100%; }
  .export-menu [data-export-menu] { position: static; margin-top: 8px; box-shadow: none; }
  .location-process article + article { border-left: 0; border-top: 1px solid var(--loc-line); }
  .collection-rail { grid-template-columns: 42px 1fr; }
  .collection-rail .collection-safety { grid-column: 2; justify-self: start; }
  .collection-region-bar { grid-template-columns: 1fr; }.collection-region-bar label { grid-template-columns: 1fr; }.collection-region-bar small { grid-column: 1; }.collection-region-actions { grid-template-columns: 1fr; }.collection-region-actions small { grid-column: 1; }
  .collection-rail > b { display: none; }
  .dashboard-metrics { grid-template-columns: 1fr; }
  .dashboard-metrics article + article { border-left: 0; border-top: 1px solid var(--loc-line); }
  .portfolio-ranking-heading { align-items: flex-start; flex-direction: column; }.portfolio-ranking-row { padding: 15px; grid-template-columns: 32px 1fr 1fr; gap: 12px; }.portfolio-ranking-row > b:first-child { grid-row: 1 / span 4; }.portfolio-ranking-row .ranking-property { grid-column: 2 / -1; }.portfolio-ranking-row > div:nth-of-type(n+2) { grid-column: auto; margin-top: 0; }.portfolio-ranking-row > div > strong { font-size: 13px; }.portfolio-ranking-row > div:last-child strong { font-size: 15px; }
  .property-photo-wrap { aspect-ratio: 4 / 3; }
  .property-card-ribbon { flex-wrap: wrap; }.property-card-ribbon > b { width: 100%; }
  .property-card-body { grid-template-rows: auto; gap: 12px; }
  .property-facts { grid-template-columns: 1fr 1fr; }
  .rent-evidence { grid-template-columns: 1fr; }.rent-evidence > small { text-align: left; }.rent-sample-head { display: none; }.rent-sample-list article { padding: 12px; grid-template-columns: 1fr 1fr; }.rent-sample-list article > div { grid-column: 1 / -1; }.rent-sample-list article > span::before { content: attr(data-label) " "; color: var(--loc-muted); }.rent-sample-list article > b { grid-column: 1 / -1; }
  .property-facts span:nth-child(3) { border-left: 0; border-top: 1px solid var(--loc-soft-line); }
  .property-facts span:nth-child(4) { border-top: 1px solid var(--loc-soft-line); }
  .property-price-row, .correction-grid, .formula-list article { grid-template-columns: 1fr; }
  .correction-grid .correction-wide { grid-column: auto; }
  .simulator-live-card { min-height: 340px; }
  .rent-ledger-property > summary { padding: 14px; grid-template-columns: 28px 1fr auto 22px; gap: 9px; }
  .shared-rent-overview { grid-template-columns: 1fr; }
  .rent-ledger-property > summary > b { min-width: 46px; }
  .rent-ledger-body { padding: 0 12px 12px; }
  .rent-ledger-room > header { display: grid; }
  .rent-ledger-room > header p { text-align: left; }
  .formula-group summary { grid-template-columns: 36px 1fr 24px; }
  .formula-group summary em { display: none; }
  .formula-list { padding-left: 0; }
}
@media (max-width: 520px) {
  .manual-rich-listing-row .manual-extra-fields { grid-template-columns: 1fr; }
}
@media print {
  .location-page .site-header, .location-page .site-footer, .dashboard-top-actions, .collection-rail, .simulator-controls, .property-correction { display: none !important; }
  .location-page .page-shell.location-shell { width: 100%; }
  .location-card-grid { grid-template-columns: 1fr; }
  .formula-group { break-inside: avoid; }
  .formula-group > * { display: block !important; }
}

/* Airbnb consumer marketplace-inspired polish for the spreadsheet page */
.service-card.excel-featured { border-color: #ebebeb; background: white; box-shadow: rgba(0,0,0,.02) 0 0 0 1px, rgba(0,0,0,.04) 0 2px 6px, rgba(0,0,0,.10) 0 4px 8px; }
.service-card.excel-featured .service-tag { color: #c91f45; background: #fff0f3; }
.service-card.excel-featured .button { background: #ff385c; }
.excel-analysis-page {
  --excel-navy: #222222;
  --excel-blue: #ff385c;
  --excel-blue-soft: #fff5f7;
  --excel-pink: #fff7f8;
  --excel-pink-line: #ffd1da;
  --excel-gray: #f7f7f7;
  --excel-line: #dddddd;
  --excel-green: #0f7b61;
  color: #222222;
  background: #ffffff;
  font-family: Inter, Circular, -apple-system, BlinkMacSystemFont, "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
  overflow-x: hidden;
}
.excel-analysis-page .site-header { position: sticky; top: 0; z-index: 80; height: 76px; border-color: #ebebeb; background: rgba(255,255,255,.96); box-shadow: none; backdrop-filter: blur(18px); }
.excel-analysis-page .brand { font-size: 19px; font-weight: 650; letter-spacing: -.02em; }
.excel-analysis-page .brand-mark { padding: 4px 10px; border-radius: 9px; background: #ff385c; }
.excel-analysis-page .privacy-note { color: #6a6a6a; }
.excel-analysis-page .page-shell.excel-analysis-shell { width: min(1440px, calc(100% - 48px)); padding: 0 0 80px; }
.excel-analysis-page .site-footer { border-top: 1px solid #ebebeb; color: #6a6a6a; background: #fff; }
.excel-hero { min-height: 500px; padding: 64px 0; display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(360px, .68fr); align-items: center; gap: clamp(48px, 7vw, 104px); color: #222222; border-bottom: 1px solid #ebebeb; border-radius: 0; overflow: visible; background: white; box-shadow: none; }
.excel-hero-copy { min-width: 0; }
.excel-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: #6a6a6a; font-size: 11px; font-weight: 650; letter-spacing: .16em; }
.excel-kicker span { width: 30px; height: 2px; border-radius: 99px; background: #ff385c; }
.excel-hero h1 { max-width: 790px; margin-bottom: 20px; color: #222222; font-size: clamp(42px, 4.2vw, 62px); font-weight: 560; line-height: 1.1; letter-spacing: -.052em; }
.excel-hero h1 em { color: #ff385c; font-style: normal; }
.excel-hero-copy > p:last-of-type { max-width: 730px; margin-bottom: 28px; color: #4b4b4b; font-size: 17px; line-height: 1.65; }
.excel-hero-search { min-height: 78px; padding: 7px 8px 7px 22px; display: grid; grid-template-columns: 1fr 1px 1fr 1px 1.2fr 54px; align-items: center; gap: 0; border: 1px solid #dddddd; border-radius: 999px; background: white; box-shadow: rgba(0,0,0,.02) 0 0 0 1px, rgba(0,0,0,.04) 0 2px 6px, rgba(0,0,0,.10) 0 4px 8px; }
.excel-hero-search > span { position: relative; min-width: 0; padding: 4px 18px 4px 28px; display: grid; }
.excel-hero-search span > b { position: absolute; left: 0; top: 8px; color: #ff385c; font-size: 10px; font-weight: 700; }
.excel-hero-search small { color: #222; font-size: 11px; font-weight: 650; }
.excel-hero-search strong { overflow: hidden; color: #6a6a6a; font-size: 12px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.excel-hero-search > i { width: 1px; height: 34px; background: #dddddd; }
.excel-hero-search > button { width: 48px; height: 48px; padding: 0; color: white; border: 0; border-radius: 50%; background: #ff385c; font-size: 24px; transform: rotate(-35deg); }
.excel-hero-preview { padding: 24px; border: 1px solid #dddddd; border-radius: 18px; background: white; box-shadow: rgba(0,0,0,.02) 0 0 0 1px, rgba(0,0,0,.04) 0 2px 6px, rgba(0,0,0,.10) 0 4px 8px; }
.preview-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.preview-top > span { color: #6a6a6a; font-size: 10px; font-weight: 650; letter-spacing: .13em; }
.preview-top > b { padding: 6px 10px; color: #c91f45; border-radius: 999px; background: #fff0f3; font-size: 10px; font-weight: 650; }
.preview-house { margin: 24px 0 20px; padding: 18px 0; display: grid; grid-template-columns: 48px 1fr 28px; align-items: center; gap: 14px; border-top: 1px solid #ebebeb; border-bottom: 1px solid #ebebeb; }
.preview-house > i { width: 48px; height: 48px; display: grid; place-items: center; color: #ff385c; border-radius: 14px; background: #fff0f3; font-size: 24px; font-style: normal; }
.preview-house div { display: grid; }.preview-house small, .preview-metrics small { color: #6a6a6a; font-size: 11px; }.preview-house strong { font-size: 19px; font-weight: 600; }.preview-house > em { color: #222; font-size: 20px; font-style: normal; }
.preview-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.preview-metrics span { padding: 12px; display: grid; border-radius: 12px; background: #f7f7f7; }.preview-metrics strong { margin-top: 2px; font-size: 17px; font-weight: 600; }
.excel-legend { min-width: 0; margin-top: 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 12px; border: 0; background: transparent; }
.excel-legend span { gap: 6px; color: #6a6a6a; font-size: 10px; }
.excel-legend i { width: 9px; height: 9px; border-radius: 50%; }
.excel-legend .required { background: #ff385c; }.excel-legend .optional { background: #b0b0b0; }.excel-legend .automatic { background: #222; }.excel-legend .formula { border: 1px solid #b0b0b0; background: white; }
.excel-alert { border-color: #f4c3b9; color: #c13515; border-radius: 12px; background: #fff8f6; }
.excel-collection { margin-top: 24px; border-color: #dddddd; border-radius: 16px; box-shadow: none; }
.excel-collection > b { color: #ff385c; font-weight: 600; }.excel-collection > i { height: 5px; background: #f2f2f2; }.excel-collection > i em { background: #ff385c; }
.excel-workbook { margin-top: 32px; gap: 32px; }
.excel-workbook, .excel-cost-panel, .excel-table-panel { min-width: 0; max-width: 100%; }
.excel-cost-panel, .excel-table-panel, .excel-formulas { border-color: #dddddd; border-radius: 18px; box-shadow: none; }
.excel-cost-panel { padding: 30px; grid-template-columns: 260px minmax(430px, 1fr) minmax(380px, .86fr); gap: 32px; }
.excel-section-title > span { width: 38px; height: 38px; color: #ff385c; border: 1px solid #ffd1da; border-radius: 50%; background: #fff5f7; font-weight: 650; }
.excel-section-title p { color: #ff385c; font-size: 10px; font-weight: 650; }
.excel-section-title h2 { font-size: 23px; font-weight: 590; letter-spacing: -.025em; }
.cost-sheet { border-color: #dddddd; border-radius: 14px; }
.cost-head { color: #222; background: #f7f7f7; }.cost-head > * { font-weight: 550; }.cost-row { border-color: #ebebeb; }.cost-row input { border-color: #ebebeb; color: #222; background: white; }.cost-row input:focus { outline: 0; box-shadow: inset 0 0 0 2px #222; }
.cost-total { color: #222; background: #fff5f7; }.cost-total strong { color: #c91f45; font-weight: 650; }
.cost-extras { gap: 10px; }.cost-extras input { border: 1px solid #dddddd; border-radius: 10px; }.cost-extras input:focus { outline: 0; border-color: #222; box-shadow: inset 0 0 0 1px #222; }
.excel-table-panel { padding: 30px; }
.excel-table-heading { margin-bottom: 24px; }
.excel-summary-cards { gap: 10px; }.excel-summary-cards article { min-width: 158px; padding: 13px 16px; border-color: #dddddd; border-radius: 12px; background: white; }.excel-summary-cards span { color: #6a6a6a; }.excel-summary-cards strong { font-size: 18px; font-weight: 590; }.excel-summary-cards .featured { border-color: #ff385c; background: #ff385c; }
.excel-table-overview { display: flex; align-items: stretch; justify-content: flex-end; gap: 10px; }
.excel-new-comparison { min-height: 48px; padding: 10px 17px; display: inline-flex; align-items: center; justify-content: center; color: #222; border: 1px solid #222; border-radius: 10px; background: white; font-size: 13px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.excel-new-comparison:hover { background: #f7f7f7; }
.excel-grid-scroll { width: 100%; max-width: 100%; max-height: 640px; border-color: #dddddd; border-radius: 16px; box-shadow: rgba(0,0,0,.02) 0 0 0 1px, rgba(0,0,0,.04) 0 2px 6px, rgba(0,0,0,.08) 0 4px 8px; }
.excel-grid th, .excel-grid td { border-color: #ebebeb; }
.excel-grid th { color: #222; background: #f7f7f7; font-weight: 590; }.excel-grid th small { color: #6a6a6a; }.excel-grid .sub-head th { color: #3f3f3f; background: white; font-weight: 500; }.excel-grid .auto-group, .excel-grid .sub-head .auto-cell { color: #c91f45; background: #fff0f3; }
.excel-grid input, .excel-grid select { color: #222; font-weight: 400; }.excel-grid input:focus, .excel-grid select:focus { outline: 0; box-shadow: inset 0 0 0 2px #222; }
.excel-grid .input-required { background: #fff7f8; }.excel-grid .input-optional { background: #f7f7f7; }.excel-grid .input-auto { color: #c91f45; background: #fff0f3; }.excel-grid .input-auto small { color: #9f5b6b; }.excel-grid .formula-cell { background: white; }
.excel-grid .profit-cell { color: white; background: #222; }.excel-grid .special-cell { color: white; background: #ff385c; }
.excel-grid .row-number { color: #6a6a6a; background: #f7f7f7; }.excel-grid thead .row-number { color: #222; background: #f7f7f7; }.excel-grid .sticky-link { box-shadow: 6px 0 12px rgba(0,0,0,.06); }.excel-grid thead .sticky-name, .excel-grid thead .sticky-link { color: #222; background: #f7f7f7; }
.excel-grid .row-action { background: white; }.excel-grid .row-action button { color: #6a6a6a; background: #f2f2f2; }.excel-grid .row-action button:hover { background: #ff385c; }
.excel-add-row { min-height: 48px; padding: 10px 18px; color: #222; border: 1px solid #222; border-radius: 10px; background: white; font-weight: 550; }.excel-add-row:hover { background: #f7f7f7; }.excel-add-row small { color: #6a6a6a; }
.excel-actions .button.secondary { min-height: 48px; color: #222; border: 1px solid #222; border-radius: 10px; background: white; font-weight: 550; }
.excel-collect-button { min-height: 48px; padding: 11px 22px; border-radius: 10px; background: #ff385c; font-weight: 550; }.excel-collect-button:hover { background: #e00b41; }.excel-collect-button span { color: white; }
.excel-simulator { padding: 30px; border: 1px solid #dddddd; border-radius: 18px; background: white; }
.simulator-heading { margin-bottom: 26px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.simulator-property-picker { display: grid; grid-template-columns: auto minmax(190px, 260px) auto; align-items: center; gap: 10px; }
.simulator-property-picker label { color: #6a6a6a; font-size: 11px; font-weight: 550; }
.simulator-property-picker select, .simulator-property-picker button { height: 42px; border: 1px solid #dddddd; border-radius: 10px; background: white; }
.simulator-property-picker select { min-width: 0; padding: 0 34px 0 12px; color: #222; font-weight: 550; }
.simulator-property-picker button { padding: 0 14px; color: #6a6a6a; cursor: pointer; }
.simulator-property-picker button:hover { color: #222; border-color: #222; }
.simulator-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); gap: 18px; }
.profit-chart-card, .simulator-controls { min-width: 0; border: 1px solid #ebebeb; border-radius: 16px; }
.profit-chart-card { position: sticky; top: 96px; align-self: start; padding: 24px; background: #fafafa; }
.profit-chart-lead { display: grid; grid-template-columns: 1fr 28px 1fr; align-items: center; gap: 10px; }
.profit-chart-lead > div { min-width: 0; padding: 18px; display: grid; border: 1px solid #dddddd; border-radius: 14px; background: white; }
.profit-chart-lead > i { color: #b0b0b0; font-size: 20px; font-style: normal; text-align: center; }
.profit-chart-lead small { color: #6a6a6a; font-size: 11px; }
.profit-chart-lead strong { margin: 4px 0 2px; overflow: hidden; font-size: clamp(23px, 2vw, 31px); font-weight: 650; letter-spacing: -.04em; text-overflow: ellipsis; white-space: nowrap; }
.profit-chart-lead span { color: #8a8a8a; font-size: 10px; }
.profit-chart-lead .profit-highlight { color: white; border-color: #ff385c; background: #ff385c; }
.profit-chart-lead .profit-highlight small, .profit-chart-lead .profit-highlight span { color: rgba(255,255,255,.78); }
.profit-chart-lead .profit-highlight.is-negative { border-color: #222; background: #222; }
.profit-equation { margin: 18px 0 22px; padding: 12px 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr) auto) minmax(0, 1fr); align-items: center; gap: 8px; border-radius: 12px; background: white; }
.profit-equation span { min-width: 0; display: grid; gap: 2px; }
.profit-equation b { color: #6a6a6a; font-size: 9px; font-weight: 550; }
.profit-equation output { overflow: hidden; color: #222; font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.profit-equation i { color: #b0b0b0; font-style: normal; }
.profit-equation .result { padding-left: 10px; border-left: 1px solid #dddddd; }.profit-equation .result b { color: #c91f45; }.profit-equation .result output { color: #c91f45; }
.profit-bars { display: grid; gap: 13px; }
.profit-bar-row { display: grid; grid-template-columns: 112px minmax(100px, 1fr) 112px; align-items: center; gap: 12px; }
.profit-bar-row > span { color: #555; font-size: 11px; }.profit-bar-row > strong { font-size: 12px; font-weight: 600; text-align: right; }
.profit-bar-row > i { height: 12px; overflow: hidden; border-radius: 999px; background: #ededed; }
.profit-bar-row > i > em { width: 0; height: 100%; display: block; border-radius: inherit; background: #b0b0b0; transition: width .18s ease; }
.profit-bar-row[data-sim-bar-row="revenue"] > i > em { background: #ff385c; }
.profit-bar-row[data-sim-bar-row="fee"] > i > em { background: #ff9aae; }
.profit-bar-row[data-sim-bar-row="cost"] > i > em { background: #8e8e8e; }
.profit-bar-row[data-sim-bar-row="profit"] > i > em { background: #222; }
.profit-bar-row[data-sim-bar-row="profit"].is-negative > i > em { background: repeating-linear-gradient(135deg,#222 0,#222 6px,#ff385c 6px,#ff385c 12px); }
.profit-bar-row[data-sim-bar-row="profit"].is-negative > strong { color: #c91f45; }
.profit-chart-note { margin-top: 20px; padding-top: 16px; display: flex; align-items: center; gap: 8px; border-top: 1px solid #e6e6e6; color: #6a6a6a; font-size: 10px; }
.profit-chart-note span { padding: 6px 9px; border-radius: 999px; background: white; }.profit-chart-note b { color: #222; }.profit-chart-note i { color: #ff385c; font-style: normal; }.profit-chart-note small { margin-left: auto; }
.simulator-controls { padding: 18px 20px; background: white; }
.simulator-controls-intro { margin-bottom: 6px; padding: 2px 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #ebebeb; }
.simulator-controls-intro > div { display: grid; }.simulator-controls-intro small { color: #ff385c; font-size: 9px; font-weight: 650; letter-spacing: .08em; }.simulator-controls-intro strong { font-size: 14px; font-weight: 590; }
.simulator-controls-intro > span { padding: 5px 8px; color: #0f7b61; border-radius: 999px; background: #edf8f5; font-size: 9px; font-weight: 650; }
.simulator-control { padding: 11px 0; display: grid; grid-template-columns: minmax(128px, 1fr) 132px; align-items: center; gap: 5px 14px; border-bottom: 1px solid #f1f1f1; }
.simulator-control:last-child { border-bottom: 0; }
.simulator-control > span { min-width: 0; display: grid; }.simulator-control > span b { color: #333; font-size: 12px; font-weight: 590; }.simulator-control > span small { overflow: hidden; color: #8a8a8a; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.simulator-number { height: 36px; display: grid; grid-template-columns: 1fr auto; align-items: center; overflow: hidden; border: 1px solid #dddddd; border-radius: 9px; background: white; }
.simulator-number:focus-within { border-color: #222; box-shadow: inset 0 0 0 1px #222; }
.simulator-number input { width: 100%; min-width: 0; height: 34px; padding: 0 4px 0 10px; border: 0; outline: 0; color: #222; background: transparent; font-size: 12px; font-weight: 600; text-align: right; }
.simulator-number b { padding: 0 9px 0 4px; color: #6a6a6a; font-size: 10px; font-weight: 500; }
.simulator-control > input[type="range"] { grid-column: 1 / -1; width: 100%; height: 4px; margin: 3px 0 0; accent-color: #ff385c; cursor: pointer; }
.excel-formulas summary { padding: 22px 26px; }.excel-formulas summary > span { color: #ff385c; border: 1px solid #ffd1da; border-radius: 50%; background: #fff5f7; }.excel-formulas summary strong { font-size: 17px; font-weight: 590; }.excel-formulas > div { gap: 8px; }.excel-formulas article { border: 1px solid #ebebeb; background: white; }.excel-formulas article > b { color: #ff385c; }.excel-formulas article strong { font-weight: 550; }
@media (max-width: 1100px) {
  .excel-hero { grid-template-columns: 1fr; gap: 40px; }.excel-hero-preview { width: min(560px, 100%); }.excel-cost-panel { grid-template-columns: 1fr 1.5fr; }.cost-extras { grid-template-columns: repeat(5, 1fr); }.excel-table-overview { width: 100%; }.simulator-layout { grid-template-columns: 1fr; }.profit-chart-card { position: static; }
}
@media (max-width: 720px) {
  .excel-analysis-page .page-shell.excel-analysis-shell { width: min(100% - 24px, 1440px); }
  .excel-hero { min-height: 0; padding: 42px 0; }
  .excel-hero-copy, .excel-hero-preview, .excel-hero-search { width: 100%; min-width: 0; max-width: 100%; }
  .excel-hero h1 { font-size: 39px; }
  .excel-hero-copy > p { overflow-wrap: anywhere; }
  .excel-hero-search { padding: 12px 14px; grid-template-columns: minmax(0, 1fr) 48px; border-radius: 20px; }
  .excel-hero-search > span:not(:first-child), .excel-hero-search > i { display: none; }
  .excel-hero-search > button { justify-self: end; }
  .excel-hero-preview { padding: 20px; overflow: hidden; }
  .preview-top { min-width: 0; }.preview-top > b { font-size: 9px; white-space: nowrap; }
  .preview-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }.preview-metrics span { min-width: 0; padding: 10px; }.preview-metrics strong { font-size: 15px; }
  .excel-cost-panel, .excel-table-panel { padding: 20px; }
  .excel-cost-panel { grid-template-columns: minmax(0, 1fr); }
  .cost-sheet, .cost-extras { grid-column: auto; min-width: 0; width: 100%; }
  .cost-extras { grid-template-columns: 1fr 1fr; }
  .excel-table-overview { align-items: stretch; flex-direction: column; }.excel-summary-cards { grid-template-columns: 1fr; }.excel-new-comparison { width: 100%; }
  .excel-scroll-hint { color: #6a6a6a; }
  .excel-simulator { padding: 20px; }
  .simulator-heading { align-items: stretch; flex-direction: column; }
  .simulator-property-picker { grid-template-columns: 1fr auto; }.simulator-property-picker label { grid-column: 1 / -1; }.simulator-property-picker select { width: 100%; }
  .profit-chart-card { padding: 16px; }.profit-chart-lead { grid-template-columns: 1fr; }.profit-chart-lead > i { transform: rotate(90deg); }.profit-equation { grid-template-columns: 1fr auto 1fr; }.profit-equation span:nth-of-type(3), .profit-equation i:nth-of-type(3) { margin-top: 4px; }.profit-equation .result { padding-left: 0; border-left: 0; }
  .profit-bar-row { grid-template-columns: 92px minmax(70px, 1fr); }.profit-bar-row > strong { grid-column: 2; margin-top: -8px; font-size: 10px; }
  .profit-chart-note { align-items: flex-start; flex-wrap: wrap; }.profit-chart-note small { width: 100%; margin-left: 0; }
  .simulator-controls { padding: 16px; }.simulator-control { grid-template-columns: minmax(105px, 1fr) 120px; }
  .excel-formulas summary small { display: none; }
}
.queue-admin-page { background: #f5f5f3; }
.queue-admin-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0 90px; }
.queue-admin-eyebrow { margin: 0 0 10px; color: #ff385c; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.queue-admin-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.queue-admin-hero h1, .queue-admin-login h1 { margin: 0; color: #171717; font-size: clamp(34px, 5vw, 58px); letter-spacing: -.055em; }
.queue-admin-hero p, .queue-admin-login > p { margin: 10px 0 0; color: #737373; }
.queue-admin-actions { display: flex; align-items: center; gap: 8px; }
.queue-admin-actions a, .queue-admin-actions button { height: 38px; padding: 0 15px; border: 1px solid #d4d4d4; border-radius: 10px; color: #262626; background: white; font-weight: 700; text-decoration: none; cursor: pointer; }
.queue-admin-actions a { display: inline-flex; align-items: center; }
.queue-mode-badge { padding: 9px 12px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.queue-mode-badge.immediate { color: #9a3412; background: #ffedd5; }.queue-mode-badge.queue { color: #166534; background: #dcfce7; }
.queue-admin-alert { margin: 0 0 18px; padding: 13px 16px; border: 1px solid #fecdd3; border-radius: 12px; color: #9f1239; background: #fff1f2; font-size: 13px; font-weight: 700; }.queue-admin-alert.error { margin-top: 18px; }
.queue-admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.queue-admin-stats article { padding: 20px; border: 1px solid #e5e5e5; border-radius: 18px; background: white; box-shadow: 0 8px 30px rgba(0,0,0,.035); }
.queue-admin-stats span, .queue-admin-stats small { display: block; color: #737373; font-size: 11px; }.queue-admin-stats strong { display: block; margin: 4px 0; font-size: 30px; }
.queue-admin-section { margin-top: 14px; padding: 22px; border: 1px solid #e5e5e5; border-radius: 22px; background: white; box-shadow: 0 8px 30px rgba(0,0,0,.035); }
.queue-admin-section > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }.queue-admin-section > header div { display: flex; align-items: center; gap: 10px; }.queue-admin-section > header span { color: #ff385c; font-size: 11px; font-weight: 800; }.queue-admin-section h2 { margin: 0; font-size: 21px; }.queue-admin-section > header small { color: #8a8a8a; text-align: right; }
.queue-price-upload form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 14px; }.queue-price-upload label { display: grid; gap: 7px; color: #525252; font-size: 12px; font-weight: 800; }.queue-price-upload input[type="file"] { min-height: 48px; padding: 10px 12px; border: 1px solid #d4d4d4; border-radius: 11px; background: #fafafa; }.queue-price-upload label small { color: #737373; font-weight: 500; }.queue-price-upload button { min-height: 48px; padding: 0 20px; border: 0; border-radius: 11px; color: white; background: #ff385c; font-weight: 800; cursor: pointer; }.queue-price-list { margin-top: 20px; border-top: 1px solid #eeeeec; }.queue-price-list > div, .queue-price-list article { display: grid; grid-template-columns: minmax(180px,1fr) 110px 110px 170px; gap: 12px; align-items: center; padding: 11px 4px; border-bottom: 1px solid #f0f0ee; }.queue-price-list > div { color: #737373; font-size: 11px; }.queue-price-list article { font-size: 13px; }.queue-price-list time { color: #737373; font-size: 11px; }
.queue-job-list, .queue-history-list { overflow: hidden; border: 1px solid #ededed; border-radius: 15px; }
.queue-job { min-height: 82px; padding: 14px 16px; display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 14px; }.queue-job + .queue-job, .queue-history-list article + article { border-top: 1px solid #ededed; }
.queue-job-position { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: #222; font-size: 12px; font-weight: 900; }.queue-job.running .queue-job-position { background: #ff385c; }
.queue-job-main { min-width: 0; display: grid; gap: 3px; }.queue-job-main strong, .queue-job-main span, .queue-job-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.queue-job-main span, .queue-job-main small { color: #737373; font-size: 11px; }
.queue-job-controls { display: flex; gap: 6px; }.queue-job-controls button { min-width: 38px; height: 36px; border: 1px solid #d4d4d4; border-radius: 9px; background: white; font-weight: 800; cursor: pointer; }.queue-job-controls button.danger { padding: 0 12px; color: #be123c; }.queue-job-controls button:disabled, .queue-danger-action button:disabled { opacity: .35; cursor: default; }
.queue-job-progress { width: 130px; display: grid; gap: 7px; text-align: right; }.queue-job-progress b { font-size: 12px; }.queue-job-progress i { height: 5px; overflow: hidden; border-radius: 99px; background: #eee; }.queue-job-progress em { height: 100%; display: block; border-radius: inherit; background: #ff385c; }
.queue-empty { margin: 0; padding: 24px; color: #8a8a8a; text-align: center; font-size: 12px; }
.queue-danger-action { margin-top: 14px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }.queue-danger-action button { height: 38px; padding: 0 14px; border: 1px solid #fecdd3; border-radius: 10px; color: #be123c; background: #fff1f2; font-weight: 800; cursor: pointer; }.queue-danger-action small { color: #8a8a8a; }.queue-danger-action.subtle button { color: #525252; border-color: #ddd; background: #fafafa; }
.queue-history-list article { min-height: 60px; padding: 12px 14px; display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 12px; }.queue-history-list article div { min-width: 0; display: grid; gap: 3px; }.queue-history-list article small { overflow: hidden; color: #737373; text-overflow: ellipsis; white-space: nowrap; }.queue-history-list time { color: #8a8a8a; font-size: 10px; }.queue-history-list .status { padding: 6px 8px; border-radius: 999px; text-align: center; font-size: 10px; font-weight: 800; }.queue-history-list .completed { color: #166534; background: #dcfce7; }.queue-history-list .failed { color: #991b1b; background: #fee2e2; }.queue-history-list .cancelled { color: #525252; background: #e5e5e5; }
.queue-history-item + .queue-history-item { border-top: 1px solid #ededed; }
.queue-history-item > summary { min-height: 60px; padding: 12px 14px; display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.queue-history-item > summary::-webkit-details-marker { display: none; }
.queue-history-item > summary:hover { background: #fafafa; }
.queue-history-item > summary div { min-width: 0; display: grid; gap: 3px; }
.queue-history-item > summary small { overflow: hidden; color: #737373; text-overflow: ellipsis; white-space: nowrap; }
.queue-history-list .partial { color: #92400e; background: #fef3c7; }
.queue-history-list .blocked { color: #9a3412; background: #ffedd5; }
.queue-history-detail { padding: 4px 14px 14px 80px; display: grid; gap: 10px; border-top: 1px dashed #ededed; background: #fcfcfc; font-size: 12px; }
.queue-history-detail-block { display: grid; gap: 3px; }
.queue-history-detail-block b { color: #737373; font-size: 11px; }
.queue-history-detail-block div { color: #404040; overflow-wrap: anywhere; }
.queue-history-detail-block a { color: #1d4ed8; }
.queue-pagination { margin-top: 12px; display: flex; align-items: center; justify-content: flex-end; gap: 14px; font-size: 12px; }
.queue-pagination span { color: #737373; }
.queue-pagination a { padding: 7px 12px; border: 1px solid #ddd; border-radius: 10px; color: #222; background: #fafafa; font-weight: 700; text-decoration: none; }
.queue-error-table-wrap { overflow-x: auto; border: 1px solid #ededed; border-radius: 15px; }.queue-error-table { width: 100%; border-collapse: collapse; font-size: 12px; }.queue-error-table th, .queue-error-table td { padding: 11px 12px; border-bottom: 1px solid #ededed; text-align: left; vertical-align: top; }.queue-error-table th { color: #737373; background: #fafafa; font-size: 11px; white-space: nowrap; }.queue-error-table td:first-child { color: #8a8a8a; font-size: 10px; white-space: nowrap; }.queue-error-table td:nth-child(2) { min-width: 180px; word-break: break-all; }.queue-error-table td:nth-child(3) { font-weight: 800; }.queue-error-table td:last-child { min-width: 260px; word-break: break-word; }.queue-error-table tbody tr:last-child td { border-bottom: 0; }
.queue-admin-login { width: min(430px, 100%); margin: 7vh auto; padding: 34px; border: 1px solid #e5e5e5; border-radius: 24px; background: white; box-shadow: 0 22px 70px rgba(0,0,0,.09); }.queue-admin-login h1 { font-size: 36px; }.queue-admin-login form { margin-top: 24px; display: grid; gap: 14px; }.queue-admin-login label { display: grid; gap: 8px; color: #525252; font-size: 12px; font-weight: 700; }.queue-admin-login input { height: 48px; padding: 0 13px; border: 1px solid #d4d4d4; border-radius: 11px; font-size: 16px; }.queue-admin-login button { height: 48px; border: 0; border-radius: 11px; color: white; background: #ff385c; font-weight: 800; cursor: pointer; }
@media (max-width: 760px) { .queue-admin-shell { width: min(100% - 20px, 1180px); padding-top: 28px; }.queue-admin-hero { align-items: flex-start; flex-direction: column; }.queue-admin-actions { width: 100%; flex-wrap: wrap; }.queue-admin-stats { grid-template-columns: 1fr 1fr 1fr; }.queue-admin-stats article { padding: 14px; }.queue-admin-section { padding: 14px; }.queue-admin-section > header { align-items: flex-start; flex-direction: column; }.queue-admin-section > header small { text-align: left; }.queue-price-upload form { grid-template-columns: 1fr; }.queue-price-list > div, .queue-price-list article { grid-template-columns: minmax(0,1fr) 82px 82px; }.queue-price-list time { grid-column: 1 / -1; }.queue-job { grid-template-columns: 42px minmax(0,1fr); }.queue-job-controls, .queue-job-progress { grid-column: 1 / -1; width: 100%; justify-content: flex-end; }.queue-history-list article { grid-template-columns: 52px minmax(0,1fr); }.queue-history-item > summary { grid-template-columns: 52px minmax(0,1fr); }.queue-history-detail { padding-left: 14px; }.queue-history-list time { grid-column: 2; }.queue-danger-action { align-items: flex-end; flex-direction: column; }.queue-admin-login { padding: 24px; }.site-header .provider-credit { display: none; } }

/* Five-property location dashboard comparison */
.location-dashboard-page .dashboard-shell { display: flex; flex-direction: column; }
.location-dashboard-page .dashboard-topbar { order: 1; }
.location-dashboard-page .collection-region-bar { order: 2; }
.location-dashboard-page .collection-rail { order: 3; }
.location-dashboard-page .recovery-guide { order: 4; }
.location-dashboard-page .rent-ledger-section { order: 5; padding-top: 38px; }
.location-dashboard-page .portfolio-ranking { order: 6; margin-top: 56px; }
.location-dashboard-page .scorecard-section { order: 7; }
.collection-rail { grid-template-columns: 48px minmax(0,1fr) auto auto; }
.collection-rail > div:nth-child(2) { align-self: center; }
.collection-rail > div:nth-child(2) strong { font-size: 16px; }

.ranking-position.is-medal { position: relative; width: 62px !important; height: 72px !important; overflow: visible; border-radius: 0 !important; color: #111 !important; background: transparent !important; isolation: isolate; }
.ranking-position.is-medal::before { position: absolute; z-index: -2; top: 30px; left: 10px; width: 42px; height: 40px; content: ""; background: linear-gradient(90deg, #e33a4e 0 43%, transparent 43% 57%, #c91f3a 57% 100%); clip-path: polygon(0 0,100% 0,100% 100%,78% 78%,58% 100%,50% 45%,42% 100%,22% 78%,0 100%); }
.ranking-position.is-medal::after { position: absolute; z-index: -1; left: 5px; top: 0; width: 52px; height: 52px; content: ""; background: linear-gradient(145deg, #ffe77b, #d7a917); box-shadow: inset 0 0 0 3px rgba(255,255,255,.35), inset 0 0 0 5px rgba(132,96,0,.12), 0 4px 9px rgba(0,0,0,.18); clip-path: polygon(50% 0,60% 7%,70% 3%,76% 13%,88% 12%,89% 24%,98% 30%,92% 40%,100% 50%,92% 60%,98% 70%,89% 76%,88% 88%,76% 87%,70% 97%,60% 93%,50% 100%,40% 93%,30% 97%,24% 87%,12% 88%,11% 76%,2% 70%,8% 60%,0 50%,8% 40%,2% 30%,11% 24%,12% 12%,24% 13%,30% 3%,40% 7%); }
.ranking-position.is-medal span { position: absolute; z-index: 1; left: 5px; top: 0; width: 52px; height: 52px; display: grid; place-items: center; color: #111; font-size: 25px; font-weight: 900; line-height: 1; text-shadow: 0 1px rgba(255,255,255,.55); }
.ranking-position.medal-2::after { background: linear-gradient(145deg, #f4f6f8, #aeb4bc); }
.ranking-position.medal-3::after { background: linear-gradient(145deg, #e4a16e, #a75c2e); }
.ranking-position:not(.is-medal) { width: 52px !important; height: 52px !important; border: 2px solid #cbd3dc; border-radius: 50% !important; color: #111 !important; background: #eef1f4 !important; font-size: 25px !important; font-weight: 900; }
.ranking-position:not(.is-medal) span { color: #111; font-size: 25px; font-weight: 900; }

.property-card-ribbon .property-grade.grade-a-plus { color: #fff; background: #1768c4; }
.property-card-ribbon .property-grade.grade-a { color: #fff; background: #16804b; }
.property-card-ribbon .property-grade.grade-b { color: #513b00; background: #f4c542; }
.property-card-ribbon .property-grade.grade-c { color: #fff; background: #c73c31; }
.location-card-grid { grid-template-columns: repeat(var(--listing-count), minmax(0, 1fr)); gap: 10px; }
.location-property-card { min-width: 0; border-radius: 15px; }
.property-card-ribbon { min-height: 54px; padding: 10px 11px; gap: 5px; }
.property-card-ribbon .property-status, .property-card-ribbon .property-grade { padding: 6px 7px; font-size: 9px; }
.property-card-ribbon .property-status { max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-card-body { min-height: 100%; padding: 12px; grid-template-rows: 70px 210px 52px 126px 40px 104px 92px 62px 112px 48px 34px auto; gap: 0; }
.property-title-row { gap: 8px; }
.property-title-row h3 { font-size: 17px; line-height: 1.25; }
.property-title-row a, .property-rating { font-size: 10px; }
.quick-simulator { padding: 9px; display: grid; grid-template-rows: 26px repeat(4, 39px); gap: 2px; border: 1px solid #d7e6fb; border-radius: 11px; background: #f6faff; }
.quick-simulator-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.quick-simulator-heading strong { color: #075fad; font-size: 10px; }
.quick-simulator-heading button { padding: 3px 6px; border: 1px solid #b9d1f2; border-radius: 6px; color: #075fad; background: white; font-size: 9px; font-weight: 700; cursor: pointer; }
.quick-simulator label { min-width: 0; display: grid; grid-template-columns: 42px minmax(35px, 1fr) 57px 10px; align-items: center; gap: 4px; }
.quick-simulator label > span { color: #5f7188; font-size: 9px; }
.quick-simulator input[type="range"] { width: 100%; min-width: 0; accent-color: #1768c4; }
.quick-simulator input[type="number"] { width: 100%; height: 28px; padding: 0 3px; border: 1px solid #c8d9ef; border-radius: 6px; background: white; text-align: right; font-size: 10px; font-weight: 700; }
.quick-simulator em { color: #718096; font-size: 8px; font-style: normal; }
.property-facts { grid-template-columns: repeat(4, 1fr); }
.property-facts span { padding: 13px 2px; font-size: 9px; }
.property-facts b { font-size: 12px; }
.property-price-row { padding-top: 8px; grid-template-columns: 1fr; grid-template-rows: 56px 56px; gap: 4px; }
.property-price-row > div { padding: 8px 9px; display: grid; grid-template-columns: 1fr auto; align-items: center; border-radius: 9px; }
.property-price-row span { font-size: 9px; }
.property-price-row strong { margin: 0; font-size: 15px; }
.property-price-row small { grid-column: 1 / -1; font-size: 8px; }
.price-message-slot { min-height: 40px; padding-top: 7px; font-size: 9px; }
.occupancy-block { padding-top: 8px; }
.occupancy-block span, .occupancy-block small { font-size: 9px; }
.occupancy-block span small { display: block; }
.occupancy-block strong { font-size: 17px; }
.interior-evidence { margin: 0; padding: 10px; border-radius: 9px; }
.interior-evidence span, .interior-evidence small, .interior-evidence p { font-size: 9px; }
.interior-evidence strong { font-size: 17px; }
.interior-evidence strong.grade-a-plus { color: #1768c4; }
.interior-evidence strong.grade-a { color: #16804b; }
.interior-evidence strong.grade-b { color: #9a6a00; }
.interior-evidence strong.grade-c { color: #c73c31; }
.interior-evidence p { margin-top: 5px; -webkit-line-clamp: 2; }
.property-revenue-row, .property-special-profit { padding: 9px 10px; display: flex; flex-direction: column; justify-content: center; border-top: 1px solid var(--loc-soft-line); }
.property-revenue-row span, .property-special-profit span { color: var(--loc-muted); font-size: 9px; }
.property-revenue-row strong { margin-top: 3px; font-size: 17px; }
.property-special-profit strong { margin-top: 2px; font-size: 14px; }
.property-profit-row { margin: 0; padding: 12px 10px; border-radius: 10px; }
.property-profit-row span, .property-profit-row small { font-size: 9px; }
.property-profit-row strong { font-size: 24px; }
.card-missing-slot { min-height: 34px; padding-top: 6px; font-size: 9px; }
.property-correction summary { padding-top: 10px; font-size: 10px; }
.correction-grid { grid-template-columns: 1fr; }
.correction-grid .correction-wide { grid-column: auto; }

@media (max-width: 1080px) {
  .location-card-grid { padding-bottom: 8px; overflow-x: auto; grid-template-columns: repeat(var(--listing-count), minmax(220px, 1fr)); }
  .location-property-card { min-width: 220px; }
}

/* Korean-first text fields. Modern browsers use lang/inputmode; ime-mode is a legacy fallback. */
.korean-input { ime-mode: active; }
@media (max-width: 744px) {
  .location-card-grid { grid-template-columns: repeat(var(--listing-count), 230px); }
  .property-card-ribbon { flex-wrap: nowrap; }
  .property-card-ribbon > b { width: auto; }
  .property-card-body { grid-template-rows: 70px 210px 52px 126px 40px 104px 92px 62px 112px 48px 34px auto; gap: 0; }
  .property-facts { grid-template-columns: repeat(4, 1fr); }
  .property-facts span:nth-child(3), .property-facts span:nth-child(4) { border-top: 0; }
  .property-facts span:nth-child(3) { border-left: 1px solid var(--loc-soft-line); }
  .property-price-row { grid-template-columns: 1fr; }
  .collection-rail > b { display: block; }
}

/* Senior-friendly dashboard readability and wide comparison layout */
.location-dashboard-page .site-header { padding-left: max(12px, calc((100vw - 1800px) / 2)); padding-right: max(12px, calc((100vw - 1800px) / 2)); }
.location-dashboard-page .page-shell.location-shell { width: min(1800px, calc(100% - 24px)); }
.location-dashboard-page .brand { font-size: 23px; }
.location-dashboard-page .provider-credit { font-size: 16px; }
.location-dashboard-page .location-kicker { font-size: 16px; }
.location-dashboard-page .dashboard-topbar h1 { font-size: clamp(44px, 5.8vw, 70px); }
.location-dashboard-page .location-primary-button,
.location-dashboard-page .location-outline-button { min-height: 62px; padding: 15px 27px; font-size: 19px; }
.location-dashboard-page .location-reset-button { min-height: 62px; padding: 15px 23px; font-size: 18px; }
.location-dashboard-page .export-menu [data-export-menu] button { padding: 15px 16px; font-size: 18px; }
.location-dashboard-page .collection-region-bar { padding: 21px 23px; grid-template-columns: minmax(330px, 1fr) auto; gap: 20px; }
.location-dashboard-page .collection-region-bar label { grid-template-columns: 120px minmax(240px, 560px); gap: 6px 15px; }
.location-dashboard-page .collection-region-bar label > span { font-size: 14px; }
.location-dashboard-page .collection-region-bar input { min-height: 57px; padding: 0 17px; font-size: 19px; }
.location-dashboard-page .collection-rail { padding: 25px 30px; grid-template-columns: 58px minmax(0,1fr) auto auto; gap: 20px; }
.location-dashboard-page .collection-icon { width: 54px; height: 54px; }
.location-dashboard-page .collection-rail > div:nth-child(2) strong { font-size: 21px; }
.location-dashboard-page .collection-rail > b { font-size: 17px; }
.location-dashboard-page .recovery-guide summary { min-height: 78px; padding: 19px 25px; }
.location-dashboard-page .recovery-guide summary > span { font-size: 14px; }
.location-dashboard-page .recovery-guide summary > strong { font-size: 20px; }
.location-dashboard-page .recovery-guide li b { font-size: 18px; }
.location-dashboard-page .recovery-guide li span { font-size: 17px; }
.location-dashboard-page .recovery-guide p { font-size: 16px; }
.location-dashboard-page .dashboard-section-heading h2 { font-size: 39px; }
.location-dashboard-page .dashboard-section-heading h2 .ranking-occupancy-window { display: inline-block; margin-left: 10px; color: var(--loc-muted); font-size: 18px; font-weight: 500; }
.location-dashboard-page .dashboard-section-heading > div > span { font-size: 18px; }
.location-dashboard-page .ranking-occupancy-basis { display: inline-block; margin-left: 10px; font-size: 14.4px; color: var(--loc-muted); }
.location-dashboard-page .section-number { font-size: 16px; }
.location-dashboard-page .ready-count { padding: 10px 17px; font-size: 17px; }

.location-dashboard-page .shared-rent-overview { gap: 16px; }
.location-dashboard-page .shared-rent-overview article { min-height: 132px; padding: 23px; }
.location-dashboard-page .shared-rent-overview span { font-size: 13px; }
.location-dashboard-page .shared-rent-overview strong { margin: 7px 0; font-size: 26px; }
.location-dashboard-page .shared-rent-overview small { font-size: 13px; line-height: 1.45; }
.location-dashboard-page .rent-ledger-property > summary { min-height: 104px; padding: 20px 28px; grid-template-columns: 48px 1fr auto 34px; gap: 18px; }
.location-dashboard-page .rent-ledger-property > summary > span { font-size: 14px; }
.location-dashboard-page .rent-ledger-property > summary strong { font-size: 22px; }
.location-dashboard-page .rent-ledger-property > summary small { font-size: 14px; }
.location-dashboard-page .rent-ledger-property > summary > b { padding: 9px 13px; font-size: 14px; }
.location-dashboard-page .rent-ledger-room > header strong { font-size: 20px; }
.location-dashboard-page .rent-ledger-room > header span { font-size: 13px; }
.location-dashboard-page .rent-ledger-room > header p { font-size: 14px; }
.location-dashboard-page .rent-ledger-room > header p b { font-size: 18px; }
.location-dashboard-page .rent-sample-head,
.location-dashboard-page .rent-sample-list article { font-size: 13px; }
.location-dashboard-page .rent-sample-head { font-size: 12px; }
.location-dashboard-page .rent-sample-list article a,
.location-dashboard-page .rent-sample-list article > b { font-size: 12px; }

.location-dashboard-page .portfolio-ranking-heading { padding: 26px 31px; }
.location-dashboard-page .portfolio-ranking-heading h2 { font-size: 29px; }
.location-dashboard-page .portfolio-ranking-heading > span { font-size: 16px; }
.location-dashboard-page .portfolio-ranking-row { min-height: 92px; padding: 20px 28px; grid-template-columns: 58px minmax(230px, 1.3fr) minmax(100px, .45fr) repeat(4, minmax(145px, .8fr)); gap: 20px; }
.location-dashboard-page .portfolio-ranking-row > div > span { font-size: 13px; }
.location-dashboard-page .portfolio-ranking-row > div > strong { font-size: 20px; }
.location-dashboard-page .portfolio-ranking-row .ranking-property strong { font-size: 21px; }
.location-dashboard-page .portfolio-ranking-row .ranking-property span { font-size: 14px; }
.location-dashboard-page .ranking-grade { min-width: 49px; padding: 7px 13px; font-size: 17px !important; }
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="profit"] { font-size: 23px; }
.location-dashboard-page .portfolio-ranking-row > div:last-child strong { font-size: 25px; }

.location-dashboard-page .location-card-grid { gap: 14px; }
.location-dashboard-page .property-card-ribbon { min-height: 70px; padding: 13px 14px; gap: 7px; }
.location-dashboard-page .property-card-ribbon > b { font-size: 16px; }
.location-dashboard-page .property-card-ribbon .property-status,
.location-dashboard-page .property-card-ribbon .property-grade { padding: 8px 9px; font-size: 12px; }
.location-dashboard-page .property-card-ribbon .property-status { max-width: 104px; }
.location-dashboard-page .property-card-body { padding: 16px; grid-template-rows: 88px 260px 68px 156px 52px 130px 112px 80px 135px 62px 44px auto; }
.location-dashboard-page .property-title-row { gap: 10px; }
.location-dashboard-page .property-title-row h3 { font-size: 22px; }
.location-dashboard-page .property-title-row a,
.location-dashboard-page .property-rating { font-size: 13px; }
.location-dashboard-page .quick-simulator { padding: 12px; grid-template-rows: 34px repeat(4, 49px); gap: 3px; }
.location-dashboard-page .quick-simulator-heading strong { font-size: 13px; }
.location-dashboard-page .quick-simulator-heading button { padding: 5px 8px; font-size: 12px; }
.location-dashboard-page .quick-simulator label { grid-template-columns: 52px minmax(40px, 1fr) 84px 14px; gap: 6px; }
.location-dashboard-page .quick-simulator label > span { font-size: 12px; }
.location-dashboard-page .quick-simulator input[type="number"] { height: 36px; padding: 0 5px; font-size: 13px; }
.location-dashboard-page .quick-simulator em { font-size: 11px; }
.location-dashboard-page .property-facts span { padding: 17px 3px; font-size: 12px; }
.location-dashboard-page .property-facts b { font-size: 16px; }
.location-dashboard-page .property-price-row { padding-top: 10px; grid-template-rows: 69px 69px; gap: 5px; }
.location-dashboard-page .property-price-row > div { padding: 10px 12px; }
.location-dashboard-page .property-price-row span { font-size: 12px; }
.location-dashboard-page .property-price-row strong { font-size: 20px; }
.location-dashboard-page .property-price-row small { font-size: 11px; }
.location-dashboard-page .price-message-slot { min-height: 52px; padding-top: 9px; font-size: 12px; }
.location-dashboard-page .occupancy-block { padding-top: 10px; }
.location-dashboard-page .occupancy-block span,
.location-dashboard-page .occupancy-block small { font-size: 12px; }
.location-dashboard-page .occupancy-block strong { font-size: 22px; }
.location-dashboard-page .interior-evidence { padding: 13px; }
.location-dashboard-page .interior-evidence span,
.location-dashboard-page .interior-evidence small,
.location-dashboard-page .interior-evidence p { font-size: 12px; }
.location-dashboard-page .interior-evidence strong { font-size: 22px; }
.location-dashboard-page .property-revenue-row,
.location-dashboard-page .property-special-profit { padding: 12px 13px; }
.location-dashboard-page .property-revenue-row span,
.location-dashboard-page .property-special-profit span { font-size: 12px; }
.location-dashboard-page .property-revenue-row strong { font-size: 22px; }
.location-dashboard-page .property-special-profit strong { font-size: 18px; }
.location-dashboard-page .property-profit-row { padding: 16px 13px; }
.location-dashboard-page .property-profit-row span,
.location-dashboard-page .property-profit-row small { font-size: 12px; }
.location-dashboard-page .property-profit-row strong { font-size: 31px; }
.location-dashboard-page .card-missing-slot { min-height: 44px; padding-top: 8px; font-size: 12px; }
.location-dashboard-page .property-correction summary { padding-top: 13px; font-size: 13px; }
.location-dashboard-page .correction-grid label > span { font-size: 16px; }
.location-dashboard-page .correction-grid input,
.location-dashboard-page .correction-grid select { font-size: 18px; }

@media (max-width: 1500px) {
  .location-dashboard-page .location-card-grid { padding-bottom: 10px; overflow-x: auto; grid-template-columns: repeat(var(--listing-count), minmax(275px, 1fr)); }
  .location-dashboard-page .location-property-card { min-width: 275px; }
}
@media (max-width: 744px) {
  .location-dashboard-page .page-shell.location-shell { width: calc(100% - 12px); }
  .location-dashboard-page .collection-region-bar { grid-template-columns: 1fr; }
  .location-dashboard-page .collection-region-bar label { grid-template-columns: 1fr; }
  .location-dashboard-page .location-card-grid { grid-template-columns: repeat(var(--listing-count), 300px); }
  .location-dashboard-page .property-card-body { grid-template-rows: 88px 260px 68px 156px 52px 130px 112px 80px 135px 62px 44px auto; }
  .location-dashboard-page .portfolio-ranking-row { grid-template-columns: 58px 1fr 1fr; }
}

/* Header help menu, medal ranking, and second-stage readability */
.header-side { display: flex; align-items: center; gap: 22px; }
.location-dashboard-page .site-header { position: relative; z-index: 120; min-height: 96px; height: auto; }
.location-dashboard-page .header-side { position: relative; }
.location-dashboard-page .provider-credit { color: #4f5966; font-size: 20px; font-weight: 650; }
.location-dashboard-page .provider-credit strong { font-weight: 850; }
.location-dashboard-page .header-help-menu { position: relative; z-index: 130; margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.location-dashboard-page .header-help-menu > summary { min-height: 48px; padding: 8px 10px; display: flex; align-items: center; gap: 9px; border-radius: 12px; background: #f1f6fc; }
.location-dashboard-page .header-help-menu > summary:hover { background: #e6f0fb; }
.location-dashboard-page .header-help-menu > summary .header-help-icon { width: 28px; height: 28px; padding: 0; display: grid; place-items: center; color: #1768c4; background: white; }
.location-dashboard-page .header-help-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.location-dashboard-page .header-help-menu > summary strong { color: #333e4b; font-size: 17px; font-weight: 700; white-space: nowrap; }
.location-dashboard-page .header-help-menu > summary strong b { color: #075fad; font-weight: 900; }
.location-dashboard-page .header-help-menu > summary > i { font-size: 22px; }
.location-dashboard-page .header-help-menu > div { position: absolute; z-index: 150; top: calc(100% + 12px); right: 0; width: min(640px, calc(100vw - 24px)); padding: 18px 22px 22px; border: 1px solid #c9d9ec; border-radius: 18px; background: white; box-shadow: 0 24px 70px rgba(20,47,82,.2); }
.location-dashboard-page .header-help-menu ol { padding-top: 4px; }
.location-dashboard-page .header-help-menu li b { font-size: 18px; }
.location-dashboard-page .header-help-menu li span { font-size: 17px; font-weight: 600; }
.location-dashboard-page .header-help-menu p { font-size: 16px; font-weight: 650; }

.location-dashboard-page .collection-region-bar label > span { font-size: 18px; font-weight: 900; }
.location-dashboard-page .collection-region-bar input { font-size: 23px; font-weight: 800; }
.location-dashboard-page .dashboard-section-heading > div > span { font-size: 23px; font-weight: 700; }
.location-dashboard-page .ready-count { font-size: 21px; font-weight: 750; }
.location-dashboard-page .collection-rail > div:nth-child(2) strong { font-size: 25px; font-weight: 850; }
.location-dashboard-page .collection-rail > b { font-size: 21px; }
.location-dashboard-page .shared-rent-overview span { font-size: 17px; font-weight: 750; }
.location-dashboard-page .shared-rent-overview strong { font-size: 31px; font-weight: 850; }
.location-dashboard-page .shared-rent-overview small { font-size: 17px; font-weight: 650; }
.location-dashboard-page .rent-ledger-property > summary strong { font-size: 27px; }
.location-dashboard-page .rent-ledger-property > summary small { font-size: 18px; font-weight: 650; }
.location-dashboard-page .rent-ledger-property > summary > b { font-size: 18px; }
.location-dashboard-page .rent-ledger-room > header span,
.location-dashboard-page .rent-ledger-room > header p { font-size: 17px; font-weight: 650; }
.location-dashboard-page .rent-sample-head,
.location-dashboard-page .rent-sample-list article { font-size: 16px; }
.location-dashboard-page .rent-sample-list article small { font-size: 15px; font-weight: 650; }
.location-dashboard-page .rent-sample-list article a,
.location-dashboard-page .rent-sample-list article > b { font-size: 15px; font-weight: 750; }
.location-dashboard-page .partial-price-basis {
  display: block;
  margin-top: 5px;
  color: #6f655f;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
}

.location-dashboard-page .portfolio-ranking-heading > span { font-size: 20px; font-weight: 700; }
.location-dashboard-page .portfolio-ranking-row { min-height: 112px; grid-template-columns: 74px minmax(250px, 1.3fr) minmax(120px, .45fr) repeat(4, minmax(160px, .8fr)); }
.location-dashboard-page .portfolio-ranking-row > div > span { font-size: 17px; font-weight: 700; }
.location-dashboard-page .portfolio-ranking-row > div > strong { font-size: 24px; font-weight: 800; }
.location-dashboard-page .portfolio-ranking-row .ranking-property strong { font-size: 26px; }
.location-dashboard-page .portfolio-ranking-row .ranking-property span { font-size: 18px; font-weight: 700; }
.location-dashboard-page .ranking-grade { font-size: 21px !important; }
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="profit"] { font-size: 28px; }
.location-dashboard-page .portfolio-ranking-row > div:last-child strong { font-size: 30px; }

.location-dashboard-page .property-card-body { grid-template-rows: 104px 224px 320px 190px 66px 156px 86px 98px 164px 78px 56px auto; }
.location-dashboard-page .property-title-row h3 { font-size: 27px; }
.location-dashboard-page .property-title-row a,
.location-dashboard-page .property-rating { font-size: 17px; font-weight: 700; }
.location-dashboard-page .property-facts { grid-template-columns: 1fr; grid-template-rows: repeat(4, 1fr); border: 1px solid #e3e7ec; border-radius: 12px; background: #fafbfc; }
.location-dashboard-page .property-facts span { padding: 0 14px; display: flex; align-items: center; gap: 11px; border-left: 0 !important; color: #3f4a56; text-align: left; font-size: 16px; font-weight: 700; }
.location-dashboard-page .property-facts span + span { border-top: 1px solid #e3e7ec; }
.location-dashboard-page .property-facts svg { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: #1768c4; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.location-dashboard-page .property-facts b { min-width: 23px; margin: 0; font-size: 21px; font-weight: 900; }
.location-dashboard-page .quick-simulator { grid-template-rows: 43px repeat(4, 62px); }
.location-dashboard-page .quick-simulator-heading strong { font-size: 17px; font-weight: 850; }
.location-dashboard-page .quick-simulator-heading button { font-size: 15px; font-weight: 800; }
.location-dashboard-page .quick-simulator label { grid-template-columns: 67px minmax(38px, 1fr) 94px 16px; gap: 7px; }
.location-dashboard-page .quick-simulator label > span { color: #455364; font-size: 16px; font-weight: 800; }
.location-dashboard-page .quick-simulator input[type="number"] { height: 44px; font-size: 17px; font-weight: 850; }
.location-dashboard-page .quick-simulator em { font-size: 14px; font-weight: 750; }
.location-dashboard-page .property-price-row { grid-template-rows: 84px 84px; gap: 7px; }
.location-dashboard-page .property-price-row span { color: #4b5868; font-size: 16px; font-weight: 750; }
.location-dashboard-page .property-price-row strong { font-size: 25px; }
.location-dashboard-page .property-price-row small { font-size: 14px; font-weight: 700; }
.location-dashboard-page .price-message-slot { font-size: 16px; font-weight: 700; }
.location-dashboard-page .occupancy-block span,
.location-dashboard-page .occupancy-block small { color: #4b5868; font-size: 16px; font-weight: 700; }
.location-dashboard-page .occupancy-block strong { font-size: 28px; }
.location-dashboard-page .interior-evidence { padding: 16px 17px; display: flex; align-items: center; justify-content: space-between; }
.location-dashboard-page .interior-evidence span { color: #4b5868; font-size: 18px; font-weight: 800; }
.location-dashboard-page .interior-evidence strong { font-size: 28px; font-weight: 900; }
.location-dashboard-page .interior-evidence p,
.location-dashboard-page .interior-evidence small { display: none; }
.location-dashboard-page .property-revenue-row span,
.location-dashboard-page .property-special-profit span { color: #4b5868; font-size: 16px; font-weight: 750; }
.location-dashboard-page .property-revenue-row strong { font-size: 28px; }
.location-dashboard-page .property-special-profit strong { font-size: 23px; }
.location-dashboard-page .property-profit-row span,
.location-dashboard-page .property-profit-row small { color: #4b5868; font-size: 16px; font-weight: 750; }
.location-dashboard-page .property-profit-row strong { font-size: 40px; }
.location-dashboard-page .card-missing-slot { font-size: 16px; font-weight: 700; }
.location-dashboard-page .property-correction summary { font-size: 17px; font-weight: 800; }
.location-dashboard-page small,
.location-dashboard-page [class*="muted"] { font-weight: 650; }

@media (max-width: 1150px) {
  .location-dashboard-page .header-side { gap: 10px; }
  .location-dashboard-page .header-help-menu > summary strong { max-width: 210px; overflow: hidden; text-overflow: ellipsis; }
  .location-dashboard-page .provider-credit { font-size: 16px; }
}
@media (max-width: 760px) {
  .location-dashboard-page .site-header { align-items: flex-start; flex-direction: column; gap: 12px; }
  .location-dashboard-page .header-side { width: 100%; justify-content: space-between; }
  .location-dashboard-page .site-header .provider-credit { display: inline; font-size: 14px; }
  .location-dashboard-page .header-help-menu > summary strong { max-width: 185px; font-size: 14px; }
  .location-dashboard-page .header-help-menu > div { position: fixed; top: 118px; right: 6px; }
  .location-dashboard-page .property-card-body { grid-template-rows: 104px 224px 320px 190px 66px 156px 86px 98px 164px 78px 56px auto; }
}

/* Final comparison refinements: table ranking, compact cards, slider-only controls */
.location-dashboard-page .header-help-menu { order: 1; }
.location-dashboard-page .provider-credit { order: 2; }
.location-dashboard-page small,
.location-dashboard-page [class*="muted"],
.location-dashboard-page .provider-credit,
.location-dashboard-page .dashboard-section-heading > div > span,
.location-dashboard-page .shared-rent-overview small,
.location-dashboard-page .rent-ledger-property > summary small,
.location-dashboard-page .rent-ledger-room > header span,
.location-dashboard-page .rent-ledger-room > header p,
.location-dashboard-page .rent-sample-list article small,
.location-dashboard-page .portfolio-ranking-row .ranking-property span,
.location-dashboard-page .property-link-row a,
.location-dashboard-page .property-price-row span,
.location-dashboard-page .property-price-row small,
.location-dashboard-page .price-message-slot,
.location-dashboard-page .occupancy-block span,
.location-dashboard-page .occupancy-block small,
.location-dashboard-page .property-revenue-row span,
.location-dashboard-page .property-special-profit span,
.location-dashboard-page .property-profit-row span,
.location-dashboard-page .property-profit-row small,
.location-dashboard-page .card-missing-slot { font-weight: 400; }

.location-dashboard-page .portfolio-ranking-columns {
  min-height: 62px;
  padding: 13px 28px;
  display: grid;
  grid-template-columns: 74px minmax(250px, 1.3fr) minmax(120px, .45fr) repeat(4, minmax(160px, .8fr));
  gap: 20px;
  align-items: center;
  border-bottom: 1px solid #e2e5e9;
  background: #f5f6f8;
}
.location-dashboard-page .portfolio-ranking-columns span {
  color: #3f4853;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.25;
}
.location-dashboard-page .portfolio-ranking-row > div { display: flex; align-items: center; }
.location-dashboard-page .portfolio-ranking-row .ranking-property { display: block; }
.location-dashboard-page .ranking-position:not(.is-medal) {
  position: relative;
  width: 62px !important;
  height: 72px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.location-dashboard-page .ranking-position:not(.is-medal)::before {
  position: absolute;
  top: 0;
  left: 5px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #202327;
  content: "";
}
.location-dashboard-page .ranking-position:not(.is-medal) span {
  position: absolute;
  top: 0;
  left: 5px;
  z-index: 2;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: white;
  font-size: 25px;
  font-weight: 850;
}

.location-dashboard-page .property-card-ribbon {
  min-height: 118px;
  padding: 16px;
  display: grid;
  align-content: center;
  gap: 12px;
}
.location-dashboard-page .property-ribbon-title {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.location-dashboard-page .property-ribbon-title > b { color: var(--loc-red); font-size: 17px; }
.location-dashboard-page .property-ribbon-title h3 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #17191c;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.location-dashboard-page .property-ribbon-metrics {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.location-dashboard-page .property-ribbon-metrics .property-rating {
  color: #16191d;
  font-size: 22px;
  font-weight: 800;
}
.location-dashboard-page .property-ribbon-metrics .property-grade {
  position: static;
  margin-left: auto;
  padding: 7px 11px;
  font-size: 17px;
  font-weight: 800;
}
.location-dashboard-page .property-card-body {
  grid-template-rows: 58px 68px 270px 190px 66px 156px 112px 164px 112px 56px auto;
}
.location-dashboard-page .property-link-row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e5e7ea;
}
.location-dashboard-page .property-link-row a { color: #505b68; font-size: 17px; }
.location-dashboard-page .property-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: 1fr;
  border: 0;
  border-bottom: 1px solid #e5e7ea;
  border-radius: 0;
  background: white;
}
.location-dashboard-page .property-facts span {
  padding: 0 5px;
  justify-content: center;
  gap: 1px;
  border: 0 !important;
  color: #111;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}
.location-dashboard-page .property-facts span + span { border-left: 1px solid #e1e4e8 !important; }
.location-dashboard-page .property-facts b { min-width: auto; margin: 0 1px 0 0; font-size: 17px; font-weight: 500; }
.location-dashboard-page .property-facts svg { display: none; }
.location-dashboard-page .quick-simulator { grid-template-rows: 42px repeat(4, 53px); }
.location-dashboard-page .quick-simulator-heading strong { font-weight: 400; }
.location-dashboard-page .quick-simulator label { grid-template-columns: 67px minmax(70px, 1fr) 105px; gap: 10px; }
.location-dashboard-page .quick-simulator label > span { font-weight: 600; }
.location-dashboard-page .quick-simulator output {
  color: #25364a;
  font-size: 16px;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}
.location-dashboard-page .quick-simulator input[type="number"],
.location-dashboard-page .quick-simulator em,
.location-dashboard-page .interior-evidence { display: none !important; }
.location-dashboard-page .property-revenue-row {
  margin: 8px 0;
  padding: 14px 15px;
  border: 1px solid #e0e3e7;
  border-radius: 12px;
  background: #f3f4f6;
}
.location-dashboard-page .property-special-profit {
  margin: 8px 0;
  padding: 14px 15px;
  border: 1px solid #d7e7fa;
  border-radius: 12px;
  background: #f5f9ff;
}
.location-dashboard-page .property-special-profit strong { color: #3975b9; }

@media (max-width: 1500px) {
  .location-dashboard-page .portfolio-ranking { overflow-x: auto; }
  .location-dashboard-page .portfolio-ranking-columns,
  .location-dashboard-page .portfolio-ranking-row {
    min-width: 1400px;
    grid-template-columns: 74px minmax(250px, 1.3fr) minmax(120px, .45fr) repeat(4, minmax(160px, .8fr));
  }
}
@media (max-width: 760px) {
  .location-dashboard-page .property-card-body { grid-template-rows: 58px 68px 270px 190px 66px 156px 112px 164px 112px 56px auto; }
  .location-dashboard-page .property-ribbon-title h3 { font-size: 22px; }
  .location-dashboard-page .property-facts span { font-size: 14px; }
}

/* Vertical scorecard table and restored default page frame */
.brand-cluster { min-width: 0; display: flex; align-items: center; gap: 20px; }
.brand-cluster .provider-credit { display: inline-flex; white-space: nowrap; }
.location-dashboard-page .site-header {
  padding-left: max(24px, calc((100vw - 1280px) / 2));
  padding-right: max(24px, calc((100vw - 1280px) / 2));
}
.location-dashboard-page .page-shell.location-shell { width: min(1280px, calc(100% - 48px)); }
.location-dashboard-page .header-help-menu { order: initial; }
.location-dashboard-page .provider-credit { order: initial; }

.location-dashboard-page .ranking-position.is-medal::before { display: none; }
.location-dashboard-page .ranking-position.is-medal .medal-ribbons {
  position: absolute;
  z-index: -2;
  inset: 0;
  display: block;
  pointer-events: none;
}
.location-dashboard-page .ranking-position.is-medal .medal-ribbons > i {
  position: absolute;
  top: 27px;
  width: 19px;
  height: 43px;
  display: block;
  background: linear-gradient(90deg, #ef5661 0%, #d9273f 58%, #b9142d 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%);
  transform-origin: 50% 4px;
  box-shadow: 0 3px 6px rgba(111, 13, 29, .18);
}
.location-dashboard-page .ranking-position.is-medal .medal-ribbons > i:first-child { left: 10px; transform: rotate(14deg); }
.location-dashboard-page .ranking-position.is-medal .medal-ribbons > i:last-child { right: 10px; transform: rotate(-14deg); }

.location-dashboard-page .scorecard-section { overflow: visible; padding: 0; }
.location-dashboard-page .scorecard-section > .dashboard-section-heading { padding: 28px 30px; }
.location-dashboard-page .scorecard-table {
  position: relative;
  overflow-x: auto;
  border-top: 1px solid #dfe3e8;
  border-radius: 0 0 18px 18px;
  background: white;
}
.location-dashboard-page .scorecard-table-head,
.location-dashboard-page .scorecard-summary-row {
  min-width: 1180px;
  display: grid;
  grid-template-columns: minmax(210px, 1.35fr) minmax(205px, 1.15fr) repeat(6, minmax(112px, .8fr));
  gap: 12px;
  align-items: stretch;
}
.location-dashboard-page .scorecard-table-head {
  position: sticky;
  z-index: 20;
  top: 0;
  min-height: 64px;
  padding: 0 22px;
  align-items: center;
  border-bottom: 1px solid #d9dde2;
  background: #f4f5f7;
  box-shadow: 0 3px 8px rgba(25, 35, 45, .05);
}
.location-dashboard-page .scorecard-table-head span {
  color: #343c46;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.25;
}
.location-dashboard-page .location-card-grid {
  display: block;
  overflow: visible;
  padding: 0;
}
.location-dashboard-page .location-property-card {
  min-width: 1180px;
  display: block;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #dfe3e8;
  border-radius: 0;
  background: white;
  box-shadow: none;
  transform: none;
}
.location-dashboard-page .location-property-card:last-child { border-bottom: 0; }
.location-dashboard-page .location-property-card:hover { box-shadow: none; transform: none; }
.location-dashboard-page .scorecard-summary-row { min-height: 190px; padding: 20px 22px; }
.location-dashboard-page .scorecard-summary-row > * { min-width: 0; }
.location-dashboard-page .scorecard-property-cell {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.location-dashboard-page .scorecard-property-name { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 9px; }
.location-dashboard-page .scorecard-property-name > b { color: var(--loc-red); font-size: 15px; }
.location-dashboard-page .scorecard-property-name h3 { margin: 0; color: #15181c; font-size: 21px; font-weight: 800; line-height: 1.3; }
.location-dashboard-page .scorecard-property-cell > p { margin: 0; color: #7a838d; font-size: 16px; font-weight: 400; }
.location-dashboard-page .scorecard-property-cell > a { color: #58636f; font-size: 14px; font-weight: 400; }
.location-dashboard-page .scorecard-property-meta { display: flex; align-items: center; gap: 8px; }
.location-dashboard-page .scorecard-property-meta .property-rating { color: #171a1f; font-size: 19px; font-weight: 800; }
.location-dashboard-page .scorecard-property-meta .property-grade { position: static; padding: 5px 8px; font-size: 15px; font-weight: 800; }
.location-dashboard-page .scorecard-summary-row .property-facts {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  gap: 8px 0;
  border: 0;
  background: transparent;
}
.location-dashboard-page .scorecard-summary-row .property-facts span {
  width: 50%;
  min-height: 34px;
  padding: 0 6px;
  border-left: 1px solid #e0e3e7 !important;
  color: #16191d;
  font-size: 15px;
  font-weight: 400;
}
.location-dashboard-page .scorecard-summary-row .property-facts span:nth-child(odd) { border-left: 0 !important; }
.location-dashboard-page .scorecard-price-cell,
.location-dashboard-page .scorecard-summary-row .occupancy-block,
.location-dashboard-page .scorecard-summary-row .property-revenue-row,
.location-dashboard-page .scorecard-summary-row .property-profit-row,
.location-dashboard-page .scorecard-summary-row .property-special-profit {
  margin: 0;
  padding: 13px 10px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-left: 1px solid #e7e9ec;
  border-radius: 0;
  background: transparent;
  text-align: center;
}
.location-dashboard-page .scorecard-price-cell strong { color: #171a1f; font-size: 20px; font-weight: 800; }
.location-dashboard-page .scorecard-price-cell small { color: #7a838d; font-size: 14px; font-weight: 400; }
.location-dashboard-page .scorecard-summary-row .occupancy-block strong { font-size: 24px; }
.location-dashboard-page .scorecard-summary-row .occupancy-track { width: 92%; }
.location-dashboard-page .scorecard-summary-row .occupancy-block small { color: #7a838d; font-size: 12px; font-weight: 400; }
.location-dashboard-page .scorecard-summary-row .property-revenue-row { background: #f3f4f6; }
.location-dashboard-page .scorecard-summary-row .property-revenue-row strong { font-size: 21px; }
.location-dashboard-page .scorecard-summary-row .property-profit-row { background: #eaf4ff; }
.location-dashboard-page .scorecard-summary-row .property-profit-row strong { color: #075fad; font-size: 25px; }
.location-dashboard-page .scorecard-summary-row .property-profit-row small { font-size: 12px; }
.location-dashboard-page .scorecard-summary-row .property-special-profit { background: #f5f9ff; }
.location-dashboard-page .scorecard-summary-row .property-special-profit strong { color: #3975b9; font-size: 20px; }

.location-dashboard-page .scorecard-tools-row {
  padding: 16px 22px 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 10px 18px;
  border-top: 1px dashed #dce1e7;
  background: #fbfcfd;
}
.location-dashboard-page .scorecard-tools-row .quick-simulator {
  min-height: 112px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 170px repeat(4, minmax(150px, 1fr));
  grid-template-rows: 1fr;
  gap: 12px;
  align-items: center;
}
.location-dashboard-page .scorecard-tools-row .quick-simulator-heading { height: 100%; align-items: flex-start; flex-direction: column; justify-content: center; }
.location-dashboard-page .scorecard-tools-row .quick-simulator label { display: grid; grid-template-columns: 1fr; gap: 5px; }
.location-dashboard-page .scorecard-tools-row .quick-simulator label > span { font-size: 14px; }
.location-dashboard-page .scorecard-tools-row .quick-simulator output { font-size: 15px; text-align: left; }
.location-dashboard-page .scorecard-notices { grid-column: 1; min-width: 0; }
.location-dashboard-page .scorecard-notices .missing-note { min-height: auto; padding: 4px 0; }
.location-dashboard-page .scorecard-tools-row > .property-correction { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
.location-dashboard-page .scorecard-tools-row > .property-correction[open] { grid-column: 1 / -1; grid-row: auto; }
.location-dashboard-page .scorecard-tools-row > .property-correction summary { padding: 15px 12px; border: 1px solid #d9dee5; border-radius: 10px; background: white; text-align: center; }

@media (max-width: 760px) {
  .brand-cluster { width: 100%; align-items: flex-start; flex-direction: column; gap: 7px; }
  .location-dashboard-page .site-header .provider-credit { display: inline; font-size: 14px; }
  .location-dashboard-page .site-header { padding: 14px 16px; }
  .location-dashboard-page .page-shell.location-shell { width: min(100% - 24px, 1280px); }
  .location-dashboard-page .scorecard-tools-row .quick-simulator { grid-template-columns: 150px repeat(4, minmax(145px, 1fr)); }
}

/* Horizontal property matrix with a fixed Excel-style label column */
.location-dashboard-page .scorecard-table { overflow-x: auto; }
.location-dashboard-page .scorecard-matrix {
  --scorecard-rows: 150px 92px 82px 92px 92px 120px 100px 120px 100px 326px 80px 72px;
  min-width: 100%;
  width: max-content;
  display: grid;
  grid-template-columns: 176px max-content;
  align-items: stretch;
}
.location-dashboard-page .scorecard-label-column {
  position: sticky;
  z-index: 30;
  left: 0;
  display: grid;
  grid-template-rows: var(--scorecard-rows);
  border-right: 2px solid #cfd5dc;
  background: #f3f5f7;
  box-shadow: 5px 0 12px rgba(25, 35, 45, .08);
}
.location-dashboard-page .scorecard-label-column span {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #d9dee4;
  color: #333d48;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.35;
}
.location-dashboard-page .scorecard-label-column span:last-child { border-bottom: 0; }
.location-dashboard-page .scorecard-matrix > .location-card-grid {
  min-width: min(1104px, calc(100vw - 224px));
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--listing-count), minmax(220px, 1fr));
  align-items: stretch;
  gap: 0;
  overflow: visible;
}
.location-dashboard-page .scorecard-matrix .location-property-card {
  min-width: 220px;
  display: grid;
  grid-template-rows: var(--scorecard-rows);
  border: 0;
  border-right: 1px solid #dfe3e8;
  border-radius: 0;
  background: white;
}
.location-dashboard-page .scorecard-matrix .location-property-card:last-child { border-right: 0; }
.location-dashboard-page .scorecard-matrix .location-property-card > * {
  min-width: 0;
  border-bottom: 1px solid #e1e5e9;
}
.location-dashboard-page .scorecard-matrix .location-property-card > *:last-child { border-bottom: 0; }
.location-dashboard-page .scorecard-matrix .scorecard-property-cell {
  padding: 16px;
  justify-content: center;
  gap: 8px;
  background: #fff;
}
.location-dashboard-page .scorecard-matrix .scorecard-property-name { align-items: start; }
.location-dashboard-page .scorecard-matrix .scorecard-property-name h3 {
  display: -webkit-box;
  overflow: hidden;
  font-size: 20px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.location-dashboard-page .scorecard-matrix .scorecard-property-cell > p { color: #7a838d; font-size: 15px; font-weight: 400; }
.location-dashboard-page .scorecard-matrix .scorecard-property-cell > a { font-size: 14px; }
.location-dashboard-page .scorecard-matrix .property-facts {
  padding: 10px 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  border: 0;
  border-radius: 0;
  background: white;
}
.location-dashboard-page .scorecard-matrix .property-facts span {
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  color: #15191e;
  font-size: 14px;
  font-weight: 400;
}
.location-dashboard-page .scorecard-matrix .property-facts span:nth-child(even) { border-left: 1px solid #e2e5e9 !important; }
.location-dashboard-page .scorecard-matrix .scorecard-property-meta {
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.location-dashboard-page .scorecard-matrix .scorecard-property-meta .property-rating { font-size: 18px; }
.location-dashboard-page .scorecard-matrix .scorecard-property-meta .property-grade { position: static; padding: 5px 8px; font-size: 14px; }
.location-dashboard-page .scorecard-matrix .scorecard-price-cell,
.location-dashboard-page .scorecard-matrix .occupancy-block,
.location-dashboard-page .scorecard-matrix .property-revenue-row,
.location-dashboard-page .scorecard-matrix .property-profit-row,
.location-dashboard-page .scorecard-matrix .property-special-profit {
  margin: 0;
  padding: 10px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 0;
  text-align: center;
}
.location-dashboard-page .scorecard-matrix .scorecard-price-cell strong { font-size: 21px; }
.location-dashboard-page .scorecard-matrix .scorecard-price-cell small { color: #7a838d; font-size: 13px; font-weight: 400; }
.location-dashboard-page .scorecard-matrix .occupancy-block strong { font-size: 25px; }
.location-dashboard-page .scorecard-matrix .occupancy-track { width: 88%; }
.location-dashboard-page .scorecard-matrix .occupancy-block small { color: #7a838d; font-size: 12px; font-weight: 400; }
.location-dashboard-page .scorecard-matrix .property-revenue-row { background: #f3f4f6; }
.location-dashboard-page .scorecard-matrix .property-revenue-row strong { font-size: 22px; }
.location-dashboard-page .scorecard-matrix .property-profit-row { background: #eaf4ff; }
.location-dashboard-page .scorecard-matrix .property-profit-row strong { color: #075fad; font-size: 28px; }
.location-dashboard-page .scorecard-matrix .property-profit-row small { font-size: 12px; }
.location-dashboard-page .scorecard-matrix .property-special-profit { background: #f5f9ff; }
.location-dashboard-page .scorecard-matrix .property-special-profit strong { color: #3975b9; font-size: 21px; }
.location-dashboard-page .scorecard-matrix .quick-simulator {
  padding: 12px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 42px repeat(4, 60px);
  gap: 3px;
  border: 0;
  border-radius: 0;
  background: #f6faff;
}
.location-dashboard-page .scorecard-matrix .quick-simulator-heading { flex-direction: row; align-items: center; justify-content: space-between; }
.location-dashboard-page .scorecard-matrix .quick-simulator label { display: grid; grid-template-columns: 62px minmax(45px, 1fr) 82px; gap: 6px; }
.location-dashboard-page .scorecard-matrix .quick-simulator label > span { font-size: 14px; }
.location-dashboard-page .scorecard-matrix .quick-simulator output { font-size: 14px; text-align: right; }
.location-dashboard-page .scorecard-matrix .scorecard-notices {
  padding: 8px 10px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.location-dashboard-page .scorecard-matrix .scorecard-notices .missing-note { min-height: auto; padding: 2px 0; font-size: 12px; }
.location-dashboard-page .scorecard-matrix .property-correction { padding: 7px 9px; overflow: visible; }
.location-dashboard-page .scorecard-matrix .property-correction summary { padding: 13px 8px; border: 1px solid #d9dee5; border-radius: 9px; background: white; text-align: center; font-size: 14px; }
@media (max-width: 760px) {
  .location-dashboard-page .scorecard-matrix { grid-template-columns: 145px max-content; }
  .location-dashboard-page .scorecard-label-column span { padding: 10px 12px; font-size: 14px; }
  .location-dashboard-page .scorecard-matrix > .location-card-grid { grid-template-columns: repeat(var(--listing-count), 220px); }
}

/* Unified ranking badges and wide vertical scorecard rows */
.location-dashboard-page .site-header {
  padding-left: max(12px, calc((100vw - 1800px) / 2));
  padding-right: max(12px, calc((100vw - 1800px) / 2));
}
.location-dashboard-page .page-shell.location-shell { width: min(1800px, calc(100% - 24px)); }
.location-dashboard-page .ranking-position {
  position: relative;
  width: 62px !important;
  height: 62px !important;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  color: white !important;
  background: transparent !important;
}
.location-dashboard-page .ranking-position::before {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 52px;
  height: 52px;
  display: block !important;
  border: 0;
  border-radius: 50%;
  background: #202327 !important;
  box-shadow: none;
  clip-path: none;
  content: "";
}
.location-dashboard-page .ranking-position::after,
.location-dashboard-page .ranking-position .medal-ribbons { display: none !important; }
.location-dashboard-page .ranking-position span {
  position: absolute;
  z-index: 2;
  top: 5px;
  left: 5px;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: white !important;
  font-size: 25px !important;
  font-weight: 850 !important;
  line-height: 1;
  text-shadow: none;
}
.location-dashboard-page .portfolio-ranking-row .ranking-property {
  display: flex !important;
  align-items: flex-start !important;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}
.location-dashboard-page .portfolio-ranking-row .ranking-property strong,
.location-dashboard-page .portfolio-ranking-row .ranking-property span { display: block; width: 100%; }
.location-dashboard-page .portfolio-ranking-row .ranking-property strong { color: #15191e; font-size: 23px; font-weight: 800; }
.location-dashboard-page .portfolio-ranking-row .ranking-property span { color: #7a838d; font-size: 17px; font-weight: 400; }
.location-dashboard-page .portfolio-ranking-row .ranking-interior { align-items: center; justify-content: center; }
.location-dashboard-page .ranking-grade {
  width: 66px !important;
  min-width: 66px !important;
  height: 44px;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  border-radius: 9px;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 750 !important;
  line-height: 1;
  text-align: center;
}
.location-dashboard-page .portfolio-ranking-row [data-ranking-value] {
  display: block;
  width: 100%;
  overflow: visible;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 750 !important;
  line-height: 1.25;
  text-align: left;
  text-overflow: clip;
}
.location-dashboard-page .portfolio-ranking-row > div:last-child strong { color: #111 !important; font-size: 22px !important; }

.location-dashboard-page .scorecard-section { overflow: visible; }
.location-dashboard-page .scorecard-table { overflow-x: auto; }
.location-dashboard-page .scorecard-table-head,
.location-dashboard-page .scorecard-summary-row {
  min-width: 1570px;
  display: grid;
  grid-template-columns: minmax(230px, 1.35fr) minmax(165px, .85fr) minmax(145px, .7fr) repeat(2, minmax(150px, .78fr)) minmax(165px, .82fr) repeat(3, minmax(175px, .9fr));
  gap: 12px;
  align-items: stretch;
}
.location-dashboard-page .scorecard-table-head {
  position: sticky;
  z-index: 20;
  top: 0;
  min-height: 66px;
  padding: 0 22px;
  align-items: center;
  border-bottom: 1px solid #d9dde2;
  background: #f4f5f7;
  box-shadow: 0 3px 8px rgba(25, 35, 45, .05);
}
.location-dashboard-page .scorecard-table-head span { color: #343c46; font-size: 16px; font-weight: 750; line-height: 1.25; }
.location-dashboard-page .scorecard-table > .location-card-grid {
  min-width: 1570px;
  padding: 0;
  display: block;
  overflow: visible;
}
.location-dashboard-page .scorecard-table .location-property-card {
  min-width: 1570px;
  display: block;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #dfe3e8;
  border-radius: 0;
  background: white;
}
.location-dashboard-page .scorecard-table .location-property-card:last-child { border-bottom: 0; }
.location-dashboard-page .scorecard-summary-row { min-height: 188px; padding: 19px 22px; }
.location-dashboard-page .scorecard-summary-row > * { min-width: 0; }
.location-dashboard-page .scorecard-summary-row .scorecard-property-cell { padding: 0; }
.location-dashboard-page .scorecard-summary-row .property-facts {
  padding: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  border: 0;
  background: transparent;
}
.location-dashboard-page .scorecard-summary-row .property-facts span { padding: 0 4px; justify-content: center; font-size: 15px; font-weight: 400; }
.location-dashboard-page .scorecard-summary-row .property-facts span:nth-child(even) { border-left: 1px solid #e1e4e8 !important; }
.location-dashboard-page .scorecard-summary-row .scorecard-property-meta {
  padding: 10px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.location-dashboard-page .scorecard-summary-row .scorecard-property-meta .property-rating { color: #111; font-size: 20px; font-weight: 750; }
.location-dashboard-page .scorecard-summary-row .scorecard-property-meta .property-grade {
  position: static;
  width: 104px;
  height: 40px;
  padding: 0;
  display: grid;
  place-items: center;
  color: #111;
  font-size: 16px;
  font-weight: 750;
}
.location-dashboard-page .scorecard-summary-row .scorecard-price-cell,
.location-dashboard-page .scorecard-summary-row .occupancy-block,
.location-dashboard-page .scorecard-summary-row .property-revenue-row,
.location-dashboard-page .scorecard-summary-row .property-profit-row,
.location-dashboard-page .scorecard-summary-row .property-special-profit {
  margin: 0;
  padding: 12px 10px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-left: 1px solid #e4e7eb;
  border-radius: 0;
  text-align: center;
}
.location-dashboard-page .scorecard-summary-row .scorecard-price-cell strong,
.location-dashboard-page .scorecard-summary-row .property-revenue-row strong,
.location-dashboard-page .scorecard-summary-row .property-special-profit strong { color: #111; font-size: 22px; font-weight: 750; }
.location-dashboard-page .scorecard-summary-row .property-profit-row strong { font-size: 28px; }
.location-dashboard-page .scorecard-summary-row .occupancy-block strong { color: #111; font-size: 24px; }
.location-dashboard-page .scorecard-summary-row .occupancy-track { width: 90%; }
.location-dashboard-page .scorecard-tools-row {
  padding: 16px 22px 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 10px 18px;
  border-top: 1px dashed #dce1e7;
  background: #fbfcfd;
}
.location-dashboard-page .scorecard-tools-row > .quick-simulator {
  min-height: 112px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 180px repeat(4, minmax(190px, 1fr));
  grid-template-rows: 1fr;
  gap: 14px;
  align-items: center;
}
.location-dashboard-page .scorecard-tools-row .quick-simulator-heading { height: 100%; align-items: flex-start; flex-direction: column; justify-content: center; }
.location-dashboard-page .scorecard-tools-row .quick-simulator label { display: grid; grid-template-columns: 1fr; gap: 5px; }
.location-dashboard-page .scorecard-tools-row .quick-simulator output { text-align: left; }
.location-dashboard-page .scorecard-tools-row .scorecard-notices { grid-column: 1; }
.location-dashboard-page .scorecard-tools-row > .property-correction { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
.location-dashboard-page .scorecard-tools-row > .property-correction[open] { grid-column: 1 / -1; grid-row: auto; }

@media (max-width: 760px) {
  .location-dashboard-page .page-shell.location-shell { width: calc(100% - 24px); }
}

/* Final scorecard orientation: fixed labels at left, property columns across */
.location-dashboard-page .scorecard-table { overflow-x: auto; }
.location-dashboard-page .scorecard-matrix {
  --scorecard-rows: 150px 92px 82px 92px 92px 120px 100px 120px 100px 326px 80px 72px;
  width: 100%;
  min-width: 1276px;
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  align-items: stretch;
}
.location-dashboard-page .scorecard-label-column {
  position: sticky;
  z-index: 30;
  left: 0;
  display: grid;
  grid-template-rows: var(--scorecard-rows);
  border-right: 2px solid #cfd5dc;
  background: #f3f5f7;
  box-shadow: 5px 0 12px rgba(25, 35, 45, .08);
}
.location-dashboard-page .scorecard-label-column span {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #d9dee4;
  color: #333d48;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.35;
}
.location-dashboard-page .scorecard-matrix > .location-card-grid {
  min-width: 1100px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--listing-count), minmax(220px, 1fr));
  align-items: stretch;
  gap: 0;
  overflow: visible;
}
.location-dashboard-page .scorecard-table .scorecard-matrix .location-property-card {
  min-width: 220px;
  display: grid;
  grid-template-rows: var(--scorecard-rows);
  overflow: visible;
  border: 0;
  border-right: 1px solid #dfe3e8;
  border-radius: 0;
  background: white;
}
.location-dashboard-page .scorecard-table .scorecard-matrix .location-property-card:last-child { border-right: 0; }
.location-dashboard-page .scorecard-matrix .location-property-card > * {
  min-width: 0;
  border-bottom: 1px solid #e1e5e9;
}
.location-dashboard-page .scorecard-matrix .location-property-card > *:last-child { border-bottom: 0; }
.location-dashboard-page .scorecard-matrix .scorecard-property-meta .property-grade {
  position: static;
  width: 104px;
  min-width: 104px;
  height: 40px;
  padding: 0;
  display: grid;
  place-items: center;
  color: #111;
  font-size: 16px;
  font-weight: 750;
  text-align: center;
}
@media (max-width: 760px) {
  .location-dashboard-page .scorecard-matrix { min-width: 1245px; grid-template-columns: 145px minmax(0, 1fr); }
  .location-dashboard-page .scorecard-label-column span { padding: 10px 12px; font-size: 14px; }
}

/* Headerless comparison cards, matching the compact ranking rows */
.location-dashboard-page .portfolio-ranking-columns { display: none !important; }
.location-dashboard-page .portfolio-ranking-row { min-height: 128px; }
.location-dashboard-page .portfolio-ranking-row > div:not(.ranking-property) {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
}
.location-dashboard-page .portfolio-ranking-row > div > span {
  display: block;
  width: 100%;
  color: #7a838d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
}
.location-dashboard-page .portfolio-ranking-row .ranking-interior { align-items: center; }

.location-dashboard-page .scorecard-card-grid {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--listing-count), minmax(280px, 1fr));
  align-items: stretch;
  gap: 14px;
  overflow-x: auto;
}
.location-dashboard-page .scorecard-card-grid .location-property-card {
  min-width: 280px;
  display: grid;
  grid-template-rows: 150px 118px 100px 110px 110px 140px 110px 130px 110px 326px 80px 72px;
  overflow: visible;
  border: 1px solid #dfe3e8;
  border-radius: 16px;
  background: white;
  box-shadow: 0 7px 22px rgba(24, 40, 58, .06);
}
.location-dashboard-page .scorecard-card-grid .location-property-card > * {
  min-width: 0;
  border-bottom: 1px solid #e1e5e9;
}
.location-dashboard-page .scorecard-card-grid .location-property-card > *:last-child { border-bottom: 0; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell { padding: 16px; }
.location-dashboard-page .scorecard-card-grid .property-facts {
  padding: 10px 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 28px 1fr 1fr;
  border: 0;
  border-radius: 0;
  background: #fafbfc;
}
.location-dashboard-page .scorecard-card-grid .property-facts .scorecard-cell-label { grid-column: 1 / -1; }
.location-dashboard-page .scorecard-card-grid .property-facts span {
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  color: #15191e;
  font-size: 14px;
  font-weight: 400;
}
.location-dashboard-page .scorecard-card-grid .property-facts span:nth-of-type(even) { border-left: 1px solid #e2e5e9 !important; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-meta,
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell,
.location-dashboard-page .scorecard-card-grid .occupancy-block,
.location-dashboard-page .scorecard-card-grid .property-revenue-row,
.location-dashboard-page .scorecard-card-grid .property-profit-row,
.location-dashboard-page .scorecard-card-grid .property-special-profit {
  margin: 0;
  padding: 12px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 0;
  text-align: center;
}
.location-dashboard-page .scorecard-cell-label {
  color: #7a838d !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.25;
  text-align: center;
}
.location-dashboard-page .scorecard-card-grid .scorecard-property-meta .property-rating { color: #111; font-size: 20px; font-weight: 750; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-meta .property-grade {
  position: static;
  width: 104px;
  min-width: 104px;
  height: 38px;
  padding: 0;
  display: grid;
  place-items: center;
  color: #111;
  font-size: 16px;
  font-weight: 750;
}
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell strong,
.location-dashboard-page .scorecard-card-grid .property-revenue-row strong,
.location-dashboard-page .scorecard-card-grid .property-special-profit strong { color: #111; font-size: 22px; font-weight: 750; }
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell small,
.location-dashboard-page .scorecard-card-grid .occupancy-block small,
.location-dashboard-page .scorecard-card-grid .property-profit-row small { color: #7a838d; font-size: 12px; font-weight: 400; }
.location-dashboard-page .scorecard-card-grid .occupancy-block strong { color: #111; font-size: 25px; }
.location-dashboard-page .scorecard-card-grid .occupancy-track { width: 90%; }
.location-dashboard-page .scorecard-card-grid .property-revenue-row { background: #f3f4f6; }
.location-dashboard-page .scorecard-card-grid .property-profit-row { background: #eaf4ff; }
.location-dashboard-page .scorecard-card-grid .property-profit-row strong { color: #075fad; font-size: 29px; }
.location-dashboard-page .scorecard-card-grid .property-special-profit { background: #f5f9ff; }
.location-dashboard-page .scorecard-card-grid .property-special-profit strong { color: #3975b9; }
.location-dashboard-page .scorecard-card-grid .quick-simulator {
  padding: 12px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 42px repeat(4, 60px);
  gap: 3px;
  border: 0;
  border-radius: 0;
  background: #f6faff;
}
.location-dashboard-page .scorecard-card-grid .quick-simulator label { display: grid; grid-template-columns: 62px minmax(45px, 1fr) 88px; gap: 6px; }
.location-dashboard-page .scorecard-card-grid .quick-simulator output { text-align: right; }
.location-dashboard-page .scorecard-card-grid .scorecard-notices { padding: 8px 10px; display: flex; align-items: center; flex-direction: column; justify-content: center; }
.location-dashboard-page .scorecard-card-grid .scorecard-notices .missing-note { min-height: auto; padding: 2px 0; font-size: 12px; }
.location-dashboard-page .scorecard-card-grid .property-correction { padding: 7px 9px; }
.location-dashboard-page .scorecard-card-grid .property-correction summary { padding: 13px 8px; border: 1px solid #d9dee5; border-radius: 9px; background: white; text-align: center; font-size: 14px; }
@media (max-width: 1500px) {
  .location-dashboard-page .scorecard-card-grid { grid-template-columns: repeat(var(--listing-count), 280px); }
}

/* Screenshot-matched compact ranking and scorecard treatment */
.location-dashboard-page .site-header {
  padding-left: max(24px, calc((100vw - 1680px) / 2));
  padding-right: max(24px, calc((100vw - 1680px) / 2));
}
.location-dashboard-page .page-shell.location-shell { width: min(1680px, calc(100% - 48px)); }
.location-dashboard-page .brand { font-size: 20px; }
.location-dashboard-page .provider-credit { font-size: 15px; }
.location-dashboard-page .dashboard-topbar h1 { font-size: clamp(40px, 4.8vw, 56px); }
.location-dashboard-page .location-kicker { font-size: 14px; }
.location-dashboard-page .location-primary-button,
.location-dashboard-page .location-outline-button,
.location-dashboard-page .location-reset-button { min-height: 54px; padding: 12px 21px; font-size: 16px; }
.location-dashboard-page .collection-region-bar input { min-height: 52px; font-size: 18px; font-weight: 650; }
.location-dashboard-page .collection-region-bar label > span { font-size: 15px; }
.location-dashboard-page .collection-rail > div:nth-child(2) strong { font-size: 20px; }
.location-dashboard-page .collection-rail > b { font-size: 17px; }
.location-dashboard-page .dashboard-section-heading h2 { font-size: 30px; }
.location-dashboard-page .dashboard-section-heading > div > span { font-size: 15px; font-weight: 400; }
.location-dashboard-page .ready-count { padding: 8px 13px; font-size: 15px; }
.location-dashboard-page .shared-rent-overview span { font-size: 14px; font-weight: 500; }
.location-dashboard-page .shared-rent-overview strong { font-size: 26px; }
.location-dashboard-page .shared-rent-overview small { font-size: 14px; font-weight: 400; }
.location-dashboard-page .rent-ledger-property > summary strong { font-size: 22px; }
.location-dashboard-page .rent-ledger-property > summary small { font-size: 15px; font-weight: 400; }
.location-dashboard-page .rent-ledger-property > summary > b { font-size: 15px; }

.location-dashboard-page .portfolio-ranking { border-radius: 22px; }
.location-dashboard-page .portfolio-ranking-heading { padding: 20px 24px; align-items: center; }
.location-dashboard-page .portfolio-ranking-heading h2 { font-size: 24px; font-weight: 700; }
.location-dashboard-page .portfolio-ranking-heading .section-number { font-size: 13px; }
.location-dashboard-page .portfolio-ranking-heading > span { font-size: 13px; font-weight: 400; }
.location-dashboard-page .portfolio-ranking-row {
  min-height: 84px;
  padding: 14px 22px;
  grid-template-columns: 38px minmax(300px, 1.7fr) minmax(82px, .45fr) minmax(96px, .5fr) repeat(4, minmax(140px, .82fr));
  gap: 16px;
}
.location-dashboard-page .ranking-position {
  width: 38px !important;
  height: 38px !important;
}
.location-dashboard-page .ranking-position::before {
  top: 3px;
  left: 3px;
  width: 32px;
  height: 32px;
}
.location-dashboard-page .portfolio-ranking-row:first-child .ranking-position::before { background: #ff385c !important; }
.location-dashboard-page .ranking-position span {
  top: 3px;
  left: 3px;
  width: 32px;
  height: 32px;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.location-dashboard-page .portfolio-ranking-row .ranking-property { gap: 4px; }
.location-dashboard-page .portfolio-ranking-row .ranking-property strong { font-size: 18px; font-weight: 750; }
.location-dashboard-page .portfolio-ranking-row .ranking-property span { font-size: 12px; }
.location-dashboard-page .portfolio-ranking-row > div:not(.ranking-property) { gap: 5px; }
.location-dashboard-page .portfolio-ranking-row > div > span { font-size: 11px; }
.location-dashboard-page .ranking-grade {
  width: 40px !important;
  min-width: 40px !important;
  height: 34px;
  border-radius: 7px;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.location-dashboard-page .portfolio-ranking-row [data-ranking-value] {
  font-size: 18px !important;
  font-weight: 750 !important;
}
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="profit"] { color: #8f2935 !important; font-size: 21px !important; }
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="occupancy"] { color: #ff385c !important; font-size: 21px !important; }
.location-dashboard-page .portfolio-ranking-row > div:last-child strong { color: #ff385c !important; font-size: 21px !important; }

.location-dashboard-page .scorecard-section {
  overflow: visible;
  border: 1px solid #dfe3e8;
  border-radius: 22px;
  background: white;
}
.location-dashboard-page .scorecard-section > .dashboard-section-heading {
  min-height: 78px;
  margin: 0;
  padding: 18px 24px;
  border-bottom: 1px solid #e1e5e9;
}
.location-dashboard-page .scorecard-card-grid {
  padding: 0;
  grid-template-columns: repeat(var(--listing-count), minmax(260px, 1fr));
  gap: 0;
  border-radius: 0 0 22px 22px;
}
.location-dashboard-page .scorecard-card-grid .location-property-card {
  min-width: 260px;
  grid-template-rows: 130px 100px 90px 96px 96px 124px 100px 120px 100px 290px 72px 64px;
  border: 0;
  border-right: 1px solid #e1e5e9;
  border-radius: 0;
  box-shadow: none;
}
.location-dashboard-page .scorecard-card-grid .location-property-card:last-child { border-right: 0; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell { padding: 14px; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-name h3 { font-size: 18px; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell > p { font-size: 13px; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell > a { font-size: 12px; }
.location-dashboard-page .scorecard-card-grid .property-facts { padding: 8px 7px; grid-template-rows: 24px 1fr 1fr; }
.location-dashboard-page .scorecard-card-grid .property-facts span { font-size: 13px; }
.location-dashboard-page .scorecard-cell-label { font-size: 11px !important; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-meta,
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell,
.location-dashboard-page .scorecard-card-grid .occupancy-block,
.location-dashboard-page .scorecard-card-grid .property-revenue-row,
.location-dashboard-page .scorecard-card-grid .property-profit-row,
.location-dashboard-page .scorecard-card-grid .property-special-profit { padding: 9px; gap: 5px; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-meta .property-rating { font-size: 17px; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-meta .property-grade {
  width: 48px;
  min-width: 48px;
  height: 32px;
  border-radius: 7px;
  font-size: 14px;
}
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell strong,
.location-dashboard-page .scorecard-card-grid .property-revenue-row strong,
.location-dashboard-page .scorecard-card-grid .property-special-profit strong { font-size: 18px; }
.location-dashboard-page .scorecard-card-grid .occupancy-block strong { font-size: 20px; }
.location-dashboard-page .scorecard-card-grid .property-profit-row strong { font-size: 24px; }
.location-dashboard-page .scorecard-card-grid .quick-simulator {
  padding: 10px;
  grid-template-rows: 36px repeat(4, 52px);
}
.location-dashboard-page .scorecard-card-grid .quick-simulator-heading strong { font-size: 14px; }
.location-dashboard-page .scorecard-card-grid .quick-simulator-heading button { font-size: 12px; }
.location-dashboard-page .scorecard-card-grid .quick-simulator label { grid-template-columns: 55px minmax(40px, 1fr) 75px; }
.location-dashboard-page .scorecard-card-grid .quick-simulator label > span,
.location-dashboard-page .scorecard-card-grid .quick-simulator output { font-size: 12px; }
.location-dashboard-page .scorecard-card-grid .property-correction summary { padding: 10px 7px; font-size: 12px; }

@media (max-width: 1500px) {
  .location-dashboard-page .scorecard-card-grid { grid-template-columns: repeat(var(--listing-count), 260px); }
}
@media (max-width: 760px) {
  .location-dashboard-page .page-shell.location-shell { width: calc(100% - 32px); }
}

/* Numbered sections, uniform rent cards, and separated property scorecards */
body.location-dashboard-page { background: #f5f6f8; }
.location-dashboard-page .site-header,
.location-dashboard-page .site-footer { background: white; }
.location-dashboard-page .page-shell.location-shell { background: transparent; }
.location-dashboard-page .dashboard-section-heading { align-items: center; }
.location-dashboard-page .dashboard-section-heading > div { grid-template-columns: auto 1fr; }
.location-dashboard-page .dashboard-section-heading .section-number {
  color: #ff385c;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}
.location-dashboard-page .dashboard-section-heading h2 {
  color: #171a1f;
  font-size: 28px;
  font-weight: 800;
}
.location-dashboard-page .rent-ledger-section { padding-top: 52px; }
.location-dashboard-page .rent-ledger-section .dashboard-section-heading { margin-bottom: 20px; }
.location-dashboard-page .shared-rent-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.location-dashboard-page .shared-rent-overview article,
.location-dashboard-page .shared-rent-overview article.region,
.location-dashboard-page .shared-rent-overview article.applied {
  min-height: 126px;
  padding: 20px;
  border: 1px solid #dfe3e8;
  border-radius: 16px;
  color: #171a1f;
  background: white;
}
.location-dashboard-page .shared-rent-overview article span { color: #717b86; font-size: 14px; font-weight: 500; }
.location-dashboard-page .shared-rent-overview article strong,
.location-dashboard-page .shared-rent-overview article.region strong,
.location-dashboard-page .shared-rent-overview article.applied strong {
  margin: 6px 0;
  color: #171a1f;
  font-size: 25px;
  font-weight: 800;
}
.location-dashboard-page .shared-rent-overview article small { color: #7a838d; font-size: 13px; font-weight: 400; }

.location-dashboard-page .ranking-section {
  order: 6;
  padding-top: 66px;
}
.location-dashboard-page .ranking-section > .dashboard-section-heading { margin-bottom: 20px; }
.location-dashboard-page .ranking-section > .dashboard-section-heading > span { color: #717b86; font-size: 13px; font-weight: 400; }
.location-dashboard-page .ranking-section .portfolio-ranking {
  order: initial;
  margin-top: 0;
  border-radius: 20px;
  background: white;
}
.location-dashboard-page .ranking-section .portfolio-ranking-row { min-height: 86px; }
.location-dashboard-page .ranking-section .ranking-position {
  width: 38px !important;
  height: 38px !important;
}

.location-dashboard-page .scorecard-section {
  order: 7;
  padding-top: 72px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.location-dashboard-page .scorecard-section > .dashboard-section-heading {
  min-height: 0;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}
.location-dashboard-page .scorecard-card-grid {
  padding: 0 0 8px;
  grid-template-columns: repeat(var(--listing-count), minmax(260px, 1fr));
  gap: 14px;
  border-radius: 0;
}
.location-dashboard-page .scorecard-card-grid .location-property-card,
.location-dashboard-page .scorecard-card-grid .location-property-card:last-child {
  min-width: 260px;
  grid-template-rows: 138px 100px 96px 96px 124px 100px 120px 100px 290px 72px 64px;
  overflow: visible;
  border: 1px solid #dfe3e8;
  border-radius: 20px;
  background: white;
  box-shadow: 0 6px 18px rgba(24, 40, 58, .04);
}
.location-dashboard-page .scorecard-card-grid .location-property-card > * {
  border-bottom: 1px solid #e3e7eb;
}
.location-dashboard-page .scorecard-card-grid .location-property-card > *:last-child { border-bottom: 0; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell {
  padding: 16px;
  display: flex;
  align-items: stretch;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
}
.location-dashboard-page .scorecard-property-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}
.location-dashboard-page .scorecard-property-top h3 {
  margin: 0;
  color: #171a1f;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
}
.location-dashboard-page .scorecard-property-top > div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 5px;
}
.location-dashboard-page .scorecard-property-top .property-grade {
  position: static;
  width: 38px;
  min-width: 38px;
  height: 30px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: #111;
  font-size: 13px;
  font-weight: 800;
  box-shadow: none;
}
.location-dashboard-page .scorecard-property-top .property-rating {
  color: #333d48;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.location-dashboard-page .scorecard-property-top .property-grade.grade-a-plus {
  color: #075fad;
  background: #ddebff;
}
.location-dashboard-page .scorecard-property-top .property-grade.grade-a { background: #dff7e9; }
.location-dashboard-page .scorecard-property-top .property-grade.grade-b { background: #fff0b8; }
.location-dashboard-page .scorecard-property-top .property-grade.grade-c { background: #ffe0dc; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell > p { margin: 0; color: #7a838d; font-size: 13px; font-weight: 400; }
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell > a { color: #596572; font-size: 12px; font-weight: 400; }

@media (max-width: 1500px) {
  .location-dashboard-page .scorecard-card-grid { grid-template-columns: repeat(var(--listing-count), 260px); }
  .location-dashboard-page .shared-rent-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .location-dashboard-page .shared-rent-overview { grid-template-columns: 1fr; }
}

/* Keep every ranking number identical after live reordering. */
.location-dashboard-page .ranking-section .portfolio-ranking-row .ranking-position,
.location-dashboard-page .ranking-section .portfolio-ranking-row .ranking-position:not(.is-medal) {
  width: 38px !important;
  height: 38px !important;
}
.location-dashboard-page .ranking-section .portfolio-ranking-row .ranking-position::before,
.location-dashboard-page .ranking-section .portfolio-ranking-row .ranking-position:not(.is-medal)::before {
  top: 3px;
  left: 3px;
  width: 32px;
  height: 32px;
}
.location-dashboard-page .ranking-section .portfolio-ranking-row .ranking-position span,
.location-dashboard-page .ranking-section .portfolio-ranking-row .ranking-position:not(.is-medal) span {
  top: 3px;
  left: 3px;
  width: 32px;
  height: 32px;
  font-size: 14px !important;
}

/* Phase B: compact dashboard tools and honest collection progress. */
.location-dashboard-page .dashboard-top-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(76px, 1fr));
  align-items: start;
  gap: 14px;
}
.location-dashboard-page .dashboard-action-item {
  position: relative;
  min-width: 76px;
  margin: 0;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 7px;
}
.location-dashboard-page .dashboard-icon-button,
.location-dashboard-page .location-reset-button.dashboard-icon-button {
  width: 50px;
  min-width: 50px;
  height: 50px;
  min-height: 50px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid #aeb9c5;
  border-radius: 50%;
  color: #18334f;
  background: #fff;
  box-shadow: 0 5px 16px rgba(24, 51, 79, .08);
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.location-dashboard-page .dashboard-icon-button svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.location-dashboard-page .dashboard-icon-button:hover {
  border-color: #167c91;
  color: #0c7088;
  background: #f1fbfc;
  box-shadow: 0 7px 18px rgba(17, 107, 130, .14);
  transform: translateY(-1px);
}
.location-dashboard-page .dashboard-icon-button:focus-visible {
  outline: 3px solid rgba(17, 133, 160, .28);
  outline-offset: 3px;
}
.location-dashboard-page .location-reset-button.dashboard-icon-button {
  border-color: #dc9298;
  color: #a9414b;
  background: #fffafa;
  font-size: inherit;
}
.location-dashboard-page .location-reset-button.dashboard-icon-button:hover {
  border-color: #c86d76;
  color: #963640;
  background: #fff3f3;
}
.location-dashboard-page .dashboard-icon-button:disabled {
  opacity: .52;
  cursor: wait;
  transform: none;
}
.location-dashboard-page .dashboard-action-label {
  min-height: 34px;
  max-width: 82px;
  display: -webkit-box;
  overflow: hidden;
  color: #4c5968;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.location-dashboard-page .export-menu [data-export-menu] {
  top: 58px;
}
.location-dashboard-page .export-menu [data-export-menu] button {
  width: 100%;
}

.location-dashboard-page .collection-rail {
  margin-bottom: 0;
  padding: 21px 24px 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 13px;
  overflow: hidden;
  border: 1px solid #cbd6df;
  border-radius: 17px;
  background: #f8fafc;
  box-shadow: 0 7px 22px rgba(20, 43, 66, .06);
}
.location-dashboard-page .collection-status-line {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px;
  align-items: center;
  gap: 16px;
}
.location-dashboard-page .collection-status-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.location-dashboard-page .error-help-prompt {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.location-dashboard-page .okgongi-character {
  flex: 0 0 auto;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.location-dashboard-page .okgongi-character-error {
  width: 84px;
  height: 84px;
  transition: transform .16s ease;
}
.location-dashboard-page .okgongi-character-dialog {
  width: 88px;
  height: 88px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.location-dashboard-page .okgongi-character video,
.location-dashboard-page .okgongi-character img {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  background: transparent;
  object-fit: contain;
  box-shadow: none;
}
.location-dashboard-page .okgongi-character video[hidden],
.location-dashboard-page .okgongi-character img[hidden] {
  display: none !important;
}
.location-dashboard-page .collection-status-line strong {
  min-width: 0;
  overflow: hidden;
  color: #142d46;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.location-dashboard-page .error-help-open {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #274861;
  box-shadow: none;
  cursor: pointer;
}
.location-dashboard-page .error-help-label {
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}
.location-dashboard-page .error-help-open:hover .okgongi-character-error {
  transform: scale(1.04);
}
.location-dashboard-page .error-help-open:focus-visible {
  outline: 2px solid #176f88;
  outline-offset: 3px;
}
.location-dashboard-page .error-help-open[hidden],
.location-dashboard-page .error-help-dialog[hidden] {
  display: none !important;
}
.location-dashboard-page .error-help-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 24px;
  overflow: auto;
  border: 1px solid #c5d1da;
  border-radius: 18px;
  background: #fff;
  color: #183247;
  box-shadow: 0 24px 70px rgba(16, 41, 60, .24);
}
.location-dashboard-page .error-help-dialog::backdrop {
  background: rgba(14, 32, 47, .48);
}
.location-dashboard-page .error-help-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.location-dashboard-page .error-help-heading-character {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.location-dashboard-page .error-help-heading p {
  margin: 0 0 4px;
  color: #176f88;
  font-size: 13px;
  font-weight: 850;
}
.location-dashboard-page .error-help-heading h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.35;
}
.location-dashboard-page .error-help-heading button,
.location-dashboard-page .error-help-copy {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #aebfc9;
  border-radius: 10px;
  background: #f8fafc;
  color: #29475d;
  font-weight: 800;
  cursor: pointer;
}
.location-dashboard-page .error-help-source {
  margin: 18px 0 14px;
  padding: 13px 14px;
  border-radius: 12px;
  background: #fff4f1;
  line-height: 1.5;
}
.location-dashboard-page .error-help-source strong,
.location-dashboard-page .error-help-source span {
  display: block;
}
.location-dashboard-page .error-help-source strong {
  margin-bottom: 3px;
  font-size: 13px;
}
.location-dashboard-page .error-help-guide {
  padding: 16px;
  border: 1px solid #c9dce3;
  border-radius: 14px;
  background: #f4fafb;
}
.location-dashboard-page .error-help-guide-label {
  margin: 0 0 12px;
  color: #176f88;
  font-size: 13px;
  font-weight: 850;
}
.location-dashboard-page .error-help-guide h3 {
  margin: 0 0 6px;
  color: #183247;
  font-size: 16px;
}
.location-dashboard-page .error-help-guide h3:not(:first-of-type) {
  margin-top: 16px;
}
.location-dashboard-page .error-help-guide > p:not(.error-help-guide-label) {
  margin: 0;
  line-height: 1.65;
}
.location-dashboard-page .error-help-guide ol {
  margin: 0;
  padding-left: 24px;
}
.location-dashboard-page .error-help-guide li {
  padding-left: 3px;
  line-height: 1.65;
}
.location-dashboard-page .error-help-guide li + li {
  margin-top: 5px;
}
.location-dashboard-page .error-help-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0 14px;
  color: #547082;
  font-size: 13px;
  font-weight: 850;
}
.location-dashboard-page .error-help-divider::before,
.location-dashboard-page .error-help-divider::after {
  height: 1px;
  flex: 1 1 auto;
  background: #d7e0e6;
  content: "";
}
.location-dashboard-page .error-help-ask {
  display: grid;
  gap: 10px;
}
.location-dashboard-page .error-help-ask-action {
  display: flex;
  align-items: center;
  gap: 12px;
}
.location-dashboard-page .error-help-question {
  display: grid;
  gap: 7px;
  margin: 0;
  font-weight: 750;
}
.location-dashboard-page .error-help-question input {
  width: 100%;
}
.location-dashboard-page .error-help-answer,
.location-dashboard-page .error-help-staff-note {
  width: 100%;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #cbd8e0;
  border-radius: 12px;
  background: #f6fafc;
  color: #183247;
  font-size: 15px;
  line-height: 1.65;
  white-space: pre-wrap;
}
.location-dashboard-page .error-help-staff-note {
  min-height: 112px;
  resize: vertical;
}
.location-dashboard-page .error-help-copy {
  margin-top: 10px;
}
@media (prefers-reduced-motion: reduce) {
  .location-dashboard-page .okgongi-character-error {
    transition: none;
  }
  .location-dashboard-page .error-help-open:hover .okgongi-character-error {
    transform: none;
  }
  .location-dashboard-page .okgongi-character video {
    display: none !important;
  }
  .location-dashboard-page .okgongi-character img {
    display: block !important;
  }
}
.location-dashboard-page .collection-status-line > b {
  width: 64px;
  color: #176f88;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  text-align: right;
  white-space: nowrap;
}
.location-dashboard-page .collection-progress-track {
  position: relative;
  width: 100%;
  height: 11px;
  overflow: hidden;
  border-radius: 999px;
  background: #142a40;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .28);
}
.location-dashboard-page .collection-progress-track > i {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  background: linear-gradient(90deg, #1ba5a4 0%, #137fa8 54%, #2563b9 100%);
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}
.location-dashboard-page .collection-progress-track > i.has-progress-shine::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(105deg, transparent 25%, rgba(255, 255, 255, .3) 48%, transparent 70%);
  transform: translateX(-110%);
  animation: collection-progress-shine .8s ease-out 1;
}
.location-dashboard-page .collection-rail.is-indeterminate .collection-progress-track::after {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(85, 164, 184, .34), transparent);
  transform: translateX(-100%);
  animation: collection-progress-ready 1.8s ease-in-out infinite;
}
.location-dashboard-page .collection-rail.partial .collection-progress-track > i {
  background: linear-gradient(90deg, #1ba5a4 0%, #137fa8 54%, #2563b9 100%);
}
.location-dashboard-page .collection-rail.blocked .collection-progress-track > i { background: #ad5961; }
.location-dashboard-page .collection-rail.connection-error .collection-progress-track > i { background: #7d8995; }
.location-dashboard-page .collection-rail.safety-yellow { border-color: #dfc581; background: #fffdf7; }
.location-dashboard-page .collection-rail.safety-red { border-color: #d9a2a7; background: #fffafa; }
.location-dashboard-page .collection-rail.safety-neutral { border-color: #cbd1d7; background: #fafbfc; }
.location-dashboard-page .collection-pacer-notice {
  order: 4;
  margin: 10px 0 26px;
  padding: 0 3px;
  border: 0;
  color: #8a6108;
  background: transparent;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
}
.location-dashboard-page .collection-pacer-notice.is-blocked {
  border: 0;
  color: #a54650;
  background: transparent;
}
.location-dashboard-page .saved-price-result { order: 4; margin: 10px 0 26px; }

/* Calm red emphasis reserved for the primary estimated net-profit value. */
.location-dashboard-page .net-profit-highlight {
  width: fit-content !important;
  max-width: 100%;
  padding: 5px 9px;
  border: 2px solid #b84a55;
  border-radius: 8px;
  background: #fff8f7;
  box-shadow: 0 3px 8px rgba(117, 35, 46, .14);
  color: #8f2935 !important;
  font-size: 1.12em !important;
  font-weight: 850 !important;
  line-height: 1.2;
}
.location-dashboard-page .portfolio-ranking-row .net-profit-highlight {
  font-size: 25px !important;
}
.location-dashboard-page .scorecard-card-grid .property-profit-row .net-profit-highlight {
  font-size: 27px !important;
}

/* 사용자 입력 월세와 순위 바로가기: 자동 수집 로직은 보존하고 운영 화면만 단순화한다. */
.location-dashboard-page .collection-region-bar {
  grid-template-columns: minmax(0, 1fr) auto;
}
.location-dashboard-page .collection-input-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) repeat(2, minmax(190px, 1fr));
  align-items: start;
  gap: 14px;
}
.location-dashboard-page .collection-region-bar .collection-input-grid label {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 7px;
}
.location-dashboard-page .collection-region-bar .collection-input-grid small {
  grid-column: 1;
  color: #6d7782;
  font-size: 12px;
}
.location-dashboard-page .user-rent-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.location-dashboard-page .ranking-property-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.location-dashboard-page .ranking-property-main > strong {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.location-dashboard-page .ranking-airbnb-link {
  width: auto;
  min-width: 27px;
  min-height: 27px;
  padding: 4px 8px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  place-items: center;
  border: 1px solid #cfd5dc;
  border-radius: 7px;
  color: #1768c4;
  background: white;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.location-dashboard-page .ranking-airbnb-link:hover {
  border-color: #1768c4;
  background: #eef5ff;
}
.location-dashboard-page .ranking-review-score {
  min-width: 70px;
  min-height: 34px;
  padding: 0 9px;
  display: inline-grid;
  place-items: center;
  border-radius: 7px;
  color: #5d4700 !important;
  background: #fff0b8;
  font-size: 17px !important;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.location-dashboard-page .portfolio-ranking-row .ranking-rating {
  align-items: center;
  text-align: center;
}
.location-dashboard-page .scorecard-property-top .property-rating {
  min-width: 70px;
  min-height: 30px;
  padding: 0 8px;
  display: inline-grid;
  place-items: center;
  border-radius: 7px;
  color: #5d4700;
  background: #fff0b8;
  font-size: 17px;
  font-weight: 800;
}
.location-dashboard-page .scorecard-card-grid .property-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 24px 1fr;
}
.location-dashboard-page .scorecard-card-grid .location-property-card.without-quick-simulator {
  grid-template-rows: 138px 100px 96px 96px 124px 100px 120px 100px 72px auto;
}

@keyframes collection-progress-shine {
  to { transform: translateX(110%); }
}
@keyframes collection-progress-ready {
  0% { transform: translateX(-100%); opacity: .25; }
  50% { opacity: .62; }
  100% { transform: translateX(100%); opacity: .25; }
}

@media (max-width: 744px) {
  .location-dashboard-page .collection-input-grid,
  .location-dashboard-page .user-rent-overview {
    grid-template-columns: 1fr;
  }
  .location-dashboard-page .ranking-property-main {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .location-dashboard-page .dashboard-control-stack { width: 100%; }
  .location-dashboard-page .dashboard-top-actions {
    width: 100%;
    margin-top: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }
  .location-dashboard-page .dashboard-action-item,
  .location-dashboard-page .dashboard-top-actions form { width: auto; min-width: 0; }
  .location-dashboard-page .dashboard-action-item .dashboard-icon-button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
  }
  .location-dashboard-page .dashboard-action-label { max-width: 74px; font-size: 12px; }
  .location-dashboard-page .export-menu [data-export-menu] {
    position: absolute;
    right: auto;
    left: 0;
    min-width: min(230px, calc(100vw - 24px));
    margin-top: 0;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .14);
  }
  .location-dashboard-page .collection-rail { padding: 18px 16px 19px; }
  .location-dashboard-page .collection-status-line { grid-template-columns: minmax(0, 1fr) 58px; gap: 10px; }
  .location-dashboard-page .collection-status-copy { align-items: flex-start; flex-direction: column; gap: 8px; }
  .location-dashboard-page .collection-status-line strong { font-size: 16px; }
  .location-dashboard-page .collection-status-line > b { width: 58px; display: block; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .location-dashboard-page .dashboard-icon-button { transition: none; }
  .location-dashboard-page .collection-progress-track > i.has-progress-shine::after,
  .location-dashboard-page .collection-rail.is-indeterminate .collection-progress-track::after { animation: none; }
}

/* Missing-price guidance and full-width correction accordions */
.location-dashboard-page .portfolio-ranking-row .ranking-unavailable {
  color: #a33a43 !important;
  font-size: 15px !important;
  line-height: 1.35;
  white-space: normal;
}
.location-dashboard-page .ranking-unavailable-guide {
  margin-top: 2px;
  display: block;
  color: #8c4c29;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}
.location-dashboard-page .scorecard-card-grid .scorecard-unavailable {
  color: #a33a43;
  font-size: 15px;
  line-height: 1.4;
}
.location-dashboard-page .scorecard-card-grid .scorecard-notices.has-unavailable-price {
  padding: 12px;
  align-items: flex-start;
  background: #fff9ed;
  text-align: left;
}
.location-dashboard-page .scorecard-notices.has-unavailable-price .missing-note {
  width: 100%;
  margin: 0;
  color: #8b431e;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
  white-space: normal;
}
.location-dashboard-page .property-correction-toggle {
  width: calc(100% - 18px);
  min-height: 44px;
  margin: 9px;
  padding: 8px 10px;
  align-self: center;
  border: 1px solid #cfd6df;
  border-radius: 9px;
  color: #25364a;
  background: white;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.location-dashboard-page .property-correction-toggle:hover,
.location-dashboard-page .property-correction-toggle[aria-expanded="true"] {
  border-color: #1768c4;
  color: #075fad;
  background: #f1f7ff;
}
.location-dashboard-page .scorecard-corrections {
  padding: 18px 24px 24px;
  display: grid;
  gap: 10px;
  border-top: 1px solid #e1e5e9;
  background: #f7f8fa;
}
.location-dashboard-page .scorecard-correction-accordion {
  overflow: hidden;
  border: 1px solid #d8dee6;
  border-radius: 13px;
  background: white;
}
.location-dashboard-page .scorecard-correction-accordion > summary {
  min-height: 58px;
  padding: 13px 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 24px;
  align-items: center;
  gap: 12px;
  color: #222a34;
  cursor: pointer;
  list-style: none;
}
.location-dashboard-page .scorecard-correction-accordion > summary::-webkit-details-marker { display: none; }
.location-dashboard-page .scorecard-correction-accordion > summary span {
  overflow-wrap: anywhere;
  font-size: 17px;
  font-weight: 800;
}
.location-dashboard-page .scorecard-correction-accordion > summary strong {
  color: #075fad;
  font-size: 15px;
}
.location-dashboard-page .scorecard-correction-accordion > summary::after {
  content: "＋";
  color: #075fad;
  font-size: 22px;
  font-weight: 800;
  text-align: center;
}
.location-dashboard-page .scorecard-correction-accordion[open] > summary {
  border-bottom: 1px solid #d8dee6;
  background: #f1f7ff;
}
.location-dashboard-page .scorecard-correction-accordion[open] > summary::after { content: "−"; }
.location-dashboard-page .scorecard-correction-accordion .correction-grid {
  position: static;
  width: auto;
  max-height: none;
  margin: 0;
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 14px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: white;
  box-shadow: none;
}
.location-dashboard-page .scorecard-correction-accordion .correction-grid label {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.location-dashboard-page .scorecard-correction-accordion .correction-grid label > span {
  color: #4c5865;
  font-size: 14px;
  font-weight: 750;
}
.location-dashboard-page .scorecard-correction-accordion .correction-grid input,
.location-dashboard-page .scorecard-correction-accordion .correction-grid select {
  width: 100%;
  min-height: 48px;
  font-size: 16px;
}
.location-dashboard-page .scorecard-correction-accordion .correction-grid .correction-wide {
  grid-column: span 2;
}
.location-dashboard-page .scorecard-correction-accordion .correction-grid .location-primary-button {
  grid-column: 1 / -1;
  justify-self: start;
  min-width: 180px;
}

@media (max-width: 900px) {
  .location-dashboard-page .scorecard-correction-accordion .correction-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }
}
@media (max-width: 560px) {
  .location-dashboard-page .scorecard-corrections { padding: 12px; }
  .location-dashboard-page .scorecard-correction-accordion > summary {
    grid-template-columns: minmax(0, 1fr) 24px;
  }
  .location-dashboard-page .scorecard-correction-accordion > summary strong { display: none; }
  .location-dashboard-page .scorecard-correction-accordion .correction-grid {
    padding: 14px;
    grid-template-columns: 1fr;
  }
  .location-dashboard-page .scorecard-correction-accordion .correction-grid .correction-wide {
    grid-column: auto;
  }
.location-dashboard-page .scorecard-correction-accordion .correction-grid .location-primary-button {
    width: 100%;
  }
}

/* 2026-07-27 brand, unit-entry, export, and ranking-copy refresh. */
.location-dashboard-page .dashboard-action-label {
  max-width: 118px;
}
.location-dashboard-page .ranking-occupancy-description {
  margin-top: 3px;
  color: #77818c;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
}
.manwon-input {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  border: 1px solid #ccd4dd;
  border-radius: 10px;
  background: white;
}
.manwon-input:focus-within {
  border-color: #147a91;
  box-shadow: 0 0 0 3px rgba(20, 122, 145, .12);
}
.manwon-input input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 10px 4px 10px 13px;
  border: 0 !important;
  outline: 0;
  box-shadow: none !important;
  background: transparent;
}
.manwon-input b {
  padding: 0 13px 0 8px;
  color: #485562;
  font-size: 14px;
  white-space: nowrap;
}

/* 2026-07-27 teacher-brand header and compact card-local editing. */
.site-header .brand {
  padding: 7px 12px;
  gap: 7px;
  color: #fff;
  background: #ff385c;
  border-radius: 10px;
  line-height: 1.25;
}
.site-header .brand-mark,
.excel-analysis-page .site-header .brand-mark,
.location-dashboard-page .site-header .brand-mark {
  padding: 0;
  color: inherit;
  background: transparent;
  border-radius: 0;
}
.location-dashboard-page .collection-region-actions {
  align-self: start;
  padding-top: 31px;
}
.location-dashboard-page .scorecard-property-top > .scorecard-property-heading {
  min-width: 0;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.location-dashboard-page .scorecard-ranking-position {
  width: 30px;
  min-width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: #20252b;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 850;
}
.location-dashboard-page .location-property-card:first-child .scorecard-ranking-position {
  background: #ff385c;
}
.location-dashboard-page .scorecard-property-name {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 3px;
}
.location-dashboard-page .scorecard-card-grid .scorecard-property-name h3 {
  min-width: 0;
  font-size: 19px;
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.location-dashboard-page .scorecard-property-name .ranking-airbnb-link {
  min-height: 25px;
  padding: 3px 8px;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell {
  position: relative;
  padding: 12px 14px 10px;
  gap: 5px;
}
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell > p {
  width: 100%;
  margin-left: 0;
  color: #53606c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}
.location-dashboard-page .scorecard-card-grid .scorecard-property-top {
  margin-top: 40px;
}
.location-dashboard-page .scorecard-card-grid .scorecard-ranking-position {
  position: absolute;
  top: 12px;
  left: 14px;
}
.location-dashboard-page .scorecard-card-grid .scorecard-cell-label {
  color: #4f5b66 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.25;
}
.location-dashboard-page .scorecard-card-grid .property-facts span {
  font-size: 14px;
  font-weight: 700;
}
.location-dashboard-page .scorecard-card-grid .property-facts span b {
  font-size: 18px;
  font-weight: 800;
}
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell small,
.location-dashboard-page .scorecard-card-grid .occupancy-block small,
.location-dashboard-page .scorecard-card-grid .property-profit-row small {
  color: #56616d;
  font-size: 13px;
  font-weight: 700;
}
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell strong,
.location-dashboard-page .scorecard-card-grid .property-revenue-row strong,
.location-dashboard-page .scorecard-card-grid .property-special-profit strong {
  font-size: 19px;
  font-weight: 800;
}
.location-dashboard-page .scorecard-card-grid .occupancy-block strong {
  font-size: 22px;
  font-weight: 800;
}
.location-dashboard-page .scorecard-property-top .property-grade {
  font-size: 14px;
  font-weight: 850;
}
.location-dashboard-page .scorecard-ranking-position {
  font-size: 15px;
}
.location-dashboard-page .property-correction-inline {
  min-width: 0;
  background: #fff;
}
.location-dashboard-page .scorecard-card-grid {
  align-items: start;
}
.location-dashboard-page .scorecard-card-grid .location-property-card.without-quick-simulator {
  grid-template-rows: 182px 100px 96px 96px 124px 100px 120px 100px auto;
}
.location-dashboard-page .scorecard-card-grid .location-property-card.without-quick-simulator.has-price-notice {
  grid-template-rows: 182px 100px 96px 96px 124px 100px 120px 100px minmax(72px, auto) auto;
}
.location-dashboard-page .property-correction-inline > summary {
  height: 62px;
  min-height: 48px;
  padding: 10px 12px;
  display: grid;
  place-items: center;
  color: #3f4d5c;
  background: #f5f9ff;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
.location-dashboard-page .property-correction-inline > summary::-webkit-details-marker {
  display: none;
}
.location-dashboard-page .property-correction-inline > summary::after {
  margin-left: 6px;
  content: "＋";
}
.location-dashboard-page .property-correction-inline[open] > summary::after {
  content: "−";
}
.location-dashboard-page .property-correction-inline .correction-grid {
  position: static;
  width: auto;
  margin: 0;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  border: 0;
  border-top: 1px solid #dfe6ee;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.location-dashboard-page .property-correction-inline .correction-grid .correction-wide {
  grid-column: auto;
}
.location-dashboard-page .property-correction-inline .correction-grid input,
.location-dashboard-page .property-correction-inline .correction-grid select {
  min-height: 44px;
  padding: 8px 10px;
  font-size: 14px;
}
.location-dashboard-page .property-correction-inline .correction-grid .location-primary-button {
  width: 100%;
  min-height: 46px;
  padding: 9px 12px;
  font-size: 14px;
}

/* 2026-07-27 senior-readable type across the full result dashboard. */
.location-dashboard-page .provider-credit {
  color: #53606c;
  font-size: 14px;
  font-weight: 700;
}
.location-dashboard-page .location-kicker {
  color: #53606c;
  font-size: 15px;
  font-weight: 800;
}
.location-dashboard-page .dashboard-action-label {
  color: #3f4d5c;
  font-size: 14px;
  font-weight: 800;
}
.location-dashboard-page .new-comparison-action .dashboard-icon-button {
  border-color: #4a9b73;
  color: #176b48;
  background: #edf9f2;
  box-shadow: 0 5px 16px rgba(23, 107, 72, .12);
}
.location-dashboard-page .new-comparison-action .dashboard-icon-button:hover {
  border-color: #247d55;
  color: #0f5c3b;
  background: #ddf4e7;
  box-shadow: 0 7px 18px rgba(23, 107, 72, .18);
}
.location-dashboard-page .new-comparison-action .dashboard-action-label {
  color: #176b48;
}
.location-dashboard-page .collection-region-bar .collection-input-grid label > span {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.3;
}
.location-dashboard-page .collection-region-actions {
  padding-top: 30px;
}
.location-dashboard-page .collection-region-bar .collection-input-grid small {
  color: #53606c;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}
.location-dashboard-page .collection-pacer-notice,
.location-dashboard-page .saved-price-result {
  font-size: 15px;
  font-weight: 800;
}
.location-dashboard-page .dashboard-section-heading .ranking-occupancy-description {
  color: #53606c;
  font-size: 15px;
  font-weight: 750;
}
.location-dashboard-page .portfolio-ranking-row {
  padding: 10px 22px;
}
.location-dashboard-page .portfolio-ranking-row > div > span,
.location-dashboard-page .portfolio-ranking-row .ranking-property > span {
  color: #53606c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}
.location-dashboard-page .portfolio-ranking-row .ranking-airbnb-link {
  font-size: 13px;
  font-weight: 850;
}
.location-dashboard-page .ranking-unavailable-guide {
  color: #724327;
  font-size: 14px;
  font-weight: 750;
}
.location-dashboard-page .ready-count {
  color: #4d5966;
  font-size: 16px;
  font-weight: 800;
}
.location-dashboard-page .shared-rent-overview article span {
  color: #3f4d5c;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.3;
}
.location-dashboard-page .shared-rent-overview article small,
.location-dashboard-page .rent-ledger-property > summary small,
.location-dashboard-page .rent-ledger-room header span,
.location-dashboard-page .rent-sample-list small,
.location-dashboard-page .rent-ledger-empty {
  color: #53606c;
  font-size: 14px;
  font-weight: 700;
}
.location-dashboard-page .user-rent-overview article,
.location-dashboard-page .user-rent-overview article.region {
  min-height: 154px;
  padding: 23px;
}
.location-dashboard-page .user-rent-overview article strong,
.location-dashboard-page .user-rent-overview article.region strong {
  margin: 9px 0;
  font-size: 28px;
  font-weight: 850;
  line-height: 1.25;
}
.location-dashboard-page .user-rent-overview article small {
  color: #53606c;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}
.location-dashboard-page .user-rent-overview article > span {
  color: #1768c4;
}
.location-dashboard-page .user-cost-breakdown {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.location-dashboard-page .user-cost-breakdown > article {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe3e8;
  border-radius: 16px;
  background: white;
}
.location-dashboard-page .common-fee-card {
  min-height: 220px;
  padding: 23px;
  display: grid;
  align-content: center;
  gap: 7px;
  border-color: #b9d1f2 !important;
  background: #f5f9ff !important;
}
.location-dashboard-page .common-fee-card span {
  color: #1768c4;
  font-size: 17px;
  font-weight: 850;
}
.location-dashboard-page .common-fee-card strong {
  color: #263442;
  font-size: 21px;
  font-weight: 850;
}
.location-dashboard-page .common-fee-card b {
  color: #075fad;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.15;
}
.location-dashboard-page .common-fee-card small {
  color: #53606c;
  font-size: 15px;
  font-weight: 750;
}
.location-dashboard-page .room-cost-sheet header {
  min-height: 72px;
  padding: 15px 20px;
  display: grid;
  align-content: center;
  gap: 3px;
  border-bottom: 1px solid #dfe3e8;
  background: #f7f9fb;
}
.location-dashboard-page .room-cost-sheet header span {
  color: #1768c4;
  font-size: 15px;
  font-weight: 900;
}
.location-dashboard-page .room-cost-sheet header strong {
  color: #263442;
  font-size: 18px;
  font-weight: 850;
}
.location-dashboard-page .room-cost-sheet dl {
  margin: 0;
}
.location-dashboard-page .room-cost-sheet dl > div {
  min-height: 49px;
  padding: 11px 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}
.location-dashboard-page .room-cost-sheet dl > div + div {
  border-top: 1px solid #e5e8ec;
}
.location-dashboard-page .room-cost-sheet dt {
  color: #3f4d5c;
  font-size: 16px;
  font-weight: 800;
}
.location-dashboard-page .room-cost-sheet dd {
  margin: 0;
  color: #171a1f;
  font-size: 18px;
  font-weight: 850;
  white-space: nowrap;
}
.location-dashboard-page .image-export-stage {
  position: fixed;
  z-index: -1000;
  top: 0;
  left: -20000px;
  width: 1600px;
  padding: 48px;
  display: flex;
  flex-direction: column;
  color: #171a1f;
  background: #f5f6f8;
}
.location-dashboard-page .image-export-stage .rent-ledger-section {
  order: 1;
  padding-top: 0;
}
.location-dashboard-page .image-export-stage .ranking-section {
  order: 2;
  padding-top: 66px;
}
.location-dashboard-page .image-export-stage .portfolio-ranking {
  overflow: visible;
}
.location-dashboard-page .image-export-stage .portfolio-ranking-row {
  min-width: 0;
}
.location-dashboard-page .rent-sample-head span,
.location-dashboard-page .rent-ledger-samples article > span {
  color: #3f4d5c;
  font-size: 14px;
  font-weight: 700;
}
.location-dashboard-page .site-footer p {
  color: #4d5966;
  font-size: 16px;
  font-weight: 700;
}
.location-dashboard-page .site-footer small {
  color: #596573;
  font-size: 14px;
  font-weight: 700;
}

/* 2026-07-27 senior-readable automatic inputs, ranking, and scorecards. */
.location-dashboard-page .collection-region-bar .collection-input-grid label > span {
  font-size: 20px;
  font-weight: 900;
}
.location-dashboard-page .collection-region-bar input,
.location-dashboard-page .collection-region-bar .manwon-input input {
  min-height: 58px;
  font-size: 21px;
  font-weight: 800;
}
.location-dashboard-page .collection-region-bar .manwon-input b {
  font-size: 17px;
  font-weight: 850;
}
.location-dashboard-page .collection-region-bar .collection-input-grid small {
  font-size: 17px;
  font-weight: 800;
}
.location-dashboard-page .collection-region-actions {
  padding-top: 33px;
}
.location-dashboard-page .collection-region-actions .location-primary-button {
  min-height: 58px;
  font-size: 17px;
  font-weight: 800;
}
.location-dashboard-page .dashboard-section-heading .ranking-occupancy-description {
  font-size: 16px;
  font-weight: 800;
}
.location-dashboard-page .portfolio-ranking-row {
  min-height: 94px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.location-dashboard-page .portfolio-ranking-row > div > span,
.location-dashboard-page .portfolio-ranking-row .ranking-property > span {
  font-size: 15px;
  font-weight: 750;
}
.location-dashboard-page .portfolio-ranking-row .ranking-property strong {
  font-size: 20px;
  font-weight: 800;
}
.location-dashboard-page .portfolio-ranking-row .ranking-airbnb-link {
  font-size: 14px;
  font-weight: 850;
}
.location-dashboard-page .portfolio-ranking-row .ranking-review-score {
  font-size: 18px !important;
}
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="revenue"],
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="conservative"] {
  font-size: 20px !important;
  font-weight: 800 !important;
}
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="profit"] {
  font-size: 25px !important;
  font-weight: 850 !important;
}
.location-dashboard-page .portfolio-ranking-row [data-ranking-value="occupancy"] {
  font-size: 23px !important;
  font-weight: 850 !important;
}
.location-dashboard-page .scorecard-card-grid .scorecard-property-name h3 {
  font-size: 20px;
  font-weight: 850;
}
.location-dashboard-page .scorecard-property-name .ranking-airbnb-link {
  font-size: 14px;
}
.location-dashboard-page .scorecard-card-grid .scorecard-property-cell > p {
  font-size: 15px;
  font-weight: 750;
}
.location-dashboard-page .scorecard-card-grid .scorecard-cell-label {
  font-size: 14px !important;
  font-weight: 800 !important;
}
.location-dashboard-page .scorecard-card-grid .property-facts span {
  font-size: 15px;
  font-weight: 750;
}
.location-dashboard-page .scorecard-card-grid .property-facts span b {
  font-size: 19px;
}
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell small,
.location-dashboard-page .scorecard-card-grid .occupancy-block small,
.location-dashboard-page .scorecard-card-grid .property-profit-row small {
  font-size: 14px;
  font-weight: 750;
}
.location-dashboard-page .scorecard-card-grid .scorecard-price-cell strong,
.location-dashboard-page .scorecard-card-grid .property-revenue-row strong,
.location-dashboard-page .scorecard-card-grid .property-special-profit strong {
  font-size: 20px;
  font-weight: 850;
}
.location-dashboard-page .scorecard-card-grid .occupancy-block strong {
  font-size: 23px;
  font-weight: 850;
}
.location-dashboard-page .scorecard-property-top .property-grade {
  font-size: 15px;
}
.location-dashboard-page .property-correction-inline > summary {
  font-size: 15px;
}
.location-dashboard-page .scorecard-card-grid .location-property-card.without-quick-simulator {
  grid-template-rows: 188px 104px 100px 100px 128px 104px 124px 104px auto;
}
.location-dashboard-page .scorecard-card-grid .location-property-card.without-quick-simulator.has-price-notice {
  grid-template-rows: 188px 104px 100px 100px 128px 104px 124px 104px minmax(76px, auto) auto;
}

@media (max-width: 760px) {
  .provider-credit { flex-wrap: wrap; gap: 5px 7px; }
  .provider-credit .okgongschool-logo { height: 25px; }
  .provider-credit .spaceroad-logo { height: 20px; }
  .location-dashboard-page .ranking-occupancy-description { font-size: 14px; }
  .site-header .brand { font-size: 17px; }
  .location-dashboard-page .collection-region-actions { padding-top: 0; }
  .location-dashboard-page .user-cost-breakdown { grid-template-columns: 1fr; }
}

@media print {
  @page {
    size: A4 landscape;
    margin: 6mm;
  }
  html,
  body.location-dashboard-page {
    width: 1720px !important;
    min-width: 1720px !important;
    overflow: visible !important;
    background: white !important;
    zoom: .61;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .location-dashboard-page .page-shell.location-shell {
    width: 1720px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .location-dashboard-page .dashboard-top-actions,
  .location-dashboard-page .collection-region-actions,
  .location-dashboard-page dialog,
  .location-dashboard-page .scorecard-corrections,
  .location-dashboard-page .property-correction-toggle,
  .location-dashboard-page .property-correction-inline {
    display: none !important;
  }
  .location-dashboard-page .site-header {
    position: static !important;
    display: flex !important;
  }
  .location-dashboard-page .site-footer {
    display: block !important;
  }
  .location-dashboard-page .dashboard-topbar,
  .location-dashboard-page .dashboard-section-heading {
    display: flex !important;
  }
  .location-dashboard-page .portfolio-ranking,
  .location-dashboard-page .scorecard-card-grid,
  .location-dashboard-page .location-card-grid {
    overflow: visible !important;
  }
  .location-dashboard-page .portfolio-ranking-row {
    min-width: 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .location-dashboard-page .scorecard-card-grid {
    grid-template-columns: repeat(var(--listing-columns), minmax(0, 1fr)) !important;
  }
  .location-dashboard-page .location-property-card,
  .location-dashboard-page .shared-rent-overview article,
  .location-dashboard-page .user-cost-breakdown > article {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* 숙소가 6~10개여도 스코어카드는 한 줄에 최대 5개만 배치한다. */
.location-dashboard-page .scorecard-card-grid {
  grid-template-columns: repeat(var(--listing-columns), minmax(260px, 1fr));
}

/* 수집 진행 중 표시 강화: 상태 바 고정 + 미완료 카드 오버레이 (수집 중에만 적용) */
.collection-rail.queued,
.collection-rail.running {
  position: sticky;
  top: 10px;
  z-index: 60;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
}

.has-collect-overlay {
  position: relative;
}

/* .portfolio-ranking-row > div / > div > span 규칙(grid, ellipsis)보다
   특이도를 높여야 중앙 정렬과 줄바꿈이 유지된다. */
div.collect-overlay {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  text-align: center;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.collect-overlay > .collect-overlay-text {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.6;
  color: #33415c;
  max-width: 320px;
}

/* 순위 행 셀 규칙(.location-dashboard-page ... > div:not(.ranking-property),
   > div > span)이 특이도로 이기므로 오버레이만 다시 가운데 정렬로 되돌린다. */
.location-dashboard-page .portfolio-ranking-row > div.collect-overlay {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.location-dashboard-page .portfolio-ranking-row > div.collect-overlay > .collect-overlay-text {
  width: auto;
  font-size: 15px;
  color: #33415c;
}

@media (prefers-reduced-motion: reduce) {
  .collection-rail.queued,
  .collection-rail.running {
    position: static;
    box-shadow: none;
  }
}

.okgongi-pet {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 70;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  pointer-events: none;
}

.okgongi-pet-bubble {
  pointer-events: auto;
  max-width: 230px;
  padding: 10px 14px;
  border-radius: 14px;
  background: white;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
  font-size: 14px;
  font-weight: 700;
  color: #33415c;
  line-height: 1.5;
  word-break: keep-all;
}

.okgongi-pet-toggle {
  pointer-events: auto;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.okgongi-pet-video {
  width: 96px;
  height: 96px;
  object-fit: contain;
  display: block;
}

.okgongi-pet-face {
  display: none;
  width: 96px;
  height: 96px;
  object-fit: contain;
}

.okgongi-pet[data-media-failed="true"] .okgongi-pet-video {
  display: none;
}

.okgongi-pet[data-media-failed="true"] .okgongi-pet-face {
  display: block;
}

.okgongi-pet[data-collapsed="true"] .okgongi-pet-bubble,
.okgongi-pet[data-collapsed="true"] .okgongi-pet-video {
  display: none;
}

.okgongi-pet[data-collapsed="true"] .okgongi-pet-face {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: white;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
  object-fit: cover;
}

@media (max-width: 744px) {
  .okgongi-pet {
    right: 12px;
    bottom: 12px;
  }

  .okgongi-pet-bubble {
    max-width: 180px;
  }

  .okgongi-pet-video,
  .okgongi-pet-face {
    width: 72px;
    height: 72px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .okgongi-pet-video {
    display: none;
  }

  .okgongi-pet-face {
    display: block;
  }
}
