*{box-sizing:border-box}body{color:#1f2329;background:#f6f7f9;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.container{max-width:880px;margin:0 auto;padding:24px 16px 64px}h1{margin:0 0 4px;font-size:22px}.subtitle{color:#888;margin:0 0 20px;font-size:13px}.card{background:#fff;border:1px solid #ececec;border-radius:12px;margin-bottom:16px;padding:16px}label{color:#666;margin:10px 0 4px;font-size:13px;display:block}input[type=text],input[type=date]{border:1px solid #dcdcdc;border-radius:8px;width:100%;padding:9px 10px;font-size:14px}button.primary{color:#fff;cursor:pointer;background:#2b6de4;border:none;border-radius:8px;width:100%;margin-top:14px;padding:11px;font-size:15px}button.primary:disabled{cursor:not-allowed;background:#a9c2f0}.form-actions{align-items:flex-end;gap:8px;display:flex}.form-actions .primary{flex:1}.form-actions .ghost{margin-bottom:0}ul.list{margin:0;padding:0;list-style:none}ul.list li{border-bottom:1px solid #f0f0f0;padding:12px 0;font-size:14px}ul.list li:last-child{border-bottom:none}.muted{color:#999;font-size:12px}.coord{color:#2b6de4;font-family:ui-monospace,monospace}.citybar{align-items:center;gap:10px;margin-bottom:16px;display:flex}.citybar label{margin:0}.citybar select{background:#fff;border:1px solid #dcdcdc;border-radius:8px;padding:8px 10px;font-size:14px}select{background:#fff;border:1px solid #dcdcdc;border-radius:8px;max-width:220px;padding:8px 10px;font-size:14px}.searchbar{gap:8px;margin-bottom:10px;display:flex}.searchbar input{flex:1}button.ghost{color:#2b6de4;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #2b6de4;border-radius:8px;padding:9px 14px;font-size:14px}.folderrow{align-items:center;gap:8px;display:flex}.folderrow select{flex:1;max-width:none}.folderrow input{flex:1}.group{margin-bottom:14px}.group-title{background:#fff;border-bottom:2px solid #eef1f5;align-items:center;gap:8px;padding:8px 0 4px;display:flex;position:sticky;top:0}button.link{color:#c0392b;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:12px}.grid2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.grid2>div{flex-direction:column;display:flex}.grid2 label{margin-top:10px}.grid2 select{width:100%;max-width:none}.grid3{grid-template-columns:1fr 1fr 1fr;gap:0 12px;margin-top:6px;display:grid}.grid3>div{flex-direction:column;display:flex}.grid3 label{margin-top:10px}.parsebox{align-items:stretch;gap:8px;display:flex}.parsebox textarea{flex:1;margin:0}.parsebox button{white-space:nowrap;align-self:stretch}.hint{color:#1e8e3e;margin:6px 0 0;font-size:12px}.parse-review{gap:9px;margin-top:8px;font-size:12px;display:grid}.parse-review-conflicts,.parse-review-applied{gap:6px;display:grid}.parse-review-conflicts{background:#fff8ed;border-left:3px solid #d97706;padding:9px}.parse-review-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.parse-review-item{color:#344054;text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0}.parse-review-list{flex-wrap:wrap;gap:4px 12px;display:flex}.parse-review .ghost{padding:4px 8px;font-size:12px}.jsonimport{border-top:1px dashed #eee;margin-top:10px;padding-top:10px}.jsonimport summary{color:#2b6de4;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.jsonimport textarea,.jsonimport button{margin-top:8px}.duplicate-backdrop{z-index:10000;background:#141c287a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.duplicate-dialog{background:#fff;border:1px solid #dfe4eb;border-radius:14px;width:min(680px,100%);max-height:min(88vh,820px);padding:18px;overflow:auto;box-shadow:0 18px 48px #121d2c3d}.duplicate-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.duplicate-heading h2{color:#1f2937;margin:0;font-size:18px}.duplicate-heading p{color:#667085;margin:6px 0 0;font-size:13px;line-height:1.5}.duplicate-close{color:#667085;cursor:pointer;background:0 0;border:0;font-size:26px;line-height:1}.duplicate-candidates{gap:12px;margin-top:14px;display:grid}.duplicate-candidate{border:1px solid #e5e9ef;border-radius:10px;padding:12px}.duplicate-candidate-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 12px;display:flex}.duplicate-candidate-title strong{color:#1f2937;font-size:15px}.duplicate-candidate-title span,.duplicate-url{color:#7b8492;overflow-wrap:anywhere;font-size:11px}.duplicate-facts{color:#475467;flex-wrap:wrap;gap:5px 12px;margin-top:7px;font-size:12px;display:flex}.duplicate-url{margin:5px 0 0}.duplicate-changes{border-top:1px solid #eef0f3;margin-top:10px;padding-top:8px}.duplicate-changes>strong{color:#475467;font-size:12px}.duplicate-changes ul{margin:5px 0 0;padding:0;list-style:none}.duplicate-changes li{color:#344054;border-top:1px solid #f3f4f6;justify-content:space-between;gap:8px;padding:5px 0;font-size:12px;display:flex}.duplicate-changes li span:last-child{text-align:right;overflow-wrap:anywhere}.duplicate-changes li b{color:#98a2b3;padding:0 4px}.duplicate-changes p,.duplicate-empty{color:#7b8492;margin:5px 0 0;font-size:12px}.duplicate-confirm-update,.duplicate-create-new,.duplicate-cancel{cursor:pointer;border-radius:7px;padding:8px 11px;font-size:13px}.duplicate-confirm-update{color:#fff;background:#176b45;border:1px solid #176b45;margin-top:10px}.duplicate-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.duplicate-create-new{color:#2b6de4;background:#fff;border:1px solid #2b6de4}.duplicate-cancel{color:#475467;background:#fff;border:1px solid #d0d5dd}.duplicate-confirm-update:disabled,.duplicate-create-new:disabled,.duplicate-cancel:disabled{opacity:.55;cursor:wait}.form-section{background:#fafbfc;border:1px solid #e7eaf0;border-radius:8px;margin-top:12px}.form-section summary{color:#2b6de4;cursor:pointer;padding:11px 12px;font-size:14px;font-weight:600}.form-section summary span{color:#999;margin-left:8px;font-size:12px;font-weight:400}.section-content{padding:0 12px 12px}.listing-facts{margin-top:6px;font-size:12px}.listing-facts summary{color:#2b6de4;cursor:pointer}.fact-grid{grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:6px;display:grid}.fact-grid span{color:#666}.fact-grid b{color:#999;margin-right:6px;font-weight:400}.tag-orient{background:#8e44ad;margin-left:4px}.tag-elev{background:#16a085;margin-left:4px}ul.folderlist li{justify-content:space-between;align-items:center;display:flex}.listing-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.listing-actions .ghost{padding:6px 10px}.listing-actions select{padding:6px 8px}.listing-card-follow-collapsed{display:none}.abandoned-fold-toggle{color:#6e7785;text-align:left;cursor:pointer;background:#f8f9fb;border:1px dashed #d7dce5;border-radius:10px;width:100%;margin-top:4px;padding:12px 14px}.abandoned-fold-toggle:hover{color:#465267;background:#f3f5f8;border-color:#bcc5d2}.listing-edit-action{border-color:var(--blue,#1677ff);background:var(--blue-soft,#edf5ff);color:var(--blue,#1677ff);order:-10;font-weight:650}.listing-delete-action{color:#e03131;background:#fff0f0;border-color:#ffe3e3}.listing-status-select{color:#6e7785;background:#f7f8fa;border-color:#e2e6ed;order:20}.listing-visit-action{margin-left:auto}.listing-follow-action{order:21}.compare-link{font-size:13px}.filter-strip{border:1px solid var(--line,#e6e9ef);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:12px;display:flex}.filter-strip label{min-width:80px;margin:0}.filter-strip select{max-width:200px}.muted.pros{color:#1e8e3e}.muted.cons{color:#c0392b}.stars{align-items:center;gap:4px;margin:4px 0 8px;display:flex}button.star{color:#d0d0d0;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:22px;line-height:1}button.star.on{color:#f5a623}textarea{resize:vertical;box-sizing:border-box;border:1px solid #dcdcdc;border-radius:8px;width:100%;padding:9px 10px;font-family:inherit;font-size:14px}.chips{flex-wrap:wrap;gap:8px;margin:4px 0 8px;display:flex}button.chip{cursor:pointer;background:#fff;border:1px solid #dcdcdc;border-radius:20px;padding:8px 12px;font-size:13px}button.chip.on{color:#2b6de4;background:#eef4ff;border-color:#2b6de4}.compare-head-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.compare-head-row h3{margin:0}.compare-toolbar{grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:10px;display:grid}.compare-filter-grid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;margin-top:10px;display:grid}.control-group{flex-direction:column;gap:6px;display:flex}.control-group select,.control-group input{width:100%;max-width:none}.two-inputs{grid-template-columns:1fr 12px 1fr;align-items:center;gap:6px;display:grid}.two-inputs span{color:#8a95a7;text-align:center;font-size:12px}.compare-legend{align-items:center;gap:12px;margin-top:10px;display:flex}.compare-legend .chips{margin:0}.compare-actionbar{align-items:center;gap:10px;margin-top:12px;display:flex}.compare-actionbar .result-count{color:#6e7785;margin-left:auto;font-size:12px}.dimension-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px 14px;margin-top:8px;display:grid}.dimension-item{color:#6e7785;align-items:center;gap:6px;font-size:12px;display:flex}.selected-tag-row{flex-wrap:wrap;gap:8px;display:flex}.selected-tag{color:#465267;background:#f7f9ff;border:1px solid #e6e9ef;border-radius:9px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;display:inline-flex}.selected-tag button{color:#8990a3;cursor:pointer;background:0 0;border:0;line-height:1}.subcol{color:#8a95a7;font-size:12px}.tag{color:#fff;border-radius:10px;padding:1px 7px;font-size:12px;display:inline-block}.tag-学{background:#27ae60}.tag-铁{background:#2b6de4}.tag-商{background:#e67e22}.tag-其他{background:#888}.picklist{border:1px solid #f0f0f0;border-radius:8px;flex-direction:column;gap:6px;max-height:240px;padding:8px;display:flex;overflow:auto}.pickitem{cursor:pointer;align-items:center;gap:8px;padding:4px 2px;font-size:14px;display:flex}.pickitem input{width:16px;height:16px}.tablewrap{overflow-x:auto}table.cmp{border-collapse:collapse;width:100%;font-size:13px}table.cmp th,table.cmp td{text-align:center;white-space:nowrap;border:1px solid #eee;padding:8px 10px}table.cmp th{background:#fafbfc;font-weight:600}table.cmp td:first-child,table.cmp th:first-child{text-align:left}table.cmp td.best{color:#1e8e3e;background:#e9f9ee;font-weight:600}.property-compare th:first-child{background:#fafbfc;position:sticky;left:0}.radarwrap{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.radar-ring{fill:none;stroke:#eef0f3;stroke-width:1px}.radar-axis{stroke:#e3e6ea;stroke-width:1px}.radar-label{fill:#555;font-size:12px}.legend{flex-direction:column;gap:6px;font-size:13px;display:flex}.legenditem{align-items:center;gap:6px;display:flex}.legenditem .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.property-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.metric-chart{border:1px solid var(--line,#e6e9ef);background:#fbfcfe;border-radius:12px;padding:14px}.metric-chart-title{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.metric-chart-title span{color:#8a95a7;font-size:11px}.metric-bar-row{grid-template-columns:minmax(72px,1fr) minmax(110px,2fr) 86px;align-items:center;gap:9px;min-height:30px;font-size:12px;display:grid}.metric-bar-row>span{text-overflow:ellipsis;white-space:nowrap;color:#566176;overflow:hidden}.metric-bar-row>strong{text-align:right;font-size:12px}.metric-bar-row.best>strong{color:#16875b}.metric-bar-track{background:#edf0f5;border-radius:999px;height:10px;overflow:hidden}.metric-bar-track i{border-radius:inherit;opacity:.84;height:100%;display:block}@media (max-width:640px){.grid2,.fact-grid{grid-template-columns:1fr}.parsebox,.folderrow{flex-direction:column;align-items:stretch}.parsebox button,.folderrow button{width:100%}.citybar{flex-wrap:wrap;align-items:flex-start}.form-section summary span{margin:3px 0 0 16px;display:block}.compare-toolbar,.compare-filter-grid,.dimension-grid{grid-template-columns:1fr}.compare-head-row,.compare-actionbar{flex-wrap:wrap}.property-chart-grid{grid-template-columns:1fr}}:root{--blue:#1677ff;--blue-soft:#edf5ff;--ink:#17233d;--secondary:#6e7785;--line:#e6e9ef;--canvas:#f5f5f7;--card:#fff;--coral:#ff6b61;--green:#22a06b}body{background:var(--canvas);color:var(--ink)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #1677ff33}.app-shell{max-width:1440px;margin:0 auto;padding:16px 28px 116px}.app-nav{background:var(--card);border:1px solid var(--line);border-radius:14px 14px 0 0;grid-template-columns:220px 1fr 220px;align-items:center;min-height:72px;padding:0 24px;display:grid}.brand{color:var(--ink);letter-spacing:-.5px;font-size:23px;font-weight:760}.app-nav nav{justify-content:center;align-self:stretch;gap:38px;display:flex}.app-nav nav a{color:#4f5969;align-items:center;font-size:15px;font-weight:560;display:flex;position:relative}.app-nav nav a.active{color:var(--blue)}.app-nav nav a.active:after{content:"";background:var(--blue);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:8px;right:8px}.nav-action{justify-self:end}button.primary.compact,.primary-link{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:9px;width:auto;margin:0;padding:10px 17px;font-size:14px;font-weight:650}.overview-bar{background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;grid-template-columns:170px minmax(260px,1fr) repeat(3,105px);align-items:center;gap:12px;padding:14px 20px;display:grid}.overview-bar select,.overview-bar input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;max-width:none;height:42px}.overview-bar input{padding:0 14px}.overview-stat{border-left:1px solid var(--line);flex-direction:column;align-items:center;display:flex}.overview-stat strong{font-size:18px;line-height:1.1}.overview-stat span{color:var(--secondary);margin-top:3px;font-size:11px}.dashboard-grid{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.folder-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;min-height:420px;padding:12px;position:sticky;top:16px}.folder-entry{position:relative}.folder-item{color:#4f5969;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;width:100%;padding:11px 12px;display:flex}.folder-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-item b{color:var(--secondary);font-size:12px;font-weight:500}.folder-item:hover,.folder-item.active{background:var(--blue-soft);color:var(--blue)}.folder-delete{opacity:0;color:#a2a9b4;cursor:pointer;background:0 0;border:0;width:26px;height:26px;position:absolute;top:7px;right:32px}.folder-entry:hover .folder-delete{opacity:1}.new-folder{border-top:1px solid var(--line);gap:6px;margin-top:8px;padding:12px 4px 0;display:flex}.new-folder input{border:1px dashed #cfd5df;border-radius:8px;min-width:0;height:38px;padding:0 10px}.new-folder button{background:var(--blue-soft);width:38px;color:var(--blue);cursor:pointer;border:0;border-radius:8px}.listing-panel{min-width:0}.panel-heading,.section-heading,.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.panel-heading h2,.section-heading h2{letter-spacing:-.3px;margin:2px 0 0;font-size:21px}.eyebrow{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.result-count{color:var(--secondary);font-size:13px}.listing-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:20px 22px;transition:border-color .15s,box-shadow .15s;position:relative}.listing-card:hover{border-color:#cfd8e7;box-shadow:0 5px 18px #17233d0d}.listing-card.selected{border-color:#8abfff;box-shadow:0 0 0 2px #1677ff14}.listing-pick{border:1px solid var(--line);width:28px;height:28px;color:var(--blue);cursor:pointer;background:#fff;border-radius:50%;font-weight:700;position:absolute;top:18px;left:-13px}.listing-card.selected .listing-pick{border-color:var(--blue);background:var(--blue);color:#fff}.listing-title-row{justify-content:space-between;gap:24px;display:flex}.listing-title-row h3{letter-spacing:-.2px;margin:0;font-size:19px}.listing-title-row p{color:var(--secondary);margin:6px 0 0;font-size:13px}.listing-price{text-align:right;min-width:128px;color:var(--ink);flex:none}.listing-price strong{letter-spacing:-.7px;font-size:27px}.listing-price>span{margin-left:3px;font-size:14px;font-weight:650}.listing-price small{color:var(--coral);margin-top:3px;font-size:12px;display:block}.property-chips{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.property-chips span{color:#43536c;background:#f8fbff;border:1px solid #dbe6f5;border-radius:5px;padding:3px 8px;font-size:12px}.folder-label{color:var(--secondary);margin-top:12px;font-size:12px}.pros-cons{color:var(--secondary);border-top:1px solid #f0f1f4;gap:20px;margin-top:14px;padding-top:12px;font-size:12px;display:flex}.pros-cons span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pros-cons b{margin-right:7px}.pros-cons .pros b{color:var(--green)}.pros-cons .cons b{color:var(--coral)}.listing-actions{border-top:1px solid #f0f1f4;justify-content:flex-end;align-items:center;gap:6px;margin-top:14px;padding-top:11px;display:flex}.listing-actions>a:first-child,.listing-actions>span:first-child{margin-right:auto}.listing-actions button,.listing-actions select{color:#5b6575;cursor:pointer;background:0 0;border:0;border-radius:7px;width:auto;max-width:140px;padding:6px 9px;font-size:12px}.listing-actions button:hover,.listing-actions select:hover{color:var(--blue);background:#f3f5f8}.listing-actions button.picked{background:var(--blue-soft);color:var(--blue)}.listing-facts{margin-top:12px}.listing-facts summary{color:var(--blue);font-size:12px}.photo-preview{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.photo-preview img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:52px;height:52px}.photo-filename{border:1px dashed var(--line);background:#fff;border-radius:8px;padding:6px 10px}.listing-photos{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.listing-photos img{object-fit:cover;border:1px solid #e7edf8;border-radius:8px;width:72px;height:72px}.listing-photo-open{cursor:zoom-in;background:0 0;border:0;border-radius:8px;padding:0}.listing-photo-open:focus-visible{outline-offset:3px;outline:2px solid #1677ff}.listing-photo-dialog{border:0;border-radius:12px;max-width:94vw;max-height:94vh;padding:12px}.listing-photo-dialog::backdrop{background:#000000b3}.listing-photo-close{cursor:pointer;margin:0 0 10px auto;display:block}.listing-photo-preview{object-fit:contain;width:auto;max-width:86vw;height:auto;max-height:80vh;display:block}.form-card{max-width:980px;margin:18px auto;padding:24px;box-shadow:0 16px 50px #17233d14}.icon-button{color:#646d7b;cursor:pointer;background:#f0f2f5;border:0;border-radius:50%;width:34px;height:34px;font-size:22px}.form-card>label:first-of-type{margin-top:4px}.form-card .primary{background:var(--blue)}.location-summary{color:#43536c;overflow-wrap:anywhere;background:#f8fbff;border:1px solid #dbe6f5;border-radius:8px;margin:6px 0 12px;padding:8px 10px;font-size:12px}.location-precision-control{grid-template-columns:minmax(0,1fr) minmax(180px,280px);align-items:center;gap:10px;margin-top:10px;display:grid}.location-precision-control label{color:var(--secondary);margin:0;font-size:12px}.location-candidate-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:6px;margin:9px 0;padding:10px;display:grid}.location-candidate-list>strong{color:#475569;font-size:12px}.location-candidate-list button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e1ec;border-radius:7px;justify-content:space-between;gap:10px;min-width:0;padding:8px 9px;display:flex}.location-candidate-list button span{overflow-wrap:anywhere;min-width:0}.location-candidate-list button small{color:#64748b;flex:none}.location-quality{color:var(--secondary);overflow-wrap:anywhere;margin:4px 0 0;font-size:11px}.empty-state{text-align:center;background:#fff;border:1px dashed #d5dbe4;border-radius:14px;padding:80px 20px}.empty-state>div{color:#aab3c0;font-size:38px}.empty-state h3{margin:10px 0 4px}.empty-state p{color:var(--secondary);margin:0 0 18px;font-size:13px}.compare-dock{z-index:20;border:1px solid var(--line);background:#fffffff7;border-radius:14px;grid-template-columns:180px 1fr auto;align-items:center;gap:18px;width:min(1180px,100vw - 48px);padding:14px 18px;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #17233d24}.compare-dock>div:first-child{flex-direction:column;display:flex}.compare-dock>div:first-child span{color:var(--secondary);margin-top:3px;font-size:11px}.dock-items{gap:8px;display:flex;overflow-x:auto}.dock-items>span{border:1px solid var(--line);border-radius:8px;flex:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.dock-items button{color:#8a929f;cursor:pointer;background:0 0;border:0}.page-container{max-width:980px;margin:26px auto 0}.page-container.wide{max-width:1180px}.page-heading{margin-bottom:20px}.page-heading h1{margin:2px 0 4px;font-size:28px}.page-heading p{color:var(--secondary);margin:0;font-size:13px}.page-container .card{border-color:var(--line);border-radius:14px;padding:20px}.page-container .citybar{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.page-container button.primary{background:var(--blue)}@media (max-width:840px){.app-shell{padding:0 12px 108px}.app-nav{border-radius:0 0 12px 12px;grid-template-columns:1fr auto;padding:0 14px}.app-nav nav{order:3;grid-column:1/-1;gap:26px;height:44px}.nav-action{grid-area:1/2}.overview-bar{border:1px solid var(--line);border-radius:12px;grid-template-columns:110px 1fr;margin-top:12px}.overview-stat{display:none}.dashboard-grid{grid-template-columns:1fr}.folder-panel{gap:6px;min-height:0;display:flex;position:static;overflow-x:auto}.folder-entry{display:contents}.folder-item{flex:none;gap:12px;width:auto}.folder-delete,.new-folder{display:none}.compare-dock{grid-template-columns:1fr auto;width:calc(100vw - 24px);bottom:10px}.dock-items{display:none}.listing-pick{top:14px;left:auto;right:14px}.listing-title-row{padding-right:32px}.compare-toolbar,.compare-filter-grid,.dimension-grid{grid-template-columns:1fr 1fr}.compare-head-row,.compare-actionbar{flex-wrap:wrap}.compare-actionbar .result-count{width:100%;margin-left:0}.compare-head-row{align-items:flex-start}}@media (max-width:560px){.brand{font-size:20px}.app-nav{min-height:62px}.app-nav nav{justify-content:flex-start;overflow-x:auto}.nav-action .compact{padding:8px 11px}.overview-bar{grid-template-columns:1fr}.listing-title-row{flex-direction:column;gap:10px}.listing-price{text-align:left}.listing-price small{margin-left:8px;display:inline}.pros-cons{flex-direction:column;gap:7px}.listing-actions{flex-wrap:wrap;justify-content:flex-start}.listing-visit-action{margin-left:0}.listing-actions>a:first-child,.listing-actions>span:first-child{width:100%;margin:0}.compare-dock{grid-template-columns:1fr auto}.page-heading{align-items:flex-start}.location-precision-control{grid-template-columns:1fr}.location-candidate-list button{flex-direction:column;align-items:flex-start}}.school-map-page{max-width:1280px}.school-map-page .page-heading button{flex:none;width:auto}.school-map-notice{color:#775819;background:#fff9ed;border:1px solid #f3d39a;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 14px;font-size:13px;display:flex}.school-map-notice strong{flex:none}.school-map-stats{gap:10px;margin-bottom:14px;display:flex}.school-map-stats span{border:1px solid var(--line);color:var(--secondary);background:#fff;border-radius:9px;padding:8px 12px;font-size:12px}.school-map-stats strong{color:var(--ink);margin-right:4px;font-size:15px}.school-map-error{color:#b42318;background:#fff0f0;border-radius:9px;margin-bottom:14px;padding:12px 14px}.school-map-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:14px;display:grid}.school-map-sidebar{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.school-map-sidebar>input{width:calc(100% - 20px);margin:10px}.school-map-list{border-top:1px solid var(--line);max-height:760px;overflow-y:auto}.school-map-list button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f0f1f4;grid-template-columns:30px 1fr;align-items:start;gap:9px;padding:10px 12px;display:grid}.school-map-list button:hover,.school-map-list button.active{background:var(--blue-soft)}.school-map-list button>span{color:#4e5d75;background:#e9eef7;border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:grid}.school-map-list button.active>span{background:var(--blue);color:#fff}.school-map-list strong,.school-map-list small{display:block}.school-map-list strong{margin-bottom:3px;font-size:13px}.school-map-list small{color:var(--secondary);font-size:11px}.school-map-main{min-width:0}.school-map-toolbar{border:1px solid var(--line);background:#fff;border-bottom:0;border-radius:12px 12px 0 0;flex-wrap:wrap;align-items:center;gap:14px;min-height:44px;padding:9px 12px;font-size:12px;display:flex}.school-map-toolbar label{color:var(--ink);cursor:pointer;align-items:center;gap:6px;margin:0;display:inline-flex}.school-map-toolbar span{color:var(--secondary);margin-left:auto}.school-map-canvas{border:1px solid var(--line);background:#e9edf3;border-radius:0 0 12px 12px;width:100%;height:600px;overflow:hidden}.school-map-pin{background:var(--blue);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;width:28px;height:28px;padding:0;font-size:10px;font-weight:750;box-shadow:0 2px 7px #142f544d}.school-map-pin.active{background:#e98200;border-color:#fff5dd;width:34px;height:34px;font-size:11px;transform:translate(-3px,-3px);box-shadow:0 0 0 3px #f59e0b47,0 4px 10px #50320047}.school-map-detail{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:12px;padding:16px 18px}.school-map-detail-heading,.school-map-detail-heading>div{align-items:center;gap:10px;display:flex}.school-map-detail-heading{justify-content:space-between}.school-map-detail-heading h2{margin:0;font-size:20px}.school-map-detail-heading p{color:var(--secondary);margin:3px 0 0;font-size:12px}.school-map-detail-heading>span{color:var(--secondary);font-size:12px}.school-sequence{color:#b76400;background:#fff1d8;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:750;display:grid}.school-map-facts{flex-wrap:wrap;gap:8px;margin:13px 0;display:flex}.school-map-facts span{color:#566176;background:#f6f8fb;border-radius:7px;padding:6px 9px;font-size:12px}.school-map-facts b{color:#8a95a7;margin-right:6px;font-weight:500}.school-map-detail summary{color:var(--blue);cursor:pointer;font-size:13px}.school-scope-lines{background:#f8f9fb;border-radius:9px;max-height:300px;margin-top:9px;padding:10px 12px;overflow-y:auto}.school-scope-lines p{color:#4f5969;margin:0 0 7px;font-size:12px;line-height:1.65}@media (max-width:900px){.school-map-layout{grid-template-columns:1fr}.school-map-list{max-height:220px}.school-map-canvas{height:520px}}@media (max-width:560px){.school-map-page .page-heading{flex-direction:column}.school-map-stats{overflow-x:auto}.school-map-stats span{flex:none}.school-map-toolbar span{width:100%;margin-left:0}.school-map-canvas{height:430px}.school-map-detail-heading{flex-direction:column;align-items:flex-start}}.toast-stack{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;cursor:pointer;color:#fff;background:#1f2329;border-radius:10px;max-width:min(90vw,480px);padding:10px 18px;font-size:14px;animation:.18s ease-out toast-in;box-shadow:0 6px 24px #0000002e}.toast-success{background:#2f9e44}.toast-error{background:#e03131}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pager{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.pager button{cursor:pointer;background:#fff;border:1px solid #dcdcdc;border-radius:8px;padding:6px 14px;font-size:13px}.pager button:disabled{opacity:.4;cursor:not-allowed}.pager .muted{font-size:13px}.field-error{color:#e03131;margin:2px 0 0;font-size:12px}input.invalid{border-color:#e03131!important}.data-banner{border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px}.data-banner.error{color:#c92a2a;background:#fff0f0;border:1px solid #ffd6d6}.capture-detail-page{background:var(--canvas,#f5f5f7);width:min(100%,960px);min-height:100vh;color:var(--ink,#17233d);gap:20px;margin:0 auto;padding:24px 16px 64px;font-size:14px;display:grid}.capture-field-card{border:1px solid var(--line,#e6e9ef);background:var(--card,#fff);border-radius:12px;min-width:0;padding:16px}.capture-field-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.capture-field-card-header h2{margin:0;font-size:16px}.capture-field-toggle,.capture-empty-fields-toggle{min-height:42px;color:var(--blue,#1677ff);cursor:pointer;background:#fff;border:1px solid #cfd6e1;border-radius:8px}.capture-field-toggle{padding:8px 12px}.capture-empty-fields-toggle{text-align:left;width:100%;color:var(--secondary,#6e7785);margin-top:8px;padding:10px 12px}.capture-field-toggle:hover,.capture-empty-fields-toggle:hover{background:var(--blue-soft,#edf5ff)}.capture-field-toggle:focus-visible,.capture-empty-fields-toggle:focus-visible,.capture-field-summary:focus-visible{outline-offset:2px;outline:3px solid #1677ff33}.capture-field-editor,.capture-field-summary-row{border-bottom:1px solid #eef0f4;min-width:0;padding:10px 0}.capture-field-editor:last-child,.capture-field-summary-row:last-child{border-bottom:0}.capture-field-editor>label{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.capture-field-editor>div{align-items:flex-start;gap:8px;min-width:0;margin-top:6px;display:flex}.capture-field-editor input,.capture-field-editor select,.capture-field-editor textarea{background:#fff;border:1px solid #d4dae4;border-radius:8px;flex:auto;width:100%;min-width:0;min-height:40px;padding:8px 10px}.capture-field-editor textarea{min-height:64px}.capture-field-summary{width:100%;min-width:0;min-height:44px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 9px;padding:9px 8px;display:flex}.capture-field-summary:hover{background:#f8fbff;border-color:#dbe6f5}.capture-field-summary-label{flex:none}.capture-field-summary-value{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:9rem;min-width:6rem;display:-webkit-box;overflow:hidden}.capture-field-summary-source{border-radius:4px;flex:none;padding:2px 5px;font-size:11px;line-height:1.4}.capture-field-summary-action{flex:none;padding-left:3px}@media (max-width:560px){.capture-detail-page{gap:16px;padding:16px 12px 48px}.capture-field-card{padding:12px}.capture-field-card-header{align-items:flex-start}.capture-field-card-header h2{padding-top:8px}.capture-field-summary{align-items:flex-start}.capture-field-summary-value{flex-basis:calc(100% - 4.5rem);min-width:0}.capture-field-summary-action{margin-left:auto}}
