.search input{padding-left:14px}.filters select{padding-left:12px}.filters label{font-size:0}.categories button{font-size:22px}.categories span{font-size:12px}.brand{color:#101f3e}#session{border:0;background:#f3f6fa;font-size:12px}.muted{color:#63748a;font-size:13px}.panel{background:#fff;margin:12px 0;max-width:760px}.panel h2{font-size:17px}.panel p{font-size:13px}.panel label{font-size:13px}.panel input,.panel select{width:100%}.panel .check input{width:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pill{display:inline-block;border-radius:20px;background:#edf3ff;color:#1557ac;padding:5px 9px;font-size:11px;margin:3px}.warn{background:#fff5df;color:#76520b}.danger{color:#a12828}.review{border-left:3px solid #2162d0}.review textarea{width:100%;min-height:75px;border:1px solid #cbd5e1;border-radius:9px;padding:10px;font:inherit}.review button{font-size:12px;margin:5px}.review label{display:flex;align-items:center;gap:7px;margin:8px 0}.review input[type=checkbox]{width:auto}.login-tabs{display:flex;gap:8px}.audit{font-size:12px;padding:10px;border-bottom:1px solid #e3e8ef}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:82px;z-index:2000;background:#102540;color:white;border-radius:12px;padding:12px 18px;max-width:90%;font-size:13px;box-shadow:0 4px 22px #0002}#toast:empty{display:none}#map-message{position:absolute;top:58px;left:12px;z-index:500;background:#fffffff0;border-radius:8px;font-size:12px;padding:6px;max-width:75%}#map-message:empty{display:none}.compact{display:grid}.compact h2{margin-right:26px}.compact .close-card{position:absolute;right:7px;top:8px;border:0;min-height:30px;padding:3px 8px}.compact .primary{font-size:11px;min-height:30px;padding:5px 10px}.compact .card-body{display:block}.geo-price{display:block;text-align:center}.map-note{max-width:72%}#detail .contact{border:1px solid #cbd9ee;border-radius:14px;padding:16px;background:#f7faff}#detail label{margin:12px 0;font-size:13px}#detail button{margin:4px}#saved-searches button{font-size:12px;margin:5px}nav button{font-size:22px}.page:not(#explore){padding-bottom:30px}.status-line{font-size:12px;color:#52657c}#mine .actions{gap:6px}#mine .actions button{font-size:12px}.grid .card img{height:160px}details{margin:10px 0}summary{cursor:pointer;color:#1557ac}.demo-access{border:1px dashed #c6d2e4;padding:12px;border-radius:10px;font-size:12px}@media(max-width:360px){.form-grid{grid-template-columns:1fr}.brand{font-size:17px}.compact img{width:72px}.compact{grid-template-columns:72px 1fr}}
.notice{background:#e2ecff;color:#48638c}
header{background:linear-gradient(112deg,#e7f1ff 0%,#f1f7ff 50%,#e8f6f3 100%);border-bottom-color:#d9e7f7}
.brand svg{filter:drop-shadow(0 3px 5px #1a67d525)}
#session{background:#ffffffb8;color:#245fa8;border:1px solid #cee0f7;box-shadow:0 2px 8px #3066a00b}
#explore{background:linear-gradient(135deg,#edf4ff,#f2f9f7)}
.search input{background:#ffffffdd;border-color:#cbddf4;box-shadow:0 2px 8px #2767af08}
.categories button{position:relative;border:1px solid var(--tile-border);background:var(--tile-bg);box-shadow:0 2px 5px #20456c08;color:var(--tile-ink);gap:1px;padding:3px 4px;transition:box-shadow .15s,transform .15s}
.categories button:nth-child(1){--tile-bg:#dfedff;--tile-border:#b9d5fb;--tile-ink:#174f9d;--tile-accent:#226bd6}
.categories button:nth-child(2){--tile-bg:#dbf4e9;--tile-border:#b2e5d1;--tile-ink:#176a58;--tile-accent:#138668}
.categories button:nth-child(3){--tile-bg:#eee5ff;--tile-border:#d8c5f6;--tile-ink:#65439d;--tile-accent:#8455c9}
.categories button:nth-child(4){--tile-bg:#fff0dd;--tile-border:#f2d2aa;--tile-ink:#8b571e;--tile-accent:#b67327}
.categories button svg.category-art{height:36px;width:36px;filter:drop-shadow(0 2px 2px #234a7420)}
.categories button span{color:var(--tile-ink);font-weight:600}
.categories button.active{background:var(--tile-bg)!important;color:var(--tile-ink)!important;border:2px solid var(--tile-accent);box-shadow:0 3px 9px #2464a51b}
.categories button.active span{color:var(--tile-ink)}
.categories button.active:after{content:'';position:absolute;bottom:2px;width:16px;height:3px;left:calc(50% - 8px);border-radius:5px;background:var(--tile-accent)}
.categories button:hover{box-shadow:0 4px 12px #20456c20}
.filters select{background:#ffffffda;border-color:#cee0f2;color:#294d74}
nav{background:linear-gradient(100deg,#f1f6ff,#f4f9ff 55%,#eff8f4);border-top-color:#dce7f5}
nav button{background:transparent;color:#566982}
nav button>svg{padding:4px;box-sizing:content-box;border-radius:10px;width:20px;height:20px}
nav button:nth-child(1)>svg{color:#286fd7;background:#deebff}
nav button:nth-child(2)>svg{color:#d86f80;background:#ffe5eb;fill:#ffb9c82b}
nav button:nth-child(4)>svg{color:#8459bf;background:#eee5fc}
nav button:nth-child(5)>svg{color:#178b76;background:#dbf1e9}
nav button.active{background:transparent!important}
nav b{background:linear-gradient(145deg,#4297ff,#1456ce);box-shadow:0 4px 10px #1b62cc38;border:2px solid #f2f7ff}
.map-switch{border:1px solid #d5e2f3}.map-switch .active{background:linear-gradient(135deg,#3387ed,#1558cb)!important}
.geo-price{background:#26435e;border-color:#f8fbff}.geo-price.chosen{background:#1767d8}
.panel{background:linear-gradient(140deg,#fff,#f7faff);border-color:#d7e3f2}
.page:not(#explore){background:linear-gradient(145deg,#eff5ff,#f6faf8);border-radius:18px}
@media(min-width:760px){.categories button svg.category-art{height:30px;width:30px}.categories button{gap:0}}
@media(max-width:759px) and (max-height:620px){.categories button svg.category-art{height:29px;width:29px}.categories button{padding:3px}}
@media(prefers-reduced-motion:reduce){.categories button{transition:none}}
/* Larger illustrations, tighter chrome: spend vertical space on the map. */
.categories button svg.category-art{width:44px;height:44px;filter:drop-shadow(0 3px 3px #234a742b)}
.categories button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;height:72px;padding:2px 3px 5px;border-radius:14px;min-width:0}
.categories button span{font-size:12px;line-height:16px;white-space:nowrap}
.categories button.active:after{bottom:1px;height:3px;width:22px;left:calc(50% - 11px)}
nav button{min-width:44px;min-height:48px;gap:2px;padding:2px;line-height:1}
nav button>svg{width:24px;height:24px;padding:3px;border-radius:10px}
nav b{width:44px;height:44px;margin-top:-11px}nav b svg{width:27px;height:27px}
.map-switch button{min-height:44px;padding:8px 10px}
.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}
.compact .close-card{width:44px;min-height:44px;top:1px;right:1px;font-size:24px}
.compact h2{margin-right:34px}.compact .primary{min-height:44px;padding:8px 12px}
@media(max-width:999px){
 .notice{padding:2px 6px;font-size:9px;line-height:12px}
 header{padding:7px 12px;gap:8px;min-height:48px}
 .brand{font-size:18px;gap:8px}.brand svg{width:32px;height:32px}.brand small{font-size:9px;margin-top:2px;line-height:12px}
 #session{min-height:44px;padding:6px 10px;font-size:11px;white-space:nowrap}
 .search{margin:5px 12px 5px;align-self:stretch}.search input{height:44px;min-height:44px;font-size:15px}.search button{min-height:44px;width:44px;top:0;right:0}
 .categories{margin:0 12px 5px;gap:8px;align-self:stretch}
 .filters{margin:0 12px 6px;gap:8px;align-self:stretch}.filters select{height:44px;min-height:44px;font-size:13px;padding-top:8px;padding-bottom:8px}
 nav{padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom));min-height:56px}nav span{font-size:10px;line-height:12px}
 .list-mode .filters #view{min-height:44px}
}
@media(min-width:1000px){
 #explore:not([hidden]){grid-template-rows:82px minmax(0,1fr)}
 .categories button{height:72px;flex-direction:row;gap:5px}.categories button svg.category-art{width:44px;height:44px}.categories button span{font-size:12px}
}
@media(max-width:360px){.brand{font-size:16px}.brand small{font-size:8px}.categories{gap:6px}.categories button{height:68px}.categories button svg.category-art{width:42px;height:42px}.categories button span{font-size:11px}}
@media(max-height:620px) and (max-width:759px){.brand small{display:none}.categories button{height:64px;flex-direction:column;gap:0}.categories button svg.category-art{height:40px;width:40px}.categories button span{font-size:11px;line-height:15px}.search{margin-top:4px;margin-bottom:4px}.categories{margin-bottom:4px}.filters{margin-bottom:4px}}
.panel textarea{width:100%;min-height:90px;border:1px solid #cbd8ea;border-radius:10px;padding:10px;font:inherit;color:#18304b;background:#fbfdff;resize:vertical}
.panel fieldset{border:1px solid #dae4f2;border-radius:12px;padding:12px;margin:12px 0}.panel legend{font-size:13px;color:#385777;padding:0 5px}
.panel details{border-top:1px solid #e1e9f3;padding-top:12px}.panel summary{font-weight:600;line-height:1.5;min-height:44px;padding:10px 0}
.file-link{display:block;padding:10px;border:1px solid #dbe5f3;border-radius:8px;margin:8px 0;font-size:12px;overflow-wrap:anywhere;color:#175da9}
.steps{display:flex;list-style:none;gap:5px;padding:0;margin:12px 0;flex-wrap:wrap}.steps li{flex:1;min-width:85px;padding:8px 6px;background:#edf1f7;border-radius:9px;font-size:11px;color:#66768a}.steps .done{background:#def4ea;color:#1d7057}
.sandbox-mail:empty{display:none}.sandbox-mail{background:#fff5df;border:1px dashed #dfbd79;padding:10px;font-size:12px;overflow-wrap:anywhere}
.admin-tabs{display:flex;gap:7px;overflow:auto;padding:8px 0 12px;position:sticky;top:0;background:#f0f6ff;z-index:2}.admin-tabs button{flex:none;font-size:12px;min-height:44px}
.revision-compare{background:#eff5ff;border-radius:10px;padding:10px;font-size:12px}.queue-summary{display:flex;flex-wrap:wrap;gap:4px}
.review img{display:block;border-radius:8px;max-width:100%;margin:10px 0}.review .actions{flex-wrap:wrap}.review .actions button{min-height:44px}
.account-action textarea,.reopen-form textarea{width:100%;min-height:75px}.audit{overflow-wrap:anywhere}.panel [data-form-error]:empty{display:none}
/* Dedicated registration page; scoped to preserve the approved map-first view. */
#register{max-width:1120px;margin:auto;padding:22px 14px 100px}.registration-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:24px}.registration-welcome{background:linear-gradient(145deg,#075cbd,#083c68);border-radius:24px;padding:32px;color:white}.registration-welcome h1{font-size:30px;line-height:1.3;color:white;margin:24px 0}.registration-welcome p{line-height:1.7}.registration-welcome small{display:block;line-height:1.7;margin-top:30px;color:#d6e9fc}.registration-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.4px}.registration-benefit{padding:15px 0;border-bottom:1px solid #ffffff30;font-size:14px}.registration-card{background:white;border:1px solid #e1e8f1;border-radius:24px;padding:26px}.registration-card h2{font-size:28px;margin:8px 0}.registration-card form{display:grid;gap:16px}.registration-card fieldset{border:1px solid #dce5ee;border-radius:14px;padding:14px;min-width:0}.registration-card legend{font-weight:700;padding:0 5px}.registration-card .registration-roles{border:0;padding:0}.registration-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.registration-card label.registration-role{position:relative;display:flex;align-items:center;gap:9px;border:1px solid #dce5ee;border-radius:13px;padding:12px 9px;min-height:76px;margin:0;cursor:pointer;background:#f9fbfe}.registration-role:has(input:checked){border-color:#1261cd!important;background:#ecf4ff!important;box-shadow:0 0 0 1px #1261cd}.registration-role input{width:18px;height:18px;flex:0 0 18px;accent-color:#1261cd}.registration-role strong{font-size:13px}.registration-role small{display:block;font-size:11px;color:#62748b;margin-top:4px}.registration-role-icon{font-size:24px;color:#1261cd;width:26px;text-align:center}.registration-link{border:0;background:none;color:#075dc4;padding:8px;text-decoration:underline;min-height:44px}.registration-warning{font-size:12px;line-height:1.6;background:#fff5db;padding:12px;border-radius:10px;color:#66501d}.registration-submit{width:100%;min-height:48px}.registration-chips{border-top:1px solid #e5ebf1;padding-top:12px}.registration-chips span{display:inline-block;background:#eaf3ff;color:#1555a0;border-radius:20px;padding:6px 10px;margin:3px;font-size:12px}#registration-broker{display:grid;gap:12px}#registration-broker[hidden]{display:none}.registration-card input:not([type=checkbox]){width:100%;min-width:0}.registration-card input[type=file]{font-size:12px}.registration-card .form-grid{min-width:0}.registration-card .danger:empty{display:none}
@media(max-width:760px){#register{padding:12px 10px 100px}.registration-layout{grid-template-columns:1fr;gap:12px}.registration-welcome{padding:20px;border-radius:18px}.registration-welcome h1{font-size:23px;margin:10px 0}.registration-welcome p{font-size:13px;margin:8px 0}.registration-benefit,.registration-welcome small{display:none}.registration-card{padding:17px;border-radius:18px}.registration-card h2{font-size:24px}.registration-card .form-grid{grid-template-columns:1fr}.registration-role-grid{gap:8px}.registration-role-icon{display:none}.registration-card label.registration-role{min-height:72px}.registration-role strong{font-size:12px}.registration-role small{font-size:10px}}
/* Mobile/foldable map preview: details stay in the existing accessible dialog. */
@media(max-width:999px){
 #selected{left:10px;right:10px;bottom:22px;pointer-events:none}
 #selected .compact{pointer-events:auto;position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;padding:10px 50px 10px 10px;min-height:82px;max-width:560px;margin:auto;border-radius:16px;border:1px solid #dbe6f3;box-shadow:0 4px 20px #17385524}
 #selected .compact img{width:58px;height:58px;border-radius:10px;object-fit:cover}
 #selected .compact .card-body{padding:0;min-width:0}
 #selected .compact h2{font-size:14px;line-height:18px;margin:0 0 4px;padding:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
 #selected .compact p,#selected .compact .badge{display:none}
 #selected .compact .price{font-size:20px;line-height:24px;margin:0}
 #selected .compact .actions{margin:0;display:block}
 #selected .compact .primary{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:16px;background:transparent!important;color:transparent!important;font-size:0;padding:0;z-index:1}
 #selected .compact .primary:focus-visible{outline:3px solid #1261cd;outline-offset:2px}
 #selected .compact .close-card{right:2px;top:19px;z-index:2;width:44px;height:44px;background:#f2f6fc;border-radius:12px;color:#50677f;font-size:23px}
 .leaflet-bottom.leaflet-right{bottom:120px}.recenter{bottom:220px}
}
