:root{--ink:#17202a;--muted:#667085;--line:#e6e8ec;--paper:#fff;--bg:#f3f5f7;--navy:#15324d;--accent:#df5d42;--green:#13795b;--danger:#b42318;--soft:#eef3f6;--shadow:0 18px 50px rgba(28,39,49,.09)}
*{box-sizing:border-box}
html{font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#e9f0f4,transparent 38%),var(--bg)}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.site-header{min-height:76px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 clamp(20px,4vw,64px);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark,.portal-icon{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.brand strong{display:block;letter-spacing:.03em}
.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.main-nav{display:flex;align-items:center;gap:5px;margin-right:auto}
.main-nav a{padding:10px 13px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:700}
.main-nav a:hover,.main-nav a.active{background:var(--soft);color:var(--navy)}
.header-user{display:flex;align-items:center;gap:10px;font-size:14px}
.role-badge,.state{padding:5px 9px;border-radius:999px;background:#e7f3ef;color:var(--green);font-weight:700;font-size:12px}
.link-button{border:0;background:none;color:var(--muted);cursor:pointer}
.page-shell{width:min(1280px,calc(100% - 36px));margin:0 auto;padding:42px 0 72px}
.login-hero{min-height:calc(100vh - 172px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:72px}
.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:800;margin:0 0 9px}
.login-hero h1,.dashboard-head h1,.auth-heading h1{font-size:clamp(34px,5vw,58px);line-height:1.15;margin:0;letter-spacing:-.04em}
.lead{font-size:17px;line-height:1.9;color:var(--muted);max-width:600px}
.portal-grid{display:grid;gap:16px}
.portal-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;box-shadow:var(--shadow);transition:.18s}
.portal-card:hover{transform:translateY(-3px);border-color:#b9c5ce}
.portal-card strong{display:block;font-size:19px}
.portal-card small{display:block;color:var(--muted);margin-top:7px;line-height:1.5}
.portal-card .arrow{font-size:23px}
.admin-card .portal-icon,.admin-icon{background:var(--accent)}
.auth-wrap{width:min(520px,100%);margin:28px auto}
.back-link{display:inline-block;color:var(--muted);margin-bottom:16px}
.auth-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.auth-card{padding:38px}
.auth-heading{display:flex;gap:16px;align-items:center;margin-bottom:28px}
.auth-heading h1{font-size:30px}
.stack-form{display:grid;gap:17px}
.stack-form label,.filter-top label{display:grid;gap:8px;font-weight:700;font-size:14px}
.stack-form input,.inline-reset input,.filter-top input{min-height:48px;width:100%;border:1px solid #cfd5db;border-radius:10px;padding:13px 14px;background:#fff;outline:none}
.stack-form input:focus,.inline-reset input:focus,.filter-top input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(21,50,77,.1)}
.primary-button{border:0;border-radius:11px;background:var(--navy);color:#fff;padding:14px 18px;font-weight:800;cursor:pointer;text-align:center;display:inline-block}
.primary-button:hover{filter:brightness(1.08)}
.security-note,.panel-note{font-size:12px;line-height:1.7;color:var(--muted);margin:18px 0 0}
.panel-note{margin:-8px 0 22px}
.flash-stack{display:grid;gap:8px;margin-bottom:20px}
.flash{padding:13px 16px;border-radius:10px;font-weight:700;line-height:1.6}
.flash-success{background:#e7f3ef;color:var(--green)}
.flash-error{background:#feeceb;color:var(--danger)}
.flash-warning{background:#fff5df;color:#8a5c00}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.dashboard-head h1{font-size:42px}
.dashboard-head p:not(.eyebrow){color:var(--muted);margin-bottom:0}
.status-pill{background:#e7f3ef;color:var(--green);border-radius:999px;padding:10px 14px;font-weight:700;font-size:13px;white-space:nowrap}
.status-pill span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2aa779;margin-right:6px}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.metric-grid.four{grid-template-columns:repeat(4,1fr)}
.metric{background:var(--navy);color:#fff;border-radius:17px;padding:22px}
.metric span,.metric small{color:#c9d5df}
.metric strong{display:inline-block;font-size:34px;margin:8px 7px 0 0}
.metric.muted{background:#fff;color:var(--ink);border:1px solid var(--line)}
.metric.muted span,.metric.muted small{color:var(--muted)}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.panel{padding:26px;margin-bottom:22px}
.compact-panel{align-self:stretch}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.panel-title h2{margin:0;font-size:23px}
.panel-title>span{color:var(--muted)}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:15px}
.check-list li{padding-left:29px;position:relative;line-height:1.55}
.check-list li:before{content:"✓";position:absolute;left:0;width:20px;height:20px;border-radius:50%;background:#e7f3ef;color:var(--green);display:grid;place-items:center;font-size:12px;font-weight:900}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:0}
th{text-align:left;font-size:12px;color:var(--muted);padding:11px;border-bottom:1px solid var(--line)}
td{padding:15px 11px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}
td strong,td small{display:block}
td small{color:var(--muted);margin-top:5px}
.state.inactive{background:#f2f3f4;color:#67707a}
.action-group{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.small-button{border:1px solid #cfd5db;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:12px;font-weight:700;display:inline-block}
.small-button.danger{border-color:#f1b8b4;color:var(--danger)}
.small-button.wide{width:100%;padding:11px}
details summary{cursor:pointer;color:var(--navy);font-size:12px;padding:8px}
.inline-reset{display:flex;gap:7px;margin-top:8px;min-width:260px}
.inline-reset input{padding:8px 9px;font-size:12px}
.empty-state{text-align:center;color:var(--muted);padding:45px}
.empty-state h2{color:var(--ink)}
.log-list{display:grid}
.log-list>div{display:grid;grid-template-columns:155px 135px 1fr;gap:10px;border-top:1px solid var(--line);padding:11px 0;font-size:13px}
.log-list span{color:var(--muted)}
.log-list code{color:var(--navy);white-space:normal}
.error-card{text-align:center;background:#fff;border-radius:20px;padding:70px 30px;box-shadow:var(--shadow)}
.error-card>strong{font-size:72px;color:var(--accent)}
.error-card h1{margin:5px 0 30px}
.source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.source-card{border:1px solid var(--line);border-radius:15px;padding:19px;background:#fafbfc}
.source-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.source-card-head strong{font-size:20px;display:block}
.source-card-head a{font-size:12px;color:var(--navy);display:inline-block;margin-top:7px}
.source-status{font-size:11px;padding:6px 9px;border-radius:999px;background:#eff1f3;color:var(--muted);font-weight:800}
.source-status.ok{background:#e7f3ef;color:var(--green)}
.source-status.error{background:#feeceb;color:var(--danger)}
.self-check-panel{margin-bottom:24px}
.self-check-status{display:inline-block;flex:none;font-size:12px;padding:6px 10px;border-radius:999px;font-weight:800;background:#eff1f3;color:var(--muted)}
.self-check-status.normal{background:#e7f3ef;color:var(--green)}
.self-check-status.information{background:#eff1f3;color:var(--muted)}
.self-check-status.warning{background:#fff4da;color:#805900}
.self-check-status.error{background:#feeceb;color:var(--danger)}
.self-check-status.pending{background:#eff1f3;color:var(--muted)}
.self-check-counts{margin-top:14px}
.self-check-details{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}
.self-check-details>summary{font-weight:800}
.self-check-item{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
.self-check-item>summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.self-check-item>summary small{flex-basis:100%;color:var(--muted);line-height:1.5}
.self-check-evidence{max-height:460px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f8;border-radius:8px;padding:12px;font-size:12px;line-height:1.55}
.self-check-history-item{margin-left:14px}
.source-card dl{margin:18px 0;display:grid;gap:8px}
.source-card dl div{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.source-card dt{color:var(--muted)}
.source-card dd{margin:0;font-weight:700}
.source-error{font-size:12px;color:var(--danger);line-height:1.5;overflow-wrap:anywhere}
.source-pause{font-size:12px;color:#805900;background:#fff4da;border-radius:8px;padding:9px 10px;line-height:1.5;overflow-wrap:anywhere}
.result-count{display:flex;align-items:baseline;gap:7px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 18px}
.result-count strong{font-size:31px;color:var(--navy)}
.result-count span{color:var(--muted)}
.filter-panel{padding:22px}
.filter-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;align-items:start}
.filter-top .grow{min-width:0}
.filter-details{border-top:1px solid var(--line);margin-top:18px;padding-top:11px}
.filter-details summary{font-weight:800;font-size:14px;padding:8px 0}
.filter-static-heading{font-size:14px;font-weight:800;margin:8px 0}
.town-filter[hidden],.town-filter [hidden]{display:none!important}
.land-card-map{margin:4px 0 12px}
.land-card-map iframe{display:block;width:100%;height:170px;border:0;border-radius:10px;background:#eef2f3}
.land-card-map small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.land-card-map-unavailable{display:grid;place-items:center;height:170px;border-radius:10px;background:#eef2f3;color:var(--muted);font-size:12px}
.checkbox-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 10px;padding:8px 0}
.checkbox-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.checkbox-grid label{font-size:12px;display:flex;gap:7px;align-items:center;background:#f6f8f9;border-radius:8px;padding:8px}
.checkbox-grid input{accent-color:var(--navy)}
.filter-actions{display:flex;align-items:center;gap:12px;margin-top:18px}
.change-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.change-filter label{display:inline-flex;align-items:center;gap:5px;font-weight:700}
.change-filter input[type="checkbox"]{accent-color:var(--navy)}
.change-filter input[type="hidden"]{display:none}
.sort-control{display:grid;gap:7px;min-width:230px;font-size:13px;font-weight:800}
.sort-control select{width:100%;min-height:48px;border:1px solid #cfd5db;border-radius:10px;padding:10px 13px;background:#fff;color:var(--ink);font:inherit}
.land-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.land-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.land-image{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#dfe8ed,#bfcfd8);position:relative;overflow:hidden}
.land-image img{width:100%;height:100%;object-fit:cover;display:block}
.land-image>span,.detail-image>span{width:100%;height:100%;display:grid;place-items:center;font-size:38px;font-weight:900;color:#fff}
.merge-badge{position:absolute;left:12px;top:12px;background:var(--accent);color:#fff;padding:7px 9px;border-radius:999px;font-size:11px}
.land-card-body{padding:19px;display:flex;flex-direction:column;flex:1}
.land-tags{display:flex;gap:7px;flex-wrap:wrap}
.land-tags span{background:#e7f3ef;color:var(--green);font-size:11px;font-weight:800;padding:6px 8px;border-radius:999px}
.land-tags span.soft{background:#eef3f6;color:var(--navy)}
.condition-pill{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.condition-pill.condition-none{background:#e7f3ef;color:var(--green);border-color:#c8e2d8}
.condition-pill.condition-attached{background:#fce9e7;color:#8e3027;border-color:#efc3bd}
.condition-pill.condition-unknown{background:#fff1c2;color:#73510a;border-color:#e8ba4b;white-space:normal;line-height:1.35;padding:6px 9px}
.detail-building-condition.condition-unknown strong{display:inline-block;padding:5px 7px;border:1px solid #e8ba4b;border-radius:6px;background:#fff1c2;color:#73510a;line-height:1.4}

/* Multi-select pickers for school districts and nearby transport. */
.filter-picker-field{display:grid;align-content:start;gap:6px;min-width:0}
.filter-picker-label{font-size:13px;font-weight:700;color:var(--navy)}
.picker-trigger{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.picker-trigger:hover{border-color:var(--navy)}
.picker-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 32px));height:min(84vh,860px);height:min(84dvh,860px);max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:16px;background:#fff;color:var(--ink);overflow:hidden;box-shadow:0 18px 70px rgba(12,29,48,.32)}
.picker-dialog::backdrop{background:rgba(10,24,40,.58)}
.picker-dialog[open]{display:block}
.picker-dialog-inner{display:flex;flex-direction:column;height:100%;min-height:0}
.picker-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.picker-dialog-header h2{margin:0;font-size:19px}
.picker-dialog-title{display:grid;gap:3px;min-width:0}
.picker-selection-count{margin:0;color:var(--muted);font-size:12px;font-weight:700}
.picker-close{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}
.picker-search-label{display:grid;gap:6px;padding:12px 18px 8px;font-size:13px;font-weight:700}
.picker-search-label input{box-sizing:border-box;width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit}
.picker-groups{flex:1;min-height:0;overflow:auto;padding:4px 14px 12px;overscroll-behavior:contain}
.picker-group{border-bottom:1px solid var(--line)}
.picker-group[hidden],.picker-option[hidden]{display:none!important}
.picker-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:6px 8px;color:var(--navy);font-weight:700;cursor:pointer;list-style-position:inside}
.picker-group>summary small{margin-left:auto;color:var(--muted);font-size:12px}
.picker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:2px 0 10px}
.picker-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:44px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;line-height:1.3;cursor:pointer}
.picker-option input{width:18px;height:18px;margin:0}
.picker-option>span{overflow-wrap:anywhere}
.picker-option small{color:var(--muted);white-space:nowrap;font-size:12px}
.picker-option.is-zero{color:#82909a;background:#f5f7f8}
.picker-option.is-zero small{color:#8c999f}
.picker-empty{margin:10px 18px;color:var(--muted)}
.picker-empty[hidden]{display:none}
.picker-dialog-actions{display:flex;justify-content:space-between;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#fff}
.picker-dialog-actions button{min-height:44px}
@media(max-width:600px){
  .picker-dialog{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}
  .picker-dialog-inner{height:100vh;height:100dvh}
  .picker-dialog-header{padding:10px 12px}
  .picker-dialog-header h2{font-size:17px}
  .picker-search-label{padding:10px 12px 6px}
  .picker-groups{padding:2px 10px 8px}
  .picker-options{grid-template-columns:minmax(0,1fr)}
  .picker-dialog-actions{padding:9px 12px}
  .picker-dialog-actions button{flex:1}
}
.picker-no-options{margin:8px 10px 12px;color:var(--muted);font-size:13px}

.hiroshima-mapnav{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fa}
.hiroshima-mapnav h2{margin:0;color:var(--navy);font-size:15px;line-height:1.4}
.hiroshima-mapnav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.hiroshima-mapnav-links a{display:flex;align-items:center;min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.hiroshima-mapnav-position,.hiroshima-mapnav-consent,.hiroshima-mapnav-missing{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:600px){.hiroshima-mapnav-links{grid-template-columns:minmax(0,1fr)}.hiroshima-mapnav{padding:10px}}
.condition-conflict{margin:8px 0;padding:10px 12px;border-left:3px solid #b64c3f;background:#fff2ef;color:#78352e;border-radius:6px;font-size:12px;line-height:1.6}
.land-card h2{font-size:18px;line-height:1.45;margin:12px 0 8px}
.land-card h2 a:hover{color:var(--accent)}
.land-address,.land-transport{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 13px}
.map-link-line{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px}
.map-link-line a,.transit-link{color:var(--navy);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.map-link-line small{color:var(--muted);font-size:10px}
.detail-transport{margin:9px 0 13px;font-size:13px;line-height:1.6}
.detail-transport-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:3px 0 3px 42px}
.detail-transport-row>span:first-child{min-width:0}
.land-main-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:5px 0 13px}
.land-main-values div,.detail-values div,.listing-values div{background:#f5f7f8;border-radius:10px;padding:11px}
.land-main-values small,.detail-values small,.listing-values small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}
.land-main-values strong{font-size:14px}
.school-summary{display:grid;gap:7px;margin:0 0 13px;padding:11px 12px;background:#f5f7f8;border-radius:10px;font-size:12px;line-height:1.55}
.school-summary>div{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap}
.school-summary b,.school-detail-grid b{flex:0 0 auto;color:var(--navy)}
.school-summary>div>span:not(.school-unresolved){overflow-wrap:anywhere}
.school-mark,.school-confidence{display:inline-block;flex:0 0 auto;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;font-style:normal}
.school-mark.confirmed,.school-confidence.confirmed{background:#e7f3ef;color:var(--green)}
.school-mark.candidate,.school-confidence.candidate{background:#fff2d6;color:#805b00}
.school-mark.unresolved{background:#f2f3f4;color:#67707a}
.school-confidence.unresolved,.school-unresolved{background:#f2f3f4;color:#67707a}
.school-source-note{display:block;color:#526678;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.school-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.school-detail-grid>div{min-width:0;padding:13px;background:#f5f7f8;border-radius:10px}
.school-detail-grid p{margin:7px 0 0;line-height:1.7;overflow-wrap:anywhere}
.school-disclaimer{margin:17px 0 5px;font-weight:700;line-height:1.7}
.school-credit{margin:0;color:var(--muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.filter-hint{margin:8px 0 12px;color:var(--muted);font-size:12px}
.source-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:auto}
.source-chip{display:inline-block;border:1px solid #c8d4dc;color:var(--navy);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:#fff}
.source-row small{color:var(--muted)}
.source-link{display:inline-block;border:1px solid #c8d4dc;border-radius:999px;padding:5px 9px;background:#fff;color:var(--navy);font-size:11px;font-weight:800}
.source-unavailable{font-size:11px;color:var(--muted)}
.company-line{font-size:11px;color:var(--muted);line-height:1.5;margin:10px 0}
.detail-button{display:block;margin-top:13px;background:var(--navy);color:#fff;border-radius:9px;padding:10px;text-align:center;font-weight:800;font-size:12px}
.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:30px 0}
.pagination a{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:9px;font-weight:700}
.pagination span{color:var(--muted);font-size:13px}
.detail-hero{display:grid;grid-template-columns:minmax(280px,460px) 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:22px}
.detail-image{background:linear-gradient(135deg,#dfe8ed,#bfcfd8);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.detail-image>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;flex:0 0 auto}
.detail-image>span{height:auto;aspect-ratio:4/3;flex:0 0 auto}
.detail-summary h1{font-size:30px;line-height:1.35;margin:14px 0 8px}
.detail-summary p{line-height:1.65}
.detail-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.detail-values strong{font-size:19px}
.updated-note{color:var(--muted);font-size:11px}
.source-publication-note{margin:8px 0;color:var(--muted);font-size:12px}
.listing-stack{display:grid;gap:13px}
.listing-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fafbfc}
.listing-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.listing-head>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.external-button{border:1px solid #c8d4dc;background:#fff;color:var(--navy);padding:9px 12px;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap}
.listing-card h3{margin:14px 0 6px;font-size:18px}
.listing-card>p{color:var(--muted);font-size:13px;margin:0 0 12px}
.listing-values{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px;margin-bottom:12px}
.listing-values strong{font-size:13px;line-height:1.45}
@media(max-width:1050px){
  .metric-grid.four{grid-template-columns:repeat(2,1fr)}
  .land-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checkbox-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:780px){
  .site-header{min-height:auto;padding:13px 16px;align-items:flex-start;flex-wrap:wrap;gap:10px}
  .main-nav{order:3;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .main-nav a{min-height:40px;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 4px;font-size:12px}
  .header-user{font-size:12px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
  .header-user a,.header-user .link-button{min-height:40px;display:inline-flex;align-items:center;padding:8px;border-radius:8px}
  .page-shell{width:min(100% - 24px,1280px);padding-top:28px}
  .login-hero{grid-template-columns:1fr;gap:32px;align-content:center}
  .dashboard-head{align-items:flex-start;flex-direction:column}
  .metric-grid,.metric-grid.four,.two-column,.source-grid,.filter-top,.land-grid,.detail-hero,.detail-values,.listing-values{grid-template-columns:1fr}
  .filter-actions{display:grid;grid-template-columns:1fr;align-items:stretch}
  .filter-actions>*{width:100%}
  .sort-control{min-width:0}
  .checkbox-grid,.checkbox-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth-card,.panel{padding:20px}
  .brand small{display:none}
  .log-list>div{grid-template-columns:1fr;gap:4px}
  .land-main-values{grid-template-columns:1fr}
  .listing-head{align-items:flex-start;flex-direction:column}
  .external-button{width:100%;text-align:center}
}

/* STEP3 */
.compact-metrics{margin-top:18px}.url-state{font-size:1.1rem!important}.public-url{padding:14px 16px;border-radius:12px;background:#f3f7f5;word-break:break-all}.event-mini-list{display:grid;gap:8px;margin-top:16px}.event-mini-list a,.event-row{display:grid;gap:5px;padding:14px 16px;border:1px solid #dfe7e2;border-radius:12px;text-decoration:none;color:inherit}.event-mini-list span,.event-row time{font-size:.78rem;color:#6e7b74}.event-mini-list small{color:#536059}.event-list-full{display:grid;gap:12px}.event-row h2{font-size:1.05rem;margin:0}.event-row p{margin:0}.event-type{display:inline-block;padding:4px 9px;border-radius:999px;background:#e8f4ee;margin-right:9px;font-weight:700}.event-ended .event-type{background:#f5e9e9}.event-price_change .event-type{background:#fff3d9}.switch-line{display:flex!important;align-items:center;gap:12px;padding:14px;border:1px solid #dfe7e2;border-radius:12px}.switch-line input{width:20px;height:20px}.switch-line span{display:grid;gap:2px}.switch-line small{color:#68756e}


.nav-badge {
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  margin-left: 5px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #d53b34;
  color: #fff;
  font-size: 11px;
  line-height: 1;
}
.new-tag {
  background: #d53b34 !important;
  color: #fff !important;
  font-weight: 800;
}
.relisted-tag {
  background: #315a83 !important;
  color: #fff !important;
  font-weight: 800;
}
.price-tag {
  background: #e8a11a !important;
  color: #1c1c1c !important;
  font-weight: 800;
}
.update-tag{background:#e8a11a!important;color:#1c1c1c!important;font-weight:800}
.daily-change-counts{margin:18px 0;padding-top:14px;border-top:1px solid var(--line)}
.daily-change-counts h3{margin:0 0 10px;font-size:14px;color:var(--navy)}
.new-only-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-right: auto;
  font-weight: 700;
}
.remember-line{display:flex!important;align-items:center;gap:10px;font-weight:600!important}
.remember-line input{width:20px!important;height:20px;margin:0;accent-color:var(--navy)}
.register-link{text-align:center;margin-top:20px}
.register-link a{font-weight:800;color:var(--navy)}
.history-panel{margin-top:22px}
.listing-history{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0}
.history-item{display:grid;grid-template-columns:minmax(145px,190px) 1fr;gap:16px;padding:15px 4px;border-bottom:1px solid var(--line)}
.history-item:first-child{border-top:1px solid var(--line)}
.history-item time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.history-item strong{display:block}
.history-listing-source{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:700}
.history-item p{margin:4px 0 0;color:var(--muted);font-size:13px}
.history-price_change strong{color:#875500}
.history-ended strong,.history-source_ended strong{color:#8f3c3c}
.history-empty{padding:14px 0;color:var(--muted)}

.favorite-tag{display:inline-flex;align-items:center;gap:5px;background:#fff3d9!important;color:#7a5200!important;font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px}
.favorite-action{margin-top:12px}
.favorite-button{width:100%;min-height:48px;border:1px solid var(--navy);border-radius:10px;background:var(--navy);color:#fff;padding:12px 16px;font-weight:800;cursor:pointer;text-align:center}
.favorite-button:hover{filter:brightness(1.08)}
.favorite-button.is-saved{background:#fff;border-color:#d9a5a0;color:var(--danger)}
.detail-favorite-status{margin:16px 0 0}
.favorite-list{display:grid;gap:16px}
.favorite-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.favorite-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.favorite-card-head h2{font-size:20px;line-height:1.4;margin:0 0 6px}
.favorite-card-head h2 a:hover{color:var(--accent)}
.favorite-land-status{flex-shrink:0;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;background:#e7f3ef;color:var(--green)}
.favorite-land-status.ended{background:#f2f3f4;color:#67707a}
.favorite-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}
.favorite-values div{background:#f5f7f8;border-radius:10px;padding:12px}
.favorite-values small,.favorite-note-form label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:6px}
.favorite-values strong{font-size:15px}
.favorite-date{font-size:12px;color:var(--muted);margin:0 0 14px}
.favorite-note-form{display:grid;gap:8px}
.favorite-note-form textarea{width:100%;min-height:68px;border:1px solid #cfd5db;border-radius:10px;padding:12px 14px;font:inherit;resize:vertical}
.favorite-note-form textarea:focus{border-color:var(--navy);outline:3px solid rgba(21,50,77,.1)}
.favorite-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.favorite-card-actions .detail-button{margin:0;min-height:48px;display:grid;place-items:center;font-size:14px}
.favorite-card-actions form{display:flex}

@media(max-width:780px){
  .favorite-card{padding:17px}
  .favorite-card-head{flex-direction:column}
  .favorite-values,.favorite-card-actions{grid-template-columns:1fr}
  .school-detail-grid{grid-template-columns:1fr}
  .history-item{grid-template-columns:1fr;gap:5px}
}

.auth-page-shell{padding-top:18px;padding-bottom:28px}
.auth-wrap{margin:0 auto}
.auth-card{padding:30px}
.auth-heading{margin-bottom:16px}
.auth-heading h1{font-size:28px}
.auth-page-shell .stack-form{gap:12px}
.auth-page-shell .stack-form input{padding:11px 13px}
.register-callout{border:1px solid #b8cbd7;border-radius:14px;background:#f0f6fa;padding:15px;margin:0 0 17px;text-align:center}
.register-cta{display:flex;min-height:48px;align-items:center;justify-content:center;border-radius:10px;background:var(--accent);color:#fff;padding:10px 14px;font-weight:900;text-decoration:none;font-size:16px}
.register-cta:hover{filter:brightness(1.06)}
.register-callout p{margin:9px 0 0;color:#344b5a;font-size:13px;line-height:1.5}
.admin-login-link{display:block;margin-top:14px;text-align:center;color:var(--muted);font-size:12px;font-weight:700}
.register-instruction{margin:0 0 12px;padding:11px 12px;border-radius:10px;background:#f0f6fa;color:var(--navy);font-weight:800;font-size:14px;line-height:1.5}
.account-name-panel{border:1px solid var(--line);border-radius:13px;background:#fafbfc;padding:16px;margin-bottom:18px}
.account-name-panel h2{font-size:17px;margin:0 0 12px}
.account-name-panel .stack-form{gap:10px}
.account-name-panel .stack-form input{padding:10px 12px}
.usage-selected{background:#f0f6fa}
.usage-filter{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:16px 0 22px}
.usage-filter label{display:grid;gap:7px;font-size:13px;font-weight:700;min-width:180px}
.usage-filter select{min-height:44px;border:1px solid #cfd5db;border-radius:10px;padding:9px 12px;background:#fff;font:inherit}
.usage-person-heading{margin:20px 0 12px;font-size:18px}
.usage-timeline{display:grid;gap:0}
.usage-entry{display:grid;grid-template-columns:170px 155px minmax(0,1fr);align-items:start;gap:12px;padding:14px 4px;border-top:1px solid var(--line)}
.usage-entry time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.usage-kind{font-size:13px;color:var(--navy)}
.usage-entry-detail p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.usage-land-link{display:grid;gap:4px;color:var(--navy)}
.usage-land-link small{font-size:12px;color:var(--muted)}
@media(max-width:780px){
  .auth-page-shell{padding-top:12px;padding-bottom:20px}
  .auth-wrap{width:min(100%,520px)}
  .auth-card{padding:20px}
  .auth-heading{gap:11px;margin-bottom:13px}
  .auth-heading h1{font-size:25px}
  .register-callout{padding:12px;margin-bottom:13px}
  .register-callout p{font-size:12px}
  .register-cta{font-size:15px}
  .usage-entry{grid-template-columns:1fr;gap:5px}
  .usage-filter{display:grid;grid-template-columns:1fr 1fr;align-items:end}
  .usage-filter label{min-width:0}
  .usage-filter button{grid-column:1/-1}
}
@media(max-width:780px) and (max-height:720px){
  .auth-page-shell{padding-top:6px;padding-bottom:8px}
  .auth-card{padding:14px}
  .auth-heading{margin-bottom:8px}
  .auth-heading h1{font-size:22px}
  .register-callout{padding:9px;margin-bottom:8px}
  .register-callout p{margin-top:5px;line-height:1.4}
  .auth-page-shell .stack-form{gap:8px}
  .auth-page-shell .stack-form input{padding:9px 11px}
  .admin-login-link{margin-top:8px}
  .register-instruction{padding:8px 10px;margin-bottom:7px}
  .auth-page-shell .security-note{margin-top:6px;margin-bottom:8px}
}
.employee-preview-banner{position:sticky;top:0;z-index:30;min-height:44px;display:flex;align-items:center;justify-content:center;gap:14px;padding:5px 16px;background:#15324d;color:#fff;font-size:14px}
.employee-preview-banner form{margin:0}
.employee-preview-banner button{min-height:36px;border:1px solid rgba(255,255,255,.7);border-radius:8px;background:#fff;color:#15324d;padding:6px 12px;font:inherit;font-weight:800;cursor:pointer}
.employee-preview-banner+.site-header{top:44px}
.admin-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:780px){
  .employee-preview-banner{justify-content:space-between;gap:8px;font-size:13px}
  .employee-preview-banner button{min-height:44px}
  .admin-head-actions{width:100%;align-items:flex-start;flex-direction:column}
}

.detail-keypoints{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 19px;margin:0 0 14px;box-shadow:var(--shadow)}
.detail-keypoints-title{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.detail-keypoints-title .eyebrow{margin:0;font-size:10px}
.detail-keypoints-title h2{margin:0;font-size:19px}
.detail-keypoints-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.detail-keypoint{min-width:0;display:grid;align-content:start;gap:3px;padding:9px 11px;border-radius:10px;background:#f5f7f8}
.detail-keypoint>small,.detail-keypoint-sites small{color:var(--muted);font-size:10px;line-height:1.35}
.detail-keypoint>strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.detail-keypoint-main{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.detail-keypoint-main>div{min-width:0;display:grid;gap:3px}
.detail-keypoint-main .external-button{flex:0 0 auto}
.detail-keypoint-school>span,.keypoint-note{color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.detail-keypoint-sites{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}
.detail-keypoint-sites>div:first-child{display:grid;gap:3px}
.detail-keypoint-sites>div:first-child strong{font-size:14px}
.detail-keypoint-links{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.usage-cards{display:none}
.usage-employee-card{min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;gap:10px}
.usage-employee-name{display:grid;gap:3px;min-width:0}
.usage-employee-name strong,.usage-employee-name small{overflow-wrap:anywhere}
.usage-employee-name small{color:var(--muted);font-size:12px}
.usage-employee-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.usage-employee-stats>div{min-width:0;padding:8px;border-radius:8px;background:#f5f7f8}
.usage-employee-stats dt{font-size:10px;color:var(--muted)}
.usage-employee-stats dd{margin:3px 0 0;font-size:12px;overflow-wrap:anywhere}
.usage-employee-card>.small-button{text-align:center}
@media(max-width:780px){
  .detail-keypoints{padding:12px;margin-bottom:12px}
  .detail-keypoints-title{margin-bottom:7px}
  .detail-keypoints-grid{gap:6px}
  .detail-keypoint{padding:8px}
  .detail-keypoint-main{gap:7px}
  .detail-keypoint-main .external-button{width:auto;max-width:45%;padding:7px 8px;font-size:10px;line-height:1.35;white-space:normal}
  .detail-keypoint-sites{grid-template-columns:1fr;gap:6px}
  .detail-keypoint-links .source-link{font-size:10px;padding:5px 7px}
  .usage-table-wrap{display:none}
  .usage-cards{display:grid;gap:9px}
}


/* Compact phone layout: keep every card and control inside a 390px screen. */
@media(max-width:480px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:14px}
  body *{min-width:0;overflow-wrap:anywhere}
  img,picture,video,iframe,canvas,svg{max-width:100%}
  .page-shell,.panel,.land-card,.land-card-body,.detail-hero,.detail-keypoints,
  .favorite-card,.usage-employee-card,.source-card,.detail-keypoint,.listing-card{
    max-width:100%;min-width:0
  }
  .page-shell{width:calc(100% - 20px);padding:16px 0 28px}
  .site-header{padding:9px 10px;gap:6px}
  .brand{max-width:100%;gap:7px}
  .brand-mark,.portal-icon{width:34px;height:34px;border-radius:10px}
  .header-user{max-width:100%;font-size:11px}
  .status-pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .inline-reset{min-width:0;max-width:100%;flex-wrap:wrap}
  .main-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .main-nav a{min-height:44px;padding:5px 3px;white-space:normal;line-height:1.25;font-size:11px}
  .header-user a,.header-user .link-button{min-height:44px}
  .dashboard-head{gap:8px;margin-bottom:14px}
  .dashboard-head h1{font-size:24px;line-height:1.25}
  .dashboard-head p:not(.eyebrow){font-size:12px;line-height:1.5}
  .auth-heading h1{font-size:23px}
  .panel-title{gap:8px;margin-bottom:12px;flex-wrap:wrap}
  .panel-title h2{font-size:18px}
  .panel,.auth-card{padding:14px;border-radius:15px}
  .metric-grid,.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .metric{padding:11px;border-radius:13px}
  .metric strong{font-size:23px}
  .result-count{padding:8px 10px;gap:5px}
  .result-count strong{font-size:22px}
  .filter-panel{padding:12px}
  .filter-top{grid-template-columns:minmax(0,1fr);gap:7px 8px}
  .filter-top .grow{grid-column:1/-1}
  .filter-top label{font-size:12px;gap:5px}
  .filter-details{margin-top:10px}
  .filter-details summary{min-height:44px;display:flex;align-items:center;gap:6px}
  .filter-details .checkbox-grid:not(.compact){max-height:220px;overflow-y:auto;overscroll-behavior:contain}
  .checkbox-grid,.checkbox-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .checkbox-grid label{min-height:44px;padding:6px;font-size:11px}
  .filter-actions{gap:7px;margin-top:10px}
  .change-filter{justify-content:flex-start;font-size:12px;gap:8px}
  .sort-control{font-size:12px}
  .land-grid{grid-template-columns:minmax(0,1fr);gap:7px}
  .land-card{border-radius:12px;box-shadow:none}
  .land-image{display:none}
  .land-card-body{padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr);gap:3px}
  .land-tags{gap:4px;margin:0}
  .land-tags span,.source-chip,.favorite-tag,.condition-pill,.school-mark,
  .school-confidence,.source-link,.new-tag,.relisted-tag,.price-tag,.update-tag{
    max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere
  }
  .land-tags span{padding:3px 6px;font-size:10px}
  .condition-pill,.source-chip,.favorite-tag{padding:3px 6px;font-size:10px}
  .land-card h2{font-size:14px;line-height:1.3;margin:2px 0}
  .land-card h2 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}
  .land-address{font-size:12px;line-height:1.35;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}
  .land-card .map-link-line{margin:0;font-size:11px}
  .land-card .map-link-line small{font-size:9px}
  .school-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:0;padding:4px 6px;font-size:12px}
  .school-summary>.school-confidence{display:block;grid-column:1/-1;font-size:11px;line-height:1.3}
  .school-summary .school-mark,.school-summary .school-source-note{display:none}
  .school-summary>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px;align-items:start}
  .school-summary b{font-size:12px}
  .school-summary>div>span:not(.school-unresolved){font-size:12px;line-height:1.3}
  .land-main-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:2px 0}
  .land-main-values div{padding:5px 7px}
  .land-main-values small{font-size:11px;margin-bottom:2px}
  .land-main-values strong{font-size:14px;line-height:1.25}
  .land-transport,.updated-note,.land-card .source-row,.company-line,.land-card .favorite-action{display:none}
  .land-card .detail-button{margin:2px 0 0;min-height:44px;padding:7px;font-size:14px}
  .detail-hero{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px;border-radius:15px}
  .detail-image{aspect-ratio:auto}
  .detail-summary h1{font-size:23px;line-height:1.3;margin:8px 0 5px}
  .detail-summary p{font-size:13px;line-height:1.5}
  .detail-values{gap:6px;margin:9px 0}
  .detail-values div,.listing-values div{padding:8px}
  .detail-values strong{font-size:15px}
  .detail-keypoints{padding:10px;margin-bottom:10px}
  .detail-keypoints-title h2{font-size:17px}
  .detail-keypoints-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .detail-keypoint{padding:6px}
  .detail-keypoint>small,.detail-keypoint-school>span,.keypoint-note,.detail-keypoint-sites small{font-size:12px}
  .detail-keypoint>strong,.detail-keypoint-sites>div:first-child strong{font-size:14px}
  .detail-keypoint-main{grid-column:1/-1;flex-wrap:wrap}
  .detail-keypoint-main .external-button{max-width:100%;min-height:44px;font-size:12px}
  .detail-keypoint-sites{grid-template-columns:minmax(0,1fr);gap:4px}
  .detail-keypoint-links{flex-wrap:wrap}
  .detail-keypoint-links .source-link,.detail-keypoint-links .site-new-tab-link{min-height:44px;padding:7px;font-size:12px}
  .listing-stack{gap:8px}
  .listing-card{padding:10px}
  .listing-head{gap:7px}
  .listing-head>div{min-width:0;gap:5px;flex-wrap:wrap}
  .external-button{min-height:44px;max-width:100%;padding:7px 9px;white-space:normal}
  .school-detail-grid{grid-template-columns:minmax(0,1fr);gap:7px}
  .history-item{grid-template-columns:minmax(0,1fr);gap:3px;padding:9px 2px}
  .favorite-card{padding:12px}
  .favorite-card-head{gap:7px}
  .favorite-card-head h2{font-size:16px;line-height:1.3}
  .favorite-values,.favorite-card-actions{grid-template-columns:minmax(0,1fr);gap:6px;margin:8px 0}
  .favorite-values div{padding:8px}
  .favorite-card-actions .detail-button{min-height:44px}
  .favorite-button,.detail-button,.primary-button,.small-button,
  .pagination a,.usage-filter select,.sort-control select{
    min-height:44px;max-width:100%;white-space:normal
  }
  input:not([type=checkbox]):not([type=radio]),select,button{max-width:100%;min-width:0}
  input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
  .favorite-note-form textarea{max-width:100%;min-height:68px}
  .table-wrap{max-width:100%;overflow-x:auto}
  .table-wrap table,table{width:100%;max-width:100%;min-width:0;table-layout:fixed}
  th,td{padding:6px 4px;font-size:11px;overflow-wrap:anywhere}
  .usage-table-wrap{display:none}
  .usage-cards{display:grid;gap:7px}
  .usage-employee-card{padding:10px;gap:7px}
  .usage-employee-stats{gap:5px}
  .usage-employee-stats>div{padding:6px}
  .usage-employee-stats dt{font-size:12px}
  .usage-employee-stats dd{font-size:14px}
  .usage-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .usage-filter label{min-width:0;font-size:11px}
  .usage-entry{grid-template-columns:minmax(0,1fr);gap:4px;padding:9px 2px}
  .pagination{gap:7px;margin:16px 0}
  .pagination a{padding:7px 9px}
}

.land-condition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.land-condition-grid>div{min-width:0;padding:10px;border-radius:9px;background:#f5f7f8}
.land-condition-grid dt{color:var(--muted);font-size:11px;font-weight:700}
.land-condition-grid dd{margin:4px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.source-comments{margin-top:14px;padding:12px 14px;border-left:3px solid var(--line);background:#f8f9fa;border-radius:7px}
.source-comments h3{margin:0 0 8px;font-size:14px}
.source-comments h3 small{color:var(--muted);font-size:11px;font-weight:600}
.source-comments p{margin:6px 0;line-height:1.6;overflow-wrap:anywhere}
.source-company-contact{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.source-company-contact>h3{margin:0 0 12px;font-size:17px}
.land-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.land-photo-grid figure{min-width:0;margin:0;aspect-ratio:auto;overflow:visible;border-radius:0;background:transparent}
.land-photo-grid img{display:block;width:100%;height:100%;object-fit:cover}
.land-photo-grid figure>span{display:grid;place-items:center;width:100%;height:100%;font-size:12px;color:var(--muted)}
.land-photo-grid figure>span[hidden]{display:none}
.land-photo-empty{margin:10px 0 0;color:var(--muted);font-size:12px}
.land-photo-open{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;padding:0;border:0;border-radius:9px;background:#f1f4f5;cursor:zoom-in}
.land-photo-strip{min-width:0;padding:8px;background:#f5f7f8}
.land-photo-count{display:block;margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:700}
.land-photo-thumbnails{display:flex;gap:6px;overflow-x:auto;padding:2px 1px 5px;overscroll-behavior-inline:contain}
.land-photo-open.land-photo-thumb{flex:0 0 64px;width:64px;height:48px;aspect-ratio:auto;border-radius:6px}
.land-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.land-photo-open:focus-visible,.land-photo-toggle:focus-visible,.land-photo-dialog-header button:focus-visible{outline:3px solid #1769aa;outline-offset:3px}
.land-photo-grid figcaption{margin:0;color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.land-photo-more[hidden]{display:none}
.land-photo-toggle{display:block;width:100%;min-height:44px;margin-top:10px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#f5f7f8;color:var(--navy);font:inherit;font-weight:800;cursor:pointer}
.land-photo-dialog{width:min(96vw,1100px);max-width:none;max-height:94dvh;margin:auto;padding:12px;border:0;border-radius:12px;background:#fff;box-shadow:0 12px 50px #0006}
.land-photo-dialog::backdrop{background:#10202bcc}
.land-photo-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.land-photo-dialog-header p{min-width:0;margin:0;font-weight:800;overflow-wrap:anywhere}
.land-photo-dialog-header button{flex:0 0 auto;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:9px;background:#f5f7f8;color:var(--navy);font:inherit;font-weight:800;cursor:pointer}
.land-photo-dialog-image{display:block;width:100%;height:auto;max-height:78dvh;object-fit:contain}
.school-recheck-pending,.source-not-found-note{margin:8px 0;padding:8px 10px;border-radius:8px;background:#fff5da;color:#684a05;font-size:13px;font-weight:700}
.land-mini-details{display:flex;gap:4px 10px;flex-wrap:wrap;min-width:0;color:var(--muted);font-size:10px;line-height:1.3}
.land-mini-details .land-mini-detail{min-width:0;overflow-wrap:anywhere;display:flex;align-items:baseline;gap:4px}
.land-mini-details small{margin-right:4px;font-size:9px;color:var(--muted)}
@media(max-width:480px){
  .land-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .land-condition-grid>div{padding:7px}
  .land-condition-grid dt{font-size:12px}
  .land-condition-grid dd{font-size:14px;line-height:1.4}
  .land-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}
  .land-photo-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:10px;border-radius:0}
  .land-photo-dialog-image{max-height:calc(100dvh - 82px)}
  .land-mini-details{gap:3px 7px;font-size:11px}
  .land-mini-details small{font-size:10px}
}

.source-info-panel{padding:0;overflow:hidden}
.source-info-details>summary{padding:18px 22px;font-size:20px;font-weight:800;list-style-position:inside}
.source-info-details[open]>summary{border-bottom:1px solid var(--line)}
.source-info-body{padding:18px 22px}
.source-info-listing+.source-info-listing{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.source-info-listing h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;font-size:16px;line-height:1.5}
.source-property-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.source-property-info-grid>div{min-width:0;padding:10px;border-radius:9px;background:#f5f7f8}
.source-property-info-grid dt{color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}
.source-property-info-grid dd{margin:4px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}
.enrichment-badge{display:inline-flex;align-items:center;background:#fce9e7;color:#8b342c;font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px}
.enrichment-disclaimer{margin:0 0 14px;color:#7b3f27;font-size:12px;font-weight:800;line-height:1.6}
.land-enrichment-list{display:grid;gap:0;margin:0}
.land-enrichment-group-title{margin:18px 0 8px;color:var(--navy);font-size:15px;line-height:1.5}
.land-enrichment-row{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.land-enrichment-row dt{font-size:12px;font-weight:800;color:var(--navy);line-height:1.55}
.land-enrichment-row dd{display:grid;gap:5px;margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.enrichment-source{color:var(--muted);font-size:10px;line-height:1.5}
.enrichment-links{display:flex;gap:5px 12px;flex-wrap:wrap;font-size:11px}
.enrichment-links a{color:var(--navy);font-weight:800;text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.land-enrichment-row{grid-template-columns:1fr;gap:3px;padding:10px 0}}
@media(max-width:480px){
  .source-info-details>summary{padding:12px;font-size:16px}
  .source-info-body{padding:12px}
  .source-info-listing h3{font-size:14px}
  .source-property-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .source-property-info-grid>div{padding:7px}
  .source-property-info-grid dt{font-size:11px}
  .source-property-info-grid dd{font-size:13px;line-height:1.4}
}

@media(max-width:600px){.change-filter label{min-width:44px;min-height:44px;padding:0 8px}.back-link{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;margin-bottom:10px}}

.nearby-distance-badge,.source-feature-tag{display:inline-flex;align-items:center;max-width:100%;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:#f2f6f7;color:var(--navy);font-size:11px;font-weight:800;overflow-wrap:anywhere}
.source-feature-tag{background:#fff7e8;border-color:#e6c98f}

.official-land-reference-panel{display:grid;gap:14px}
.official-land-location{margin:0;color:var(--muted);font-size:13px;font-weight:700}
.official-land-group{display:grid;gap:8px;min-width:0}
.official-land-group h3{margin:0;color:var(--navy);font-size:15px;line-height:1.45}
.official-land-map-links,.official-land-contact-row dd,.official-land-check>div{display:flex;flex-wrap:wrap;gap:7px;min-width:0;margin:0}
.official-land-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#f7f9fa;color:var(--navy);font-size:13px;font-weight:800;line-height:1.4;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.official-land-contact-list{display:grid;gap:0;margin:0}
.official-land-contact-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.official-land-contact-row dt{align-self:center;color:var(--navy);font-size:13px;font-weight:800;line-height:1.5}
.official-land-checklist{display:grid;gap:0;margin:0;padding:0;list-style:none}
.official-land-check{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.official-land-check strong{color:var(--navy);font-size:13px;line-height:1.5}
@media(max-width:600px){.official-land-contact-row,.official-land-check{grid-template-columns:minmax(0,1fr);gap:5px}.official-land-link{flex:1 1 100%;width:100%}}

.detail-map-location-label{margin:-6px 0 12px;color:var(--muted);font-size:13px;font-weight:800}
.detail-map-frame{position:relative;min-height:320px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#eef2f3}
#detail-map{height:420px;width:100%;max-width:100%;touch-action:pan-y}
#detail-map[hidden]{display:none}
.detail-map-status{position:absolute;z-index:1000;inset:0;display:grid;place-items:center;margin:0;padding:20px;background:#f5f7f8;color:var(--muted);font-size:14px;font-weight:800;text-align:center}
.detail-map-status[hidden]{display:none}
.leaflet-container{font:inherit}
.site-embed-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:5px 10px;border:1px solid #9aaab3;border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.site-embed-trigger:hover{background:#f2f6f7}
.site-new-tab-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:5px 10px;border:1px solid #9aaab3;border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-size:12px;font-weight:800;text-decoration:none}
.site-new-tab-link:hover{background:#f2f6f7;text-decoration:underline}
.site-embed-dialog{display:flex;flex-direction:column;gap:8px;width:min(96vw,1200px);height:min(94dvh,900px);max-width:none;max-height:none;margin:auto;padding:12px;border:0;border-radius:14px;box-shadow:0 12px 50px #0005}
.site-embed-dialog:not([open]){display:none}
.site-embed-dialog::backdrop{background:#10202bcc}
.site-embed-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-embed-dialog-header h2{margin:0;font-size:18px;overflow-wrap:anywhere}
.site-embed-location{margin:0;color:var(--navy);font-size:13px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}
.site-embed-close{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:9px;background:#f5f7f8;color:var(--navy);font:inherit;font-weight:800;cursor:pointer}
.site-embed-fallback{margin:0;font-size:13px;font-weight:800}
.site-embed-fallback a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
#site-embed-frame{display:block;flex:1;min-height:0;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff}
@media(max-width:780px){#detail-map{height:50vh;min-height:250px;max-height:480px}}
@media(max-width:600px){
  .detail-map-frame{min-height:250px}
  .site-embed-dialog{width:100vw;height:100dvh;border-radius:0;padding:10px}
  .site-embed-dialog-header h2{font-size:16px}
  .site-embed-trigger,.site-new-tab-link{min-height:40px}
}
.land-source-fact{margin:.25rem 0;font-weight:800}
.land-source-evidence{display:block;margin:.2rem 0 .45rem;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.land-national-fact{margin:.55rem 0 .25rem}
.land-reference-difference{margin:.35rem 0;color:#9a3412;font-weight:800}
.area-unit-select{min-height:48px;min-width:100px}
.filter-field-title{white-space:nowrap}
.filter-choice-grid{margin-top:8px}
.filter-choice-label{display:flex;align-items:center;gap:9px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;line-height:1.35;cursor:pointer}
.filter-choice-label input{width:18px;height:18px;flex:0 0 auto}
.filter-choice-heading{margin:14px 0 4px;font-size:14px;color:var(--navy)}
.land-commercial-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;padding:9px 11px;border-radius:9px;background:#f4f7f8}
.land-commercial-values>div{display:grid;gap:3px;min-width:0}
.land-commercial-values small{color:var(--muted);font-size:12px;font-weight:700}
.land-commercial-values strong{color:var(--navy);font-size:15px;overflow-wrap:anywhere}
@media(max-width:600px){.area-unit-select{width:100%}.filter-choice-label{min-height:44px}.land-commercial-values{gap:6px;padding:8px}.land-commercial-values strong{font-size:14px}}

/* Detail map: interactive Google view and non-blocking overlay controls. */
.detail-map-panel{min-width:0;overflow:hidden}
.detail-map-location-label{margin:0 0 4px;color:var(--navy);font-size:13px;font-weight:800}
.detail-map-approximate-note,.google-map-streetview-note,.detail-map-no-coordinates{display:block;margin:4px 0 10px;color:var(--muted);font-size:12px;line-height:1.5}
.google-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}
.google-map-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.google-map-tab,.google-map-expand,.google-map-dialog-head button{min-height:44px;padding:8px 13px;border:1px solid #9aaab3;border-radius:9px;background:#fff;color:var(--navy);font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.google-map-tab.is-active{border-color:var(--navy);background:var(--navy);color:#fff}
.google-map-tab:disabled{color:#7b858a;background:#f1f3f4;cursor:not-allowed}
.google-map-expand{background:#f5f8f9}
.google-map-shell{position:relative;width:100%;min-width:0;min-height:300px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#eef2f3}
#google-map-frame{display:block;width:100%;height:clamp(300px,42vw,440px);border:0;background:#eef2f3}
#google-map-frame[hidden],#google-map-dialog-frame[hidden],.google-map-fallback[hidden],.google-map-status[hidden]{display:none}
.google-map-status{position:absolute;right:8px;bottom:8px;max-width:85%;margin:0;padding:7px 10px;border:1px solid #cbd5db;border-radius:8px;background:#fffffff0;color:var(--muted);font-size:12px;font-weight:800;text-align:center;pointer-events:none}
.google-map-fallback{display:flex;min-height:300px;align-items:center;justify-content:center;padding:20px;color:var(--navy);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.google-map-open-link{margin:8px 0 0;font-size:13px;font-weight:800}
.google-map-dialog{display:flex;flex-direction:column;gap:8px;width:min(96vw,1400px);height:min(94dvh,1000px);max-width:none;max-height:none;margin:auto;padding:12px;border:0;border-radius:14px;box-shadow:0 12px 50px #0005}
.google-map-dialog:not([open]){display:none}
.google-map-dialog::backdrop{background:#10202bcc}
.google-map-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.google-map-dialog-head h3{margin:0;font-size:17px}
.google-map-dialog-tabs{margin:0}
#google-map-dialog-frame{display:block;flex:1;min-height:0;width:100%;border:1px solid var(--line);border-radius:8px;background:#eef2f3}
.google-map-dialog .google-map-fallback{min-height:0;flex:1}
.detail-map-subtitle{margin:18px 0 8px;font-size:15px}
.detail-map-status{position:absolute;right:8px;bottom:8px;inset:auto;max-width:85%;margin:0;padding:7px 10px;border:1px solid #cbd5db;border-radius:8px;background:#fffffff0;color:var(--muted);font-size:12px;font-weight:800;text-align:center;pointer-events:none}
.detail-map-overlay-status[hidden],.detail-map-legend[hidden]{display:none}
.detail-map-overlay-status{display:grid;gap:4px;margin:8px 0 0;padding:8px 10px;border:1px solid #e4d8b7;border-radius:8px;background:#fffaf0;color:#59451a;font-size:12px;line-height:1.5}
.detail-map-overlay-status p{margin:0}
.detail-map-legend{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}
.detail-map-legend h3{margin:0 0 8px;font-size:14px}
.detail-map-legend ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.detail-map-legend li{display:grid;align-content:start;gap:5px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}
.detail-map-legend li strong{font-size:13px}
.detail-map-legend li p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.detail-map-legend li img{display:block;max-width:100%;max-height:120px;object-fit:contain;object-position:left center}
.detail-map-legend li a{font-size:12px;font-weight:800}
@media(max-width:780px){#google-map-frame{height:360px}.google-map-dialog{width:100vw;height:100dvh;border-radius:0;padding:10px}}
@media(max-width:600px){
  .google-map-toolbar{align-items:stretch}
  .google-map-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .google-map-tab{padding:7px 4px;font-size:12px}
  .google-map-expand{width:100%}
  .google-map-shell{min-height:300px}
  #google-map-frame{height:320px}
  .google-map-fallback{min-height:300px}
  .google-map-dialog-tabs{width:auto;display:flex}
  .detail-map-frame{min-height:250px}
  .detail-map-legend ul{grid-template-columns:minmax(0,1fr)}
}
.site-embed-location{margin:0;padding:8px 14px;background:#f5f8f9;color:var(--navy);font-size:12px;font-weight:700}

.land-caution-panel{border-color:#d5a243;background:#fffaf0}
.land-caution-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.land-caution-source{display:flex;align-items:flex-start;gap:8px;min-width:0;flex-wrap:wrap}
.land-caution-tags{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.land-caution-chip,.land-caution-badge{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border:1px solid #d6a23d;border-radius:999px;background:#fff2cc;color:#684500;font-size:12px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}
.land-caution-badge{padding:2px 7px;font-size:10px}
@media(max-width:600px){.land-caution-source{display:grid;grid-template-columns:1fr;gap:5px}.land-caution-chip{font-size:11px}}

.publication-difference{display:inline-flex;vertical-align:middle;margin-left:4px;font-size:10px}
.publication-difference summary{cursor:pointer;list-style:none;color:var(--navy);font-weight:800}
.publication-difference span{display:block;max-width:min(420px,80vw);padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}

/* Remembered collapsible groups for land filters and details. */
.detail-collapse-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.detail-collapse-actions button{min-height:44px;padding:9px 14px;border:1px solid #9aaab3;border-radius:9px;background:#fff;color:var(--navy);font:inherit;font-weight:800;cursor:pointer}
.detail-fold{padding:0;overflow:hidden}
.detail-fold>summary.detail-fold-summary{min-height:48px;padding:11px 16px;color:var(--navy);font-size:16px;font-weight:800;line-height:1.45;cursor:pointer;list-style-position:inside}
.detail-fold>summary.detail-fold-summary::marker,.detail-subfold>summary::marker,.filter-details>summary::marker{color:var(--navy)}
.detail-fold>summary.detail-fold-summary small{display:inline-block;margin-left:8px;color:var(--muted);font-size:12px;font-weight:700}
.detail-fold[open]>summary.detail-fold-summary{border-bottom:1px solid var(--line)}
.detail-fold-content{padding:16px 20px}
.detail-keypoints.detail-fold{margin:0 0 14px;padding:0}
.detail-keypoints.detail-fold>summary.detail-fold-summary{font-size:19px}
.detail-keypoints.detail-fold>.detail-keypoints-grid{padding:12px 18px 18px}
.detail-fold .school-confidence{font-size:11px}
.detail-subfold{margin:10px 0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.detail-subfold>summary.detail-subfold-summary{min-height:44px;padding:10px 12px;color:var(--navy);font-size:14px;font-weight:800;line-height:1.4;cursor:pointer;list-style-position:inside}
.detail-subfold>summary small{display:inline-block;margin-left:8px;color:var(--muted);font-size:12px}
.detail-subfold[open]>summary{border-bottom:1px solid var(--line)}
.detail-subfold-content{padding:12px}
.detail-collapse-actions button:focus-visible,.detail-fold>summary:focus-visible,.detail-subfold>summary:focus-visible,.filter-details>summary:focus-visible{outline:3px solid #1769aa;outline-offset:2px}
.hiroshima-mapnav{display:block;padding:0}
.hiroshima-mapnav>summary{min-height:44px;padding:9px 10px;color:var(--navy);font-size:13px;font-weight:800;cursor:pointer;list-style-position:inside}
.hiroshima-mapnav[open]>summary{border-bottom:1px solid var(--line)}
.hiroshima-mapnav-body{display:grid;gap:8px;padding:0 10px 10px}

.filter-panel .filter-top>.filter-field-group{min-width:0;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.filter-panel .filter-top>.filter-field-group>summary.filter-summary,.filter-actions>.filter-action-fold>summary.filter-summary{min-height:44px;padding:10px 12px;color:var(--navy);font-size:14px;font-weight:800;line-height:1.4;cursor:pointer;list-style-position:inside}
.filter-panel .filter-top>.filter-field-group[open]>summary,.filter-actions>.filter-action-fold[open]>summary{border-bottom:1px solid var(--line)}
.filter-summary small[data-filter-selection]{display:block;margin:3px 0 0 15px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.filter-summary small[data-filter-selection][hidden]{display:none}
.filter-input-label,.filter-group-fields{display:grid;gap:7px;padding:12px;font-size:12px;font-weight:700}
.filter-group-fields{grid-template-columns:repeat(2,minmax(0,1fr));border-top:0}
.filter-group-fields label{display:grid;align-content:start;gap:6px;min-width:0;font-size:12px;font-weight:700}
.filter-group-fields input,.filter-group-fields select,.filter-input-label input{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #cfd5db;border-radius:9px;padding:9px 10px;background:#fff;font:inherit}
.filter-group-fields label>small{color:var(--muted);font-size:10px;font-weight:400}
.area-filter-fields{grid-template-columns:1fr}
.filter-school-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border-top:1px solid var(--line)}
.filter-actions>.filter-action-fold{flex:1 1 190px;min-width:160px;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.filter-actions>.filter-action-fold .sort-control{min-width:0;padding:10px 12px}
.filter-actions>.filter-action-fold .change-filter{padding:8px 12px}
.filter-details>summary.filter-summary{min-height:44px;display:list-item;padding:10px 0;font-size:14px;font-weight:800;line-height:1.4;cursor:pointer}
.filter-details>summary.filter-summary small[data-filter-selection]{margin-left:20px}
.filter-actions>.filter-action-fold>summary.filter-summary small[data-filter-selection]{margin-left:15px}
@media(max-width:600px){
  .detail-collapse-actions{margin:6px 0 10px}
  .detail-collapse-actions button{flex:1 1 140px}
  .detail-fold-content{padding:12px}
  .detail-fold>summary.detail-fold-summary{min-height:48px;padding:10px 12px;font-size:15px}
  .detail-keypoints.detail-fold>.detail-keypoints-grid{padding:10px 12px 12px}
  .filter-panel .filter-top>.filter-field-group.grow{grid-column:1/-1}
  .filter-group-fields{grid-template-columns:1fr}
  .filter-school-fields{grid-template-columns:1fr}
  .filter-actions>.filter-action-fold{min-width:0}
}
@media print{
  details:not([open])> :not(summary){display:block!important}
  details[data-collapse-key]{display:block!important}
  .detail-collapse-actions{display:none!important}
}
.detail-fold-summary h2.detail-fold-heading{display:inline-block;margin:0;color:inherit;font-size:inherit;line-height:inherit}

.area-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.area-filter-fields>label{align-content:start;align-self:start;min-width:0}
.area-filter-fields .area-unit-select,.area-filter-fields input[type="number"]{box-sizing:border-box;height:44px;min-height:44px}
@media(max-width:600px){
  .filter-panel .filter-top>.filter-field-group[data-filter-key="area"]{grid-column:1/-1}
  .area-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== 一覧：絞り込みの折りたたみと、詰めたカード（左に小さな写真・右に文字） ===== */
/* 絞り込み：住所と市区町村だけ開き、他は折りたたむ */
.filter-address{margin:0 0 4px}
.filter-address input{width:100%;min-height:48px;border:1px solid #cfd5db;border-radius:10px;padding:11px 14px;background:#fff}
.filter-folds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;align-items:start}
.filter-folds>.filter-fold{margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;min-width:0}
.filter-folds>.filter-fold[open]{grid-column:span 2}
.filter-folds>.filter-fold>summary.filter-summary{min-height:44px;padding:10px 12px;display:list-item;list-style-position:inside;color:var(--navy);font-size:14px;font-weight:800;line-height:1.4;cursor:pointer}
.filter-folds>.filter-fold[open]>summary.filter-summary{border-bottom:1px solid var(--line)}
.filter-folds>.filter-fold>summary.filter-summary small[data-filter-selection]{margin:3px 0 0 15px}
.filter-folds>.filter-fold .sort-control{min-width:0;padding:10px 12px}
.filter-folds>.filter-fold .change-filter{padding:8px 12px}
.filter-folds>.filter-fold .filter-picker-field{padding:12px}
@media(max-width:1050px){.filter-folds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.filter-folds>.filter-fold[open]{grid-column:1/-1}}
@media(max-width:480px){
  .filter-details[data-filter-key="city"] .checkbox-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-height:176px}
  .filter-details[data-filter-key="city"] .checkbox-grid label{min-height:40px;padding:4px 6px}
  .filter-details[data-filter-key="city"] .filter-hint{margin:4px 0 6px}
  .filter-actions{grid-template-columns:1fr 1fr}
  .filter-actions>.unconfirmed-filter{grid-column:1/-1}
  .filter-folds{gap:6px;margin-top:10px}
  .filter-folds>.filter-fold>summary.filter-summary{display:list-item;min-height:44px;padding:8px 10px;font-size:13px}
}
/* 小学校区の表示 */
.school-candidate-mark{display:inline-block;margin-right:4px;padding:1px 6px;border-radius:999px;background:#fff2d6;color:#805b00;font-size:10px;font-weight:800;font-style:normal;white-space:nowrap}
.school-none{color:#8a94a0;font-weight:400}
/* 写真なしの小さな枠 */
.land-thumb.no-photo{background:#eef2f3}
.land-thumb.no-photo>span{font-size:11px;font-weight:700;color:var(--muted)}
/* カード */
.land-grid.layout-b{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.layout-b .land-card{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);border-radius:12px;box-shadow:none}
.layout-b .land-thumb{display:block;position:relative;overflow:hidden;min-height:104px;background:linear-gradient(135deg,#dfe8ed,#bfcfd8)}
.layout-b .land-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.layout-b .land-thumb.no-photo{display:grid;place-items:center}
.layout-b .land-card-body{display:grid;align-content:start;gap:3px;padding:8px 10px}
.layout-b .land-tags{gap:4px;margin:0}
.layout-b .land-tags span,.layout-b .condition-pill{padding:2px 6px;font-size:10px}
.layout-b .land-address{margin:0;font-size:13px;font-weight:800;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.layout-b .card-link::after{content:"";position:absolute;inset:0}
.layout-b .land-b-values{display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 8px;margin:0;font-size:12px;line-height:1.35}
.layout-b .land-b-price{font-size:16px;color:var(--navy)}
.layout-b .land-b-school,.layout-b .land-b-station{margin:0;font-size:12px;line-height:1.35;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout-b .land-b-school small,.layout-b .land-b-station small{display:inline-block;margin-right:5px;padding:0 4px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:10px}
@media(max-width:1050px){.land-grid.layout-b{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.land-grid.layout-b{grid-template-columns:minmax(0,1fr);gap:7px}}
@media(max-width:480px){
  .layout-b .land-card{grid-template-columns:92px minmax(0,1fr)}
  .layout-b .land-thumb{min-height:92px}
  .layout-b .land-card-body{padding:6px 8px;gap:2px}
  .layout-b .land-address{font-size:13px;-webkit-line-clamp:1}
  .layout-b .land-b-price{font-size:16px}
  .layout-b .land-b-values{font-size:12px;gap:0 6px}
  .layout-b .land-b-school,.layout-b .land-b-station{font-size:12px}
}

/* ===== 詳細：電話・メモ・確認事項・携帯の下の固定帯 ===== */
.keypoint-company-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.keypoint-company-line>strong{min-width:0}
.detail-phone{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:8px 14px;border-radius:10px;background:var(--green);color:#fff;font-size:15px;font-weight:800;line-height:1.2;text-decoration:none;white-space:nowrap}
.detail-phone:hover{filter:brightness(1.08)}
.detail-favorite-note{margin-top:12px}
.official-land-checks{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fffdf5}
.official-land-checks h3{margin:0 0 6px;font-size:14px;color:var(--navy)}
.official-land-checks ul{margin:0;padding-left:1.2em;font-size:13px;line-height:1.65}
.official-land-checks li+li{margin-top:3px}
.source-merged-panel .listing-card .source-info-full{margin:12px 0 0}
.mobile-action-bar,.mobile-bar-spacer{display:none}
@media(max-width:600px){
  .mobile-bar-spacer{display:block;height:76px}
  .mobile-action-bar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(21,50,77,.14)}
  .mobile-action-bar>.mobile-bar-button,.mobile-action-bar>.mobile-bar-form{flex:1 1 0;min-width:0;margin:0}
  .mobile-bar-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:6px 8px;border:1px solid var(--navy);border-radius:10px;background:#fff;color:var(--navy);font:inherit;font-size:14px;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}
  .mobile-bar-button.mobile-bar-phone{border-color:var(--green);background:var(--green);color:#fff}
  .mobile-bar-button.is-saved{border-color:#d9a5a0;color:var(--danger)}
}

.detail-map-position-warning{display:block;margin:8px 0 14px;padding:14px 16px;border:2px solid #a65c00;border-radius:8px;background:#fff4cf;color:#603400;font-size:18px;font-weight:700;line-height:1.6}

/* Reserve a side gutter so fixed desktop actions never cover text or maps. */
.land-detail-page .page-shell{width:min(1060px,calc(100% - 228px));margin-left:max(18px,calc((100% - 1280px)/2));margin-right:198px}
.detail-fixed-actions{position:fixed;right:18px;bottom:20px;z-index:45;width:172px;display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 16px rgba(21,50,77,.15)}
.detail-fixed-actions form{margin:0}
.detail-fixed-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:48px;padding:7px 6px;border:1px solid var(--navy);border-radius:10px;background:#fff;color:var(--navy);font:inherit;font-size:13px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer;line-height:1.25}
.detail-fixed-button small{font-size:10px}
.detail-fixed-button.is-saved{border-color:#d9a5a0;color:var(--danger)}
@media(max-width:600px){
 .land-detail-page .page-shell{width:calc(100% - 20px);margin:0 auto;padding-bottom:150px}
 .detail-fixed-actions{right:10px;left:10px;width:auto;bottom:calc(var(--detail-phone-band-height,65px) + 8px);flex-direction:row;gap:6px;padding:6px}
 .detail-fixed-actions>*{flex:1 1 0;min-width:0}
 .detail-fixed-button{min-height:48px;font-size:11px}
}

/* Detail photo and conditions */
.detail-hero{align-items:start}
.detail-photo-column{grid-column:1;grid-row:1;min-width:0}
.detail-photo-meta{padding-top:20px;min-width:0}
.detail-hero>.detail-summary{grid-column:2;grid-row:1;min-width:0}
.detail-summary .land-condition-panel{margin:18px 0 0;padding:0;border:0;box-shadow:none}
.detail-summary .land-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-photo-slider{position:relative;aspect-ratio:4/3;touch-action:pan-y;flex:0 0 auto}
.detail-photo-slider>img{display:block;width:100%;height:100%;object-fit:contain;background:#e8eef1}
.detail-photo-slider>span{display:grid;place-items:center;height:100%}
.detail-photo-slider>button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:48px;border:0;border-radius:6px;background:#fffE;color:var(--navy);font-size:22px;cursor:pointer}
.detail-photo-prev{left:6px}.detail-photo-next{right:6px}
.detail-photo-position{position:absolute;bottom:6px;right:6px;background:#132d48dd;color:#fff;padding:4px 8px;border-radius:6px}
@media(max-width:780px){
 .detail-photo-column{display:contents}
 .detail-hero .detail-image,.detail-hero .detail-photo-meta,.detail-hero>.detail-summary{grid-column:1;grid-row:auto}
 .detail-hero .detail-image{order:0}.detail-hero>.detail-summary{order:1}.detail-hero .detail-photo-meta{order:2}
}
@media(max-width:600px){
 .detail-fixed-actions{left:auto;right:10px;width:130px;flex-direction:column;bottom:calc(var(--detail-phone-band-height,0px) + 8px)}
 .land-detail-page .page-shell{padding-bottom:270px}
 .detail-fixed-button{min-height:44px;font-size:12px}
 .mobile-action-bar:not(:has(.mobile-bar-phone)){display:none}
}

/* List controls and persistent employee view status. */
@media(min-width:1051px){.land-grid.layout-b{grid-template-columns:repeat(4,minmax(0,1fr))}.layout-b .land-card{grid-template-columns:80px minmax(0,1fr)}}
.town-groups,.town-row{display:block}.town-city-group{margin:12px 0}.town-row h5{font-size:16px;margin:12px 0 5px}.town-city-heading{font-size:14px;margin:10px 0}
.advanced-filter>.filter-summary{cursor:pointer}.advanced-filter .filter-static-heading{padding:10px 12px;margin:0;border-bottom:1px solid var(--line)}
.filter-panel .filter-actions{position:fixed;right:16px;bottom:16px;z-index:900;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 3px 18px #0003;display:grid;grid-template-columns:auto auto;max-width:calc(100vw - 32px);margin:0}
.filter-actions .unconfirmed-filter{grid-column:1/-1;grid-row:2}.land-list-page{padding-bottom:calc(var(--list-actions-height,150px) + 35px)}
.land-list-page .land-map-page{margin-bottom:calc(var(--list-actions-height,150px) + 35px)}
.land-view-mark{font-weight:700;font-size:12px;margin:3px 0}.land-view-mark.unviewed{color:#bb2020}.land-view-mark.viewed{color:#16803d}.land-view-mark.updated{color:#b85a00}
.layout-b .land-b-sources,.layout-b .land-b-company{font-size:11px;margin:0;overflow-wrap:anywhere}.layout-b .land-b-sources small,.layout-b .land-b-company small{margin-right:4px;color:var(--muted)}
[hidden]{display:none!important}
@media(max-width:780px){.filter-panel .filter-actions{right:8px;bottom:8px;padding:8px;gap:7px;max-width:calc(100vw - 16px)}}

.land-list-page .map-filters{display:block!important}
.land-list-page .map-filters:not(.map-filters-open){padding:0;border:0;box-shadow:none;background:none}
.map-filters:not(.map-filters-open) form>:not(.filter-actions){display:none}
.land-list-page .search-map-layout{margin-bottom:calc(var(--list-actions-height,150px) + 35px)}
@media(max-width:700px){.land-list-page #search-map{height:calc(100dvh - 190px - var(--list-actions-height,150px));min-height:250px}.land-list-page .map-land-card{bottom:calc(var(--list-actions-height,150px) + 24px);max-height:45dvh}}

/* Keep recording dates visible only in the detail photo column. */
.detail-photo-meta .updated-note{display:block}
.detail-photo-empty{background:#eef2f3;color:var(--muted);font-size:11px;font-weight:700;width:100%;height:100%;display:grid;place-items:center}
.detail-photo-empty[hidden],.detail-photo-slider>img[hidden],.detail-photo-slider>button[hidden],.detail-photo-position[hidden],.land-photo-strip[hidden]{display:none}
.land-source-comments-panel p{overflow-wrap:anywhere;line-height:1.65}
.land-photo-thumb[hidden]{display:none}

/* List layout: readable filter boxes and fixed, uncropped thumbnails. */
.land-list-page .page-shell{width:calc(100% - 40px);max-width:2400px}
.advanced-filter .filter-folds{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(390px,calc((100% - 10px)/2))),1fr))}
.advanced-filter .filter-group-fields,.advanced-filter .filter-school-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.advanced-filter .area-filter-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
.advanced-filter .filter-school-fields .filter-picker-field{padding:0;min-width:0}
.advanced-filter .picker-trigger{white-space:nowrap}
.advanced-filter .checkbox-grid.compact{display:flex;flex-wrap:wrap;padding:12px;gap:8px}
.advanced-filter .checkbox-grid.compact label{white-space:nowrap;flex:0 0 auto}
.layout-b .land-card{align-items:start;grid-template-columns:96px minmax(0,1fr)}
.layout-b .land-thumb{width:96px;height:72px;min-height:0;align-self:start;border-radius:11px 0 6px 0}
.layout-b .land-thumb img{object-fit:contain;object-position:center;background:#edf1f3}
.layout-b .land-address{display:block;overflow:visible;-webkit-line-clamp:unset;overflow-wrap:anywhere}
.layout-b .land-b-station,.layout-b .land-b-school{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.layout-b .land-b-school{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:baseline}
.layout-b .school-part{display:inline-flex;align-items:baseline;gap:3px;flex-wrap:wrap}
.layout-b .school-part small{margin:0;white-space:nowrap}
.layout-b .school-divider{color:var(--muted)}
.layout-b .land-b-publication{display:flex;flex-wrap:wrap;gap:2px 8px;margin:0;font-size:11px;overflow-wrap:anywhere}
.layout-b .land-b-publication small{margin-right:4px;color:var(--muted);white-space:nowrap}
@media(max-width:1200px) and (min-width:781px){.land-grid.layout-b{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.land-list-page .page-shell{width:calc(100% - 24px)}}
@media(max-width:480px){.land-list-page .page-shell{width:calc(100% - 20px)}.layout-b .land-card{grid-template-columns:92px minmax(0,1fr)}.layout-b .land-thumb{width:92px;height:69px;min-height:0}.advanced-filter .filter-group-fields{grid-template-columns:1fr}}

@media(min-width:781px) and (max-width:1100px){
 body:has(.filter-panel) .site-header,body:has(.favorite-list) .site-header{flex-wrap:wrap;gap:10px;padding:12px 20px}
 body:has(.filter-panel) .main-nav,body:has(.favorite-list) .main-nav{order:3;width:100%;margin:0;flex-wrap:wrap}
 body:has(.filter-panel) .header-user,body:has(.favorite-list) .header-user{margin-left:auto;flex-wrap:wrap}
 body:has(.filter-panel) .main-nav a,body:has(.favorite-list) .main-nav a,body:has(.filter-panel) .header-user a,body:has(.favorite-list) .header-user a,body:has(.filter-panel) .link-button,body:has(.favorite-list) .link-button{white-space:nowrap}
}

.land-list-page .filter-details[data-filter-key="city"] .checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(210px,calc((100% - 40px)/5))),1fr));gap:10px}
.land-list-page .filter-details[data-filter-key="city"] .checkbox-grid label{white-space:normal;font-size:16px}

/* Larger property summaries; map and detail cards retain their existing layout. */
.land-grid.layout-b.land-list-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
body:has(.land-list-photo-grid) .page-shell{width:calc(100% - 40px);max-width:2400px}
.land-list-photo-grid .land-card{display:grid;grid-template-columns:40% minmax(0,1fr);align-items:start;gap:8px;padding:10px;min-width:0}
.land-list-photo-grid .land-tags{grid-column:1/-1;margin:0}
.land-list-photo-grid .land-thumb{width:100%;height:auto;min-height:0;aspect-ratio:4/3;align-self:start;border-radius:7px;background:#edf1f3}
.land-list-photo-grid .land-thumb img{width:100%;height:100%;object-fit:cover;object-position:center}
.land-list-photo-grid .land-card-body{display:flex;flex-direction:column;justify-content:flex-start;gap:4px;padding:0;height:auto;min-width:0;font-size:14px;line-height:1.4}
.land-list-photo-grid .land-b-price{font-size:20px}.land-list-photo-grid .land-b-values{font-size:14px;gap:2px 8px}
.land-list-photo-grid .land-address{font-size:16px;line-height:1.4}
.land-list-photo-grid .land-b-station,.land-list-photo-grid .land-b-school,.land-list-photo-grid .land-b-publication,.land-list-photo-grid .land-b-sources,.land-list-photo-grid .land-b-company,.land-list-photo-grid .land-view-mark{font-size:14px;line-height:1.4}
.land-list-photo-grid .land-b-station small,.land-list-photo-grid .land-b-school small,.land-list-photo-grid .land-b-publication small{font-size:12px}
.land-list-photo-grid .favorite-card{padding:10px;min-width:0}.land-list-photo-grid .favorite-card .land-card{padding:0;border:0;border-radius:0}
@media(max-width:780px){body:has(.land-list-photo-grid) .page-shell{width:calc(100% - 20px)}}

@media(min-width:1200px) and (max-width:1599.98px){.land-grid.layout-b.land-list-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:781px) and (max-width:1199.98px){.land-grid.layout-b.land-list-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.land-grid.layout-b.land-list-photo-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.land-list-photo-grid .land-card{grid-template-columns:92px minmax(0,1fr)}}
.filter-panel [data-filter-key="city"]>.checkbox-grid,.filter-panel .town-row>.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(210px,calc((100% - 40px)/5))),1fr));gap:10px}
.filter-panel [data-filter-key="city"]>.checkbox-grid label,.filter-panel .town-row>.checkbox-grid label{font-size:16px;line-height:1.4;min-height:44px;padding:10px 12px;gap:10px;overflow-wrap:anywhere}
.filter-panel [data-filter-key="city"]>.checkbox-grid input,.filter-panel .town-row>.checkbox-grid input{width:16px;height:16px;flex-shrink:0;margin:0}
.town-city-heading{font-size:16px}.town-row h5{font-size:17px}
@media(max-width:600px){.filter-panel [data-filter-key="city"]>.checkbox-grid,.filter-panel .town-row>.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filter-panel [data-filter-key="city"]>.checkbox-grid label,.filter-panel .town-row>.checkbox-grid label{font-size:13px;padding:8px;gap:7px}}

@media(max-width:600px){.land-list-page .filter-details[data-filter-key="city"] .checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.land-list-page .filter-details[data-filter-key="city"] .checkbox-grid label{font-size:13px}}

.land-list-photo-grid .land-b-price{word-break:keep-all;overflow-wrap:anywhere}

/* Keep shared list summaries uniform without resizing their photo frames. */
.land-list-photo-grid .land-tags{height:22px;min-height:22px;flex-wrap:nowrap;white-space:nowrap}
.land-list-photo-grid .land-card-body{height:174px;min-height:174px;overflow:hidden}
.land-list-photo-grid .land-card-body>p{flex:0 0 19.6px;height:19.6px;min-height:19.6px;margin:0;display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.land-list-photo-grid .land-card-body>.land-b-values{height:28px;min-height:28px;flex-basis:28px;line-height:28px}
.land-list-photo-grid .land-b-values>span{margin-left:8px}
.land-list-photo-grid .land-card-body>.land-address{height:22.4px;min-height:22.4px;flex-basis:22.4px}
.land-list-photo-grid .land-card-body>.land-b-publication{display:flex;flex-wrap:nowrap;gap:8px;align-items:baseline}
.land-list-photo-grid .land-b-sources{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.land-list-photo-grid .land-b-company{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}

.land-list-photo-grid .land-card-body>.land-b-school{display:flex;flex-wrap:nowrap;gap:3px;align-items:baseline}
.land-list-photo-grid .land-b-school>small,.land-list-photo-grid .land-b-school>.school-candidate-mark,.land-list-photo-grid .land-b-school>.school-more{flex:0 0 auto;white-space:nowrap}
.land-list-photo-grid .land-b-school>.school-name{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.land-list-photo-grid .land-b-company:focus::after{content:attr(title);position:fixed;left:12px;right:12px;bottom:88px;z-index:1500;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);white-space:normal;overflow-wrap:anywhere;line-height:1.4;box-shadow:var(--shadow);pointer-events:none}

/* Detail screen 1-10: aligned travel, school, listing, map, and nearby tables. */
.detail-photo-meta{display:grid;gap:10px;padding-top:12px}
.detail-meta-card{width:100%;min-width:0;margin:0;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.detail-transport-card{padding:12px 14px}
.detail-meta-heading{margin:0 0 8px;color:var(--navy);font-size:16px;line-height:1.4}
.detail-transport{display:grid;gap:0;margin:0;font-size:13px;line-height:1.5}
.detail-transport-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;margin:0;padding:6px 0;border-bottom:1px solid var(--line)}
.detail-transport-row:last-child{border-bottom:0}
.detail-transport-text{min-width:0;line-height:1.45;overflow-wrap:anywhere}
.detail-transport-search{display:flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:5px 8px;border:1px solid #9aaab3;border-radius:8px;background:#fff;color:var(--navy);font-size:11px;font-weight:800;line-height:1.3;text-align:center;text-decoration:none;white-space:nowrap}
.detail-transport-search:hover{background:#f2f6f7;text-decoration:underline}
.detail-transport-fallback{margin:0;overflow-wrap:anywhere}
.detail-record-dates{display:grid;justify-items:end;gap:2px;margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.4;text-align:right;overflow-wrap:anywhere}
.detail-record-dates small{font-size:inherit}
.detail-photo-meta .school-panel.detail-meta-card{padding:0}
.detail-photo-meta .school-panel .detail-fold-content{padding:12px}
.detail-photo-meta .school-detail-grid{grid-template-columns:1fr;gap:8px}
.detail-photo-meta .school-detail-grid>div{padding:10px}
.detail-photo-meta .school-disclaimer{margin-top:12px}

.source-listing-table-wrap{width:100%;overflow-x:auto}
.source-listing-table{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid var(--line);background:#fff}
.source-listing-table td{width:50%;padding:0;border:1px solid var(--line);vertical-align:top}
.source-listing-cell{display:grid;align-content:start;gap:7px;min-height:112px;padding:12px}
.source-listing-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.source-listing-heading>small{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:800}
.source-listing-open{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:5px 10px;border:1px solid #9aaab3;border-radius:8px;background:#fff;color:var(--navy);font-size:12px;font-weight:800;line-height:1.3;text-align:center;text-decoration:none}
.source-listing-open:hover{background:#f2f6f7;text-decoration:underline}
.source-listing-company,.source-listing-site-name{min-width:0;margin:0;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.source-listing-company{font-weight:700}
.source-listing-phone{width:max-content;max-width:100%;color:var(--navy);font-size:14px;line-height:1.4;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.source-listing-multi-plot{color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}


.detail-map-view[hidden],.detail-map-dialog-host[hidden]{display:none!important}
.detail-map-view{display:flex;flex-direction:column;gap:8px;width:100%;min-height:0}
.detail-map-dialog-host{display:flex;flex:1;min-height:0;width:100%}
.detail-map-dialog-host .detail-map-view{flex:1;min-height:0}
.detail-map-dialog-host .detail-map-frame{display:flex;flex:1;min-height:0;height:100%;flex-direction:column}
.detail-map-dialog-host #detail-map{flex:1;height:100%;min-height:280px}
.detail-map-dialog-host .detail-map-status{min-height:280px}
#google-map-frame[hidden]{display:none!important}

.land-photo-dialog-stage{position:relative;display:grid;place-items:center;min-height:0;touch-action:pan-y}
.land-photo-dialog-image{width:100%;max-height:78dvh;object-fit:contain}
.land-photo-dialog-prev,.land-photo-dialog-next{position:absolute;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:56px;border:1px solid #cbd5db;border-radius:8px;background:#fffffff0;color:var(--navy);font-size:23px;font-weight:800;cursor:pointer}
.land-photo-dialog-prev{left:8px}.land-photo-dialog-next{right:8px}
.land-photo-dialog-position{position:absolute;right:8px;bottom:8px;z-index:2;padding:5px 9px;border-radius:7px;background:#132d48dd;color:#fff;font-size:13px;font-weight:800}
.land-photo-dialog-caption{margin:6px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.land-photo-dialog-prev[hidden],.land-photo-dialog-next[hidden],.land-photo-dialog-position[hidden]{display:none!important}

.combined-reference-panel .land-enrichment-group-title{margin:14px 0 8px}
.combined-reference-panel .official-land-reference-panel{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.combined-reference-panel .hiroshima-mapnav>h4,.combined-reference-panel .official-land-contacts>h4{margin:10px 0 6px;color:var(--navy);font-size:14px}
.combined-reference-panel .hiroshima-mapnav-body{padding:0}
@media(max-width:780px){
  .detail-photo-meta{gap:8px;padding-top:8px}
  .detail-transport-card{padding:10px}
  .detail-transport-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:68px}
  .detail-transport-search{font-size:10px;padding:4px}
}
@media(max-width:600px){
  .detail-hero .detail-photo-meta{order:1}
  .detail-hero>.detail-summary{order:2}
  .detail-transport-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;min-height:68px}
  .detail-transport-text{font-size:12px}
  .detail-record-dates{font-size:9px}
  .source-listing-table,.source-listing-table tbody{display:block;width:100%}
  .source-listing-table tr{display:grid;grid-template-columns:minmax(0,1fr)}
  .source-listing-table td{display:block;width:100%;box-sizing:border-box}
  .source-listing-cell{min-height:0;padding:10px}
  .source-listing-heading{gap:6px}
  .source-listing-open{min-height:40px;padding:5px 8px;font-size:11px}
  .land-photo-dialog-stage{flex:1;min-height:0}
  .land-photo-dialog-image{max-height:calc(100dvh - 150px)}
  .land-photo-dialog-prev,.land-photo-dialog-next{width:42px;height:50px;font-size:20px}
  .detail-map-dialog-host .detail-map-frame{min-height:0}
  .detail-map-dialog-host #detail-map{min-height:220px}
}
@media(max-width:600px){
  .google-map-tabs:has([data-google-map-mode="hazard"]):has([data-google-map-mode="streetview"]){grid-template-columns:repeat(4,minmax(0,1fr))}
  .google-map-tabs:has([data-google-map-mode="hazard"]):not(:has([data-google-map-mode="streetview"])){grid-template-columns:repeat(3,minmax(0,1fr))}
  .google-map-dialog-tabs:has([data-google-map-dialog-mode="hazard"]):has([data-google-map-dialog-mode="streetview"]){width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .google-map-dialog-tabs:has([data-google-map-dialog-mode="hazard"]):not(:has([data-google-map-dialog-mode="streetview"])){width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Detail screen 11-13: keep mobile actions in the document flow, widen narrow fields, and unify section headings. */
.land-detail-page .detail-fold>summary.detail-fold-summary,
.land-detail-page .detail-subfold>summary.detail-subfold-summary,
.land-detail-page .land-condition-panel>.detail-fold-summary,
.land-detail-page .detail-keypoints.detail-fold>summary.detail-fold-summary{
  color:var(--navy);
  font-size:16px;
  font-weight:800;
  line-height:1.45;
}
.land-detail-page .detail-fold-summary h2.detail-fold-heading{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
@media(max-width:1100px){
  .land-detail-page .detail-summary .land-condition-grid{grid-template-columns:minmax(0,1fr)}
  .land-detail-page .land-condition-grid>div{min-width:0;width:100%}
  .land-detail-page .land-condition-grid dd{overflow-wrap:normal;word-break:normal}
  .land-detail-page .land-condition-grid .publication-difference[open]{display:block;margin:6px 0 0;vertical-align:top}
  .land-detail-page .land-condition-grid .publication-difference[open]>span{max-width:100%}
}
@media(max-width:780px){
  .land-detail-page .detail-fixed-actions{
    position:static;inset:auto;left:auto;right:auto;bottom:auto;z-index:auto;
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;
    width:100%;margin:10px 0 12px;padding:0;border:0;border-radius:0;
    background:transparent;box-shadow:none;box-sizing:border-box;
  }
  .land-detail-page .detail-fixed-actions>*{flex:none;min-width:0;margin:0}
  .land-detail-page .detail-fixed-button{box-sizing:border-box;min-height:44px;padding:5px 3px;font-size:11px;overflow-wrap:anywhere;word-break:normal}
  .land-detail-page .detail-fixed-button small{font-size:9px;line-height:1.2}
  .land-detail-page .page-shell{padding-bottom:18px}
}

/* Detail page corrections 1-12. The shared file changes the site header only outside detail pages. */
@media (min-width:781px) and (max-width:1100px){
  .site-header{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 20px}
  .site-header .main-nav{order:3;flex:0 0 100%;width:100%;margin:0;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}
  .site-header .header-user{order:2;flex:0 0 auto;min-width:max-content;margin-left:auto;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}
  .site-header .main-nav a{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
}
@media(max-width:780px){
  .site-header{align-items:center}
  .site-header .brand{order:1}
  .site-header .header-user{order:2;flex:0 0 100%;width:100%;max-width:100%;margin:0;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}
  .site-header .main-nav{order:3;flex:0 0 100%;width:100%;display:flex;grid-template-columns:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}
  .site-header .main-nav a{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
}
.land-detail-page .detail-hero{grid-template-columns:minmax(280px,460px) minmax(0,1fr);align-items:stretch;gap:14px;margin-bottom:12px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.land-detail-page .detail-photo-column,
.land-detail-page .detail-hero>.detail-summary{min-width:0;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.land-detail-page .detail-photo-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px;padding:0}
.land-detail-page .detail-photo-column>.detail-photo-meta{grid-template-columns:minmax(0,1fr);gap:8px;margin:12px 0 0}
.land-detail-page .detail-summary .detail-values{width:100%;margin-left:0;margin-right:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.land-detail-page .detail-summary .detail-values>div{min-width:0}
.land-detail-page .detail-summary .land-condition-panel{width:100%;margin:18px 0 0;padding:0;border:0;box-shadow:none;box-sizing:border-box}
.land-detail-page .detail-summary .land-condition-panel>.detail-fold-content{padding:0}
.land-detail-page .detail-summary .land-condition-grid{width:100%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.land-detail-page .detail-summary .land-condition-grid>div{min-width:0;width:100%}
.land-detail-page .detail-summary .land-condition-grid dd{overflow-wrap:anywhere;word-break:normal}
.land-detail-page .detail-summary .land-condition-grid .publication-difference[open]{display:block;margin:6px 0 0;vertical-align:top}
.land-detail-page .detail-summary .land-condition-grid .publication-difference[open]>span{max-width:100%}
.land-detail-page .detail-summary .detail-values>div:nth-child(4) strong{white-space:nowrap}
@media(min-width:781px) and (max-width:1100px){
  .land-detail-page .detail-summary .detail-values>div:nth-child(4) strong{font-size:13px}
}
.land-detail-page .detail-fixed-actions .detail-map-action{min-width:0}
.land-detail-page .combined-property-panel>.combined-property-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:default;color:var(--navy);font-size:16px;font-weight:800;line-height:1.45}
.land-detail-page .combined-property-heading h2.detail-fold-heading{flex:0 1 auto;margin:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
.land-detail-page .combined-property-heading .detail-collapse-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:6px;margin:0}
.land-detail-page .combined-property-heading .detail-collapse-actions button{flex:0 0 auto;min-height:38px;padding:6px 9px;font-size:12px;white-space:nowrap}
.land-detail-page .land-caution-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 14px}
.land-detail-page .land-caution-source{display:flex;flex:0 1 auto;align-items:center;gap:5px;min-width:0;margin:0}
@media(max-width:780px){
  .land-detail-page .detail-hero{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:10px}
  .land-detail-page .detail-photo-column{display:block;grid-column:1;grid-row:auto;padding:10px}
  .land-detail-page .detail-hero>.detail-summary{grid-column:1;grid-row:auto;padding:14px}
  .land-detail-page .detail-photo-meta{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:14px}
  .land-detail-page .detail-summary .land-condition-grid{grid-template-columns:minmax(0,1fr)}
  .land-detail-page .detail-fixed-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .land-detail-page .detail-fixed-button{font-size:11px;white-space:normal;overflow-wrap:normal}
  .land-detail-page .detail-summary .detail-values>div:nth-child(4) strong{font-size:15px}
}
@media(max-width:600px){
  .land-detail-page .page-shell{padding-bottom:16px}
  .land-detail-page .detail-photo-meta{padding-top:0}
  .land-detail-page .combined-property-panel>.combined-property-heading{gap:5px;padding:10px}
  .land-detail-page .combined-property-heading .detail-collapse-actions{gap:4px}
  .land-detail-page .combined-property-heading .detail-collapse-actions button{min-height:36px;padding:5px 6px;font-size:11px}
  .land-detail-page .mobile-bar-spacer{display:none!important}
  .land-detail-page .mobile-action-bar{position:sticky;inset:auto;bottom:0;margin:12px 0 0;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:40}
}

/* Scoped page layout corrections: 2026-10-12 */
body.layout-fix-scope main.page-shell :is(h1,h2,h3){text-wrap:pretty}
body.layout-fix-scope main.page-shell p{text-wrap:pretty}
body.layout-fix-scope main.page-shell .land-card p{text-wrap:initial}
body.layout-fix-scope main.page-shell .dashboard-head p:not(.eyebrow),body.layout-fix-scope main.page-shell .panel-note{text-wrap:balance}
body.land-list-page .filter-panel:not(.map-filters).filter-actions-obscured .filter-actions{display:none!important}
body.land-list-page .filter-panel:not(.map-filters).filter-actions-floating .filter-actions{position:fixed;right:16px;bottom:16px;z-index:900;display:grid;grid-template-columns:repeat(2,94px);gap:12px;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 18px #0003}
body.land-list-page .filter-panel:not(.map-filters).filter-actions-in-flow .filter-actions{position:static;inset:auto;z-index:auto;display:grid;grid-template-columns:repeat(2,94px);justify-content:end;gap:12px;width:auto;max-width:100%;margin:18px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.land-list-page .filter-panel:not(.map-filters) .filter-actions>:is(.primary-button,.small-button){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:94px;min-width:94px;height:49px;min-height:49px;margin:0;padding:0 8px;border-radius:11px;font-size:16px;line-height:1.2;font-weight:800;white-space:nowrap}
@media(max-width:780px){
  body.land-list-page .filter-panel:not(.map-filters).filter-actions-floating .filter-actions{left:0;right:0;bottom:0;width:auto;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-radius:0}
  body.land-list-page .filter-panel:not(.map-filters).filter-actions-floating .filter-actions>:is(.primary-button,.small-button){width:100%;min-width:0}
  body.land-list-page .filter-panel:not(.map-filters).filter-actions-in-flow .filter-actions{grid-template-columns:repeat(2,94px);gap:8px}
}

/* 番地の無い土地の「推定の街区番号」（掲載元のピンからの推定。お客様用の1枚には出さない） */
.land-address-estimate{margin:4px 0 10px;padding:8px 10px;border-left:4px solid #ad6415;border-radius:6px;background:#fff7e8;color:#5c3a0b;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.land-address-estimate strong{margin-right:6px;font-size:15px}
.land-address-estimate span{font-size:12px}
.land-address-estimate .estimate-credit{display:block;margin-top:2px;font-size:11px;color:#7a5a2a}.land-address-estimate .estimate-credit a{color:inherit;text-decoration:underline}


/* 2026-10-14 見た目の崩れ直し（全体点検）。 */
/* 詳細の右の固定ボタン用の余白は、固定ボタンが出る幅（781px以上）だけにする。1440でも本文は左の余白から右の固定ボタンの手前までを使う。 */
.land-detail-page .page-shell{width:min(1280px,calc(100% - max(18px,calc((100% - 1280px)/2)) - 216px));margin-left:max(18px,calc((100% - 1280px)/2));margin-right:216px}
@media(max-width:780px){.land-detail-page .page-shell{width:calc(100% - 24px);max-width:none;margin:0 auto}}
@media(max-width:600px){.land-detail-page .page-shell{width:calc(100% - 20px)}}

/* 詳細の周辺施設：種類・施設名・距離の3列。施設名は1行で長い時は「…」。携帯では種類を見出し行にして施設名・距離の2列。 */
.source-nearby-table-wrap{width:100%}
.source-nearby-table{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid var(--line)}
.source-nearby-table thead{background:#f5f7f8;color:var(--navy);font-size:12px}
.source-nearby-table th,.source-nearby-table td{padding:9px 10px;border:1px solid var(--line);text-align:left;vertical-align:middle}
.source-nearby-table thead th:first-child{width:24%}
.source-nearby-table thead th:last-child{width:24%;text-align:right}
.source-nearby-table tr.source-nearby-category-row{display:none}
.source-nearby-table tr.source-nearby-item{height:44px}
.source-nearby-category{overflow:hidden;color:var(--navy);font-size:13px;line-height:1.45;white-space:nowrap;text-overflow:ellipsis}
.source-nearby-name-cell{min-width:0;overflow:hidden}
.source-nearby-name-line{display:flex;align-items:baseline;gap:4px;min-width:0}
.source-nearby-name{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:700}
.source-nearby-name:focus{outline:2px solid #1769aa;outline-offset:1px}
.source-nearby-name:focus::after{content:attr(title);position:fixed;left:12px;right:12px;bottom:88px;z-index:1200;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);white-space:normal;overflow-wrap:anywhere;line-height:1.45;box-shadow:var(--shadow);pointer-events:none}
.source-nearby-source{flex:0 0 auto;color:var(--muted);font-size:10px;line-height:1.3;white-space:nowrap}
.source-nearby-distance{overflow:hidden;color:var(--navy);font-size:13px;font-weight:800;text-align:right!important;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:600px){
  .source-nearby-table,.source-nearby-table tbody{display:block;width:100%}
  .source-nearby-table{border:0}
  .source-nearby-table thead{display:none}
  .source-nearby-table tr.source-nearby-category-row{display:block}
  .source-nearby-table .source-nearby-mobile-category{display:block;padding:9px 10px;border:1px solid var(--line);background:#f5f7f8;color:var(--navy);font-size:13px;font-weight:800}
  .source-nearby-table tr.source-nearby-item{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;height:auto;min-height:40px}
  .source-nearby-table tr.source-nearby-item td{padding:8px 10px;border-width:0 0 1px;font-size:12px}
  .source-nearby-table td.source-nearby-category{display:none}
  .source-nearby-distance{font-size:12px}
}
@media(max-width:1100px){.table-wrap th,.table-wrap td{padding:9px 7px;font-size:13px;overflow-wrap:anywhere}}
@media(max-width:900px){
  .table-stack table,.table-stack tbody,.table-stack tr,.table-stack td{display:block;width:100%;min-width:0}
  .table-stack thead{display:none}
  .table-stack tr{margin:0 0 10px;padding:4px 0;border:1px solid var(--line);border-radius:10px;background:#fff}
  .table-stack td{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:6px 10px;border:0;font-size:13px;overflow-wrap:anywhere}
  .table-stack td[data-label]{grid-template-columns:5.5em minmax(0,1fr)}
  .table-stack td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700;line-height:1.6}
  .table-stack td>*{min-width:0}
  .table-stack input:not([type=hidden]){width:100%;min-width:0}
}

/* 上の並び（見出しの下の項目）は、狭い幅でも横に流して切らず、折り返して全部見せる。 */
body:not(#nav-wrap) .site-header .main-nav{flex-wrap:wrap;overflow:visible;white-space:normal;row-gap:4px}

/* 一覧・お気に入り等のカード：掲載元が長くても掲載会社が見えなくならないようにする。周辺施設が1件も無い時は表を出さない。 */
.land-list-photo-grid .land-b-sources{max-width:62%}
.source-nearby-table:not(:has(.source-nearby-item)){display:none}
.land-list-photo-grid .land-tags>span{flex:0 1 auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 詳細の左の列：交通・学区・注意点を1つの枠にまとめる。学区は「小学校区：… ┃ 中学校区：…」を1行で左右に分け、入らない時は2行にする。 */
.detail-info-card{padding:0;overflow:hidden}
.detail-info-card .detail-info-block{margin:0;padding:12px 14px;border:0;border-radius:0;background:transparent;box-shadow:none}
.detail-info-card .detail-info-block+.detail-info-block{border-top:1px solid var(--line)}
.school-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
.school-col{min-width:0;padding:0 12px 0 0}
.school-col+.school-col{padding:0 0 0 12px;border-left:2px solid #b9c7cf}
.school-names{margin:0;line-height:1.7}
.school-names b{display:inline;color:var(--navy);font-weight:800}
.school-name{display:inline-block;white-space:nowrap}
.school-line.is-stacked{grid-template-columns:minmax(0,1fr);gap:8px}
.school-line.is-stacked .school-col,.school-line.is-stacked .school-col+.school-col{padding:0;border-left:0}
.school-line .school-unresolved{display:inline;padding:0;background:transparent}
.school-marks{display:flex;flex-wrap:wrap;gap:4px 6px;margin:4px 0 0}
.detail-info-card .school-confidence,.detail-info-card .school-mark{font-size:10px}
.detail-info-card .school-source-note{margin:4px 0 0;font-size:11px}
.detail-info-card .school-disclaimer{margin:8px 0 2px;font-size:11px;font-weight:600;line-height:1.6}
.detail-info-card .school-credit{margin:0;font-size:10px;line-height:1.6}
.land-caution-count{margin-left:8px;color:var(--muted);font-size:11px;font-weight:600}

/* 詳細：幅781〜1129pxは、右の固定ボタンの余白を引くと左右2段に分けるには狭いので、携帯と同じ縦の並び（写真→価格・条件→交通・学区・注意点）にする。左の枠は中身の高さで止め、下に空の白い枠を出さない。 */
.land-detail-page .detail-photo-column{align-self:start}
@media(min-width:781px) and (max-width:1129px){
  .land-detail-page .detail-hero{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:10px}
  .land-detail-page .detail-photo-column{display:block;grid-column:1;grid-row:auto}
  .land-detail-page .detail-hero>.detail-summary{grid-column:1;grid-row:auto}
  .land-detail-page .detail-photo-meta{grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 14px;padding:0}
  .land-detail-page .detail-summary .land-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 管理者画面：左右2段の欄は、幅1000px以下では縦に並べて右へはみ出さないようにする。 */
.two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:1000px){.two-column{grid-template-columns:minmax(0,1fr)}}
.log-list code{overflow-wrap:anywhere}
