:root{--bg-start:#e7f4ff;--bg-end:#fff;--glass:hsla(0,0%,100%,.62);--glass-strong:hsla(0,0%,100%,.8);--line:rgba(15,22,36,.12);--text:#111827;--muted:#596478;--brand:#005eb8;--btn-secondary-bg:hsla(0,0%,100%,.82);--btn-secondary-border:rgba(15,22,36,.12);--btn-secondary-text:#0f172a;--brand-weak-bg:rgba(0,94,184,.12);--brand-weak-border:rgba(0,94,184,.28);--brand-weak-text:#004f9a;--danger:#bf123c;--danger-soft-bg:#ffe5eb;--danger-soft-border:#f8bfd0;--radius:16px;--shadow:0 12px 30px rgba(9,20,38,.08);--badge-bg:hsla(0,0%,100%,.66);--image-placeholder:#eef1f6;--text-strong:#0f172a;--fact-bg:hsla(0,0%,100%,.68);--icon-brand:#0b69c4;--terms-label:#1d4e89;--term-chip-border:rgba(0,94,184,.28);--term-chip-bg:linear-gradient(135deg,rgba(0,94,184,.14),rgba(59,130,246,.18));--term-chip-text:#053f77;--term-chip-shadow:0 3px 10px rgba(0,94,184,.12);--thumb-active-border:rgba(0,94,184,.5);--gallery-arrow-border:hsla(0,0%,100%,.54);--gallery-arrow-bg:rgba(18,30,52,.44);--gallery-arrow-text:#fff;--fact-box-bg:hsla(0,0%,100%,.58);--terms-panel-border:rgba(0,94,184,.24);--terms-panel-bg:linear-gradient(150deg,rgba(233,246,255,.9),hsla(0,0%,100%,.92));--terms-highlight-text:#0a4f8f;--terms-highlight-bg:rgba(0,94,184,.14);--terms-highlight-border:rgba(0,94,184,.26);--detail-term-border:rgba(0,94,184,.26);--detail-term-bg:hsla(0,0%,100%,.88);--detail-term-label:#38506a;--detail-term-rent:#0a4d8c;--map-overlay-bg:hsla(0,0%,100%,.92);--map-overlay-item-bg:hsla(0,0%,100%,.86);--chip-bg:hsla(0,0%,100%,.72);--suggest-bg:#fff;--suggest-hover-bg:#f4f7fb;--filter-accent-border:rgba(0,94,184,.18);--filter-label-color:#1f2937;--filter-chip-bg:hsla(0,0%,100%,.7);--filter-chip-active-bg:rgba(0,94,184,.14);--filter-chip-active-border:rgba(0,94,184,.28);--filter-chip-active-text:#044a89;--filter-slider-bg:hsla(0,0%,100%,.62);--filter-slider-value-color:#334155;--clear-btn-bg:#fff;--clear-btn-text:#475569;--tab-bg:hsla(0,0%,100%,.6);--check-bg:hsla(0,0%,100%,.52);--upload-bg:hsla(0,0%,100%,.56);--alert-error-bg:#ffe8ec;--alert-error-text:#a20f34;--alert-error-border:#ffbdcb;--alert-success-bg:#e8ffef;--alert-success-text:#0d6e3d;--alert-success-border:#b4f3cc}:root[data-theme=dark]{--bg-start:#0a1322;--bg-end:#0f1b2f;--glass:rgba(20,30,48,.68);--glass-strong:rgba(18,28,46,.9);--line:rgba(148,163,184,.22);--text:#e7edf8;--muted:#9aabc6;--brand:#4da3ff;--btn-secondary-bg:rgba(77,163,255,.24);--btn-secondary-border:rgba(124,191,255,.42);--btn-secondary-text:#edf6ff;--brand-weak-bg:rgba(77,163,255,.2);--brand-weak-border:rgba(77,163,255,.36);--brand-weak-text:#b6d8ff;--danger:#fb7185;--danger-soft-bg:rgba(251,113,133,.18);--danger-soft-border:rgba(251,113,133,.3);--shadow:0 16px 36px rgba(0,0,0,.34);--badge-bg:rgba(14,23,39,.78);--image-placeholder:#18243a;--text-strong:#f3f6ff;--fact-bg:rgba(22,34,54,.82);--icon-brand:#87c5ff;--terms-label:#9fd0ff;--term-chip-border:rgba(107,179,255,.36);--term-chip-bg:linear-gradient(135deg,rgba(77,163,255,.24),rgba(96,165,250,.3));--term-chip-text:#e2efff;--term-chip-shadow:0 4px 14px rgba(0,0,0,.32);--thumb-active-border:rgba(129,192,255,.72);--gallery-arrow-border:rgba(186,205,236,.36);--gallery-arrow-bg:rgba(7,12,22,.66);--gallery-arrow-text:#ecf3ff;--fact-box-bg:rgba(22,34,54,.78);--terms-panel-border:rgba(110,182,255,.3);--terms-panel-bg:linear-gradient(150deg,rgba(20,35,58,.9),rgba(16,28,46,.94));--terms-highlight-text:#c2e2ff;--terms-highlight-bg:rgba(77,163,255,.2);--terms-highlight-border:rgba(110,182,255,.38);--detail-term-border:rgba(110,182,255,.34);--detail-term-bg:rgba(19,31,50,.9);--detail-term-label:#b5c9e6;--detail-term-rent:#dcebff;--map-overlay-bg:rgba(10,17,29,.92);--map-overlay-item-bg:rgba(16,27,44,.88);--chip-bg:rgba(21,33,53,.86);--suggest-bg:rgba(16,26,42,.95);--suggest-hover-bg:rgba(35,54,83,.96);--filter-accent-border:rgba(110,182,255,.3);--filter-label-color:#d3def0;--filter-chip-bg:rgba(19,31,49,.88);--filter-chip-active-bg:rgba(77,163,255,.25);--filter-chip-active-border:rgba(110,182,255,.44);--filter-chip-active-text:#dff0ff;--filter-slider-bg:rgba(19,31,49,.84);--filter-slider-value-color:#c1d2ea;--clear-btn-bg:rgba(19,31,49,.92);--clear-btn-text:#c5d5eb;--tab-bg:rgba(19,31,49,.82);--check-bg:rgba(19,31,49,.78);--upload-bg:rgba(19,31,49,.78);--alert-error-bg:rgba(146,22,47,.34);--alert-error-text:#ffd7df;--alert-error-border:rgba(251,113,133,.38);--alert-success-bg:rgba(17,94,64,.34);--alert-success-text:#d0ffe8;--alert-success-border:rgba(54,211,153,.38)}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text);background:linear-gradient(145deg,var(--bg-start),var(--bg-end));min-height:100%;overflow-x:hidden}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}a{color:inherit;text-decoration:none}.app-shell{max-width:1200px;margin:0 auto;min-height:100vh;padding:18px 14px 40px}.topbar{display:grid;grid-gap:10px;gap:10px;margin-bottom:14px}.topbar-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar-actions{display:inline-flex;align-items:center;gap:8px}.brand-logo{height:auto;width:168px}.brand-logo-dark,html[data-theme=dark] .brand-logo-light{display:none}html[data-theme=dark] .brand-logo-dark{display:inline-block}.navlinks{display:flex;gap:8px;flex-wrap:nowrap;align-items:center}.navlinks a{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:8px 12px;font-size:14px;font-weight:600;white-space:nowrap}.navlinks .nav-upload{border-color:var(--brand-weak-border)}.navlinks .nav-upload,.topbar-upload{background:var(--brand-weak-bg);color:var(--brand-weak-text)}.topbar-upload{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand-weak-border);border-radius:999px;padding:8px 12px;font-size:14px;font-weight:700;white-space:nowrap}.nav-upload-mobile{display:none}.nav-login{background:var(--brand);border-radius:999px;padding:8px 12px;border:1px solid transparent;color:#fff;font-size:14px;font-weight:700;white-space:nowrap}.nav-label-short{display:none}.theme-toggle{border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:8px 13px;font-size:14px;font-weight:700;color:var(--btn-secondary-text);cursor:pointer}.theme-icon-toggle{width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center}.theme-icon{width:18px;height:18px}.content{display:block}.card{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel{padding:14px}.grid{display:grid;grid-gap:12px;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.listings{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));grid-gap:14px;gap:14px}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border-radius:12px;border:1px solid var(--line);background:var(--glass-strong);padding:10px 12px}textarea{min-height:110px;resize:vertical}.btn{border:1px solid transparent;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700}.btn-primary{background:var(--brand);color:#fff}.btn-secondary{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn-danger{background:var(--danger-soft-bg);color:var(--danger);border-color:var(--danger-soft-border)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;background:var(--badge-bg);border:1px solid var(--line)}.row,.row-space{display:flex;gap:10px;align-items:center}.row-space{justify-content:space-between}.muted{color:var(--muted)}.hero-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;background:var(--image-placeholder)}.listing-card{min-width:0;transition:transform .16s ease,box-shadow .16s ease}.listing-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(9,20,38,.12)}.listing-image{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:12px;background:var(--image-placeholder)}.listing-title{font-size:20px;line-height:1.2;letter-spacing:-.01em}.listing-subtitle{font-size:14px}.listing-price{font-size:24px;letter-spacing:-.02em;font-weight:800;color:var(--text-strong)}.listing-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.listing-fact{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:10px;background:var(--fact-bg);padding:7px 9px;min-width:0}.fact-icon{width:16px;height:16px;color:var(--icon-brand);flex:0 0 auto}.listing-terms{display:flex;flex-wrap:wrap;gap:7px}.listing-terms-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--terms-label)}.term-chip{border-radius:999px;border:1px solid var(--term-chip-border);background:var(--term-chip-bg);color:var(--term-chip-text);font-size:12px;font-weight:700;padding:6px 10px;box-shadow:var(--term-chip-shadow)}.detail-page,.detail-page .card{min-width:0}.detail-main-image-wrap{position:relative}.detail-main-image{width:100%;max-width:100%;height:auto;max-height:min(72vh,680px);object-fit:contain;border-radius:12px;background:var(--image-placeholder)}.detail-main-image-empty{min-height:280px}.detail-thumb-row{padding-bottom:4px}.detail-thumb-image{width:108px;height:76px;object-fit:cover;border-radius:10px;background:var(--image-placeholder);border:2px solid transparent}.detail-thumb-image.active{border-color:var(--thumb-active-border)}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border-radius:999px;border:1px solid var(--gallery-arrow-border);background:var(--gallery-arrow-bg);color:var(--gallery-arrow-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gallery-arrow.left{left:12px}.gallery-arrow.right{right:12px}.gallery-arrow-icon{width:18px;height:18px}.description-text{overflow-wrap:anywhere;word-break:break-word}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.fact-box{border:1px solid var(--line);border-radius:12px;background:var(--fact-box-bg);padding:12px;text-align:center}.details-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.details-fact-box{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:96px;font-weight:700}.fact-icon-lg{width:24px;height:24px;color:var(--icon-brand)}.terms-panel{border-color:var(--terms-panel-border);background:var(--terms-panel-bg)}.terms-highlight{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--terms-highlight-text);background:var(--terms-highlight-bg);border:1px solid var(--terms-highlight-border)}.detail-terms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px}.detail-term-tile{border:1px solid var(--detail-term-border);border-radius:12px;padding:10px 12px;background:var(--detail-term-bg)}.detail-term-label{font-size:13px;font-weight:700;color:var(--detail-term-label)}.detail-term-rent{margin-top:4px;font-size:20px;font-weight:800;color:var(--detail-term-rent);letter-spacing:-.01em}.map-page{width:100vw;margin-left:calc(50% - 50vw);padding:0 14px}.map-page,.map-screen{min-height:calc(100vh - 170px)}.map-stage{position:relative;width:100%}.map-canvas-shell{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);background:var(--glass-strong);isolation:isolate}.map-canvas-shell:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;border:1px solid hsla(0,0%,100%,.18)}.map-canvas{display:block;width:100%;height:calc(100vh - 190px);min-height:560px;background:#dbe6f5;backdrop-filter:none;-webkit-backdrop-filter:none}.map-overlay-panel{position:absolute;left:16px;right:auto;bottom:16px;width:min(760px,calc(100% - 32px));max-height:min(46vh,430px);overflow:hidden;background:var(--map-overlay-bg);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 36px rgba(0,0,0,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px;display:grid;grid-gap:10px;gap:10px;z-index:4}.map-overlay-list{display:flex;overflow-x:auto;gap:10px;padding-bottom:2px}.map-overlay-item{flex:0 0 min(300px,75vw);border:1px solid var(--line);border-radius:14px;background:var(--map-overlay-item-bg);padding:12px}.map-overlay-item-link{display:block;color:inherit;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.map-overlay-item-link:hover{transform:translateY(-1px);border-color:var(--thumb-active-border);box-shadow:0 10px 22px rgba(0,0,0,.12)}.map-overlay-title{font-size:20px;line-height:1.15;letter-spacing:-.01em}.map-overlay-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.map-overlay-meta{flex:0 0 auto}.map-overlay-item-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-overlay-item-facts{margin-top:4px}.map-overlay-item-price{margin-top:8px;font-size:18px;font-weight:800;letter-spacing:-.01em}.map-overlay-item-terms{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.map-overlay-term-chip{font-size:11px;padding:5px 9px}.map-overlay-close{padding:6px 10px;border-radius:10px;font-size:13px}.map-project-listings{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border-radius:999px;background:var(--chip-bg);padding:6px 10px;font-size:13px}.chip,.suggestion-list{border:1px solid var(--line)}.suggestion-list{margin-top:6px;border-radius:10px;overflow:hidden;background:var(--suggest-bg)}.suggestion-item{width:100%;text-align:left;border:0;padding:8px 10px;background:var(--suggest-bg);color:var(--text);cursor:pointer}.suggestion-item:hover{background:var(--suggest-hover-bg)}.filter-shell{border-color:var(--filter-accent-border)}.filter-header{margin-bottom:10px}.filter-toolbar-actions{justify-content:flex-end}.filter-toolbar-actions .btn-secondary{font-weight:800}.browse-header-row{align-items:center;flex-wrap:nowrap}.btn-reset-inline{padding:8px 10px;font-size:13px}.filter-section{margin-top:6px}.filter-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--filter-label-color)}.filter-chip-group{display:flex;flex-wrap:wrap;gap:8px}.filter-chip-btn{border:1px solid var(--line);background:var(--filter-chip-bg);border-radius:999px;padding:7px 11px;font-size:13px;font-weight:700;cursor:pointer}.filter-chip-btn.active{background:var(--filter-chip-active-bg);border-color:var(--filter-chip-active-border);color:var(--filter-chip-active-text)}.filter-sliders{margin-top:12px}.filter-slider-box{border:1px solid var(--line);border-radius:12px;background:var(--filter-slider-bg);padding:10px 12px}.filter-slider-value{margin-top:6px;color:var(--filter-slider-value-color);font-weight:700}.filter-search-grid{margin-top:12px}.filter-actions-row{margin-top:14px;justify-content:flex-end}.filter-input-wrap{position:relative}.filter-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:1px solid var(--line);border-radius:999px;background:var(--clear-btn-bg);font-size:15px;line-height:1;cursor:pointer;color:var(--clear-btn-text)}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tab-btn{border:1px solid var(--line);background:var(--tab-bg);border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}.tab-btn.active{background:var(--brand);border-color:transparent;color:#fff}.check-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--check-bg)}.check-row input{width:auto;margin:0}.upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-gap:10px;gap:10px}.upload-tile{border:1px solid var(--line);border-radius:12px;background:var(--upload-bg);padding:8px}.upload-tile img{width:100%;height:100px;object-fit:cover;border-radius:10px;margin-bottom:8px}.table{width:100%;border-collapse:collapse}.table td,.table th{border-bottom:1px solid var(--line);text-align:left;padding:8px 6px;vertical-align:top}.alert{border-radius:12px;padding:10px 12px;font-size:14px}.alert-error{background:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border)}.alert-success{background:var(--alert-success-bg);color:var(--alert-success-text);border:1px solid var(--alert-success-border)}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.topbar{gap:12px}.brand{display:inline-flex;align-self:flex-start}.topbar-main{align-items:flex-start}.navlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%}.navlinks a,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-align:center;white-space:nowrap}.topbar-upload{display:none}.nav-upload-mobile{display:inline-flex}.browse-header-row .filter-toolbar-actions{width:auto;justify-content:flex-end;gap:10px;flex-wrap:nowrap}.browse-header-row .filter-toolbar-actions .btn{display:inline-flex;align-items:center;flex:0 0 auto;justify-content:center;white-space:nowrap;min-height:40px;padding:8px 10px;font-size:13px}.listings{grid-template-columns:1fr}.listing-image{aspect-ratio:16/5.6}.listing-facts{grid-template-columns:1fr}.details-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.map-page,.map-screen{min-height:auto}.map-overlay-panel{left:10px;right:10px;bottom:10px;width:auto;max-height:54vh;padding:10px}.map-overlay-header{flex-wrap:wrap;align-items:flex-start}.map-overlay-title{font-size:18px}.map-overlay-item{flex-basis:min(280px,86vw)}.map-overlay-item-price{font-size:17px}.map-canvas{height:calc(100dvh - 250px);min-height:320px}}@media (max-width:520px){.brand-logo{width:154px}.topbar-main{align-items:center}.topbar-actions .nav-login{padding:7px 10px;font-size:13px}.navlinks{grid-template-columns:1fr}.browse-header-row strong{font-size:16px;white-space:nowrap}.browse-header-row .filter-toolbar-actions .btn{min-height:38px;padding:7px 9px;font-size:12px}.theme-icon-toggle{width:38px;height:38px}.topbar-main{gap:8px}.listing-image{aspect-ratio:16/5}}