:root{--ink:#153d47;--teal:#087f80;--line:#d4e2df;--sand:#f7f5ed}*{box-sizing:border-box}body{margin:0;background:#fbfcfa;color:var(--ink);font:15px/1.5 Arial,sans-serif}a{color:var(--teal);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.btn{cursor:pointer}header{max-width:1280px;margin:auto;display:flex;align-items:center;gap:20px;padding:20px 30px;flex-wrap:wrap}.logo{background:#124d56;border-radius:12px;padding:12px 16px;display:flex;align-items:center}.logo img{width:220px;height:auto}nav{display:flex;gap:20px;flex:1;flex-wrap:wrap}header form{margin:0}button,.btn{border:1px solid var(--teal);border-radius:10px;padding:8px 14px;background:white;color:var(--teal);display:inline-block;text-decoration:none;font-weight:600}.btn{background:var(--teal);color:white}main{max-width:1220px;padding:20px 30px 40px;margin:auto}h1{font-size:28px;line-height:1.2;letter-spacing:-1px}h2{font-size:22px;line-height:1.3}h3{font-size:18px;line-height:1.35;margin:10px 0}.hero{background:linear-gradient(90deg,#103b48ed,#103b4870),url('coast.jpg') center/cover;color:white;border-radius:20px;padding:60px 48px}.hero h1{font-size:38px;max-width:850px}.hero p{font-size:17px;max-width:750px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin:0 0 14px}.narrow{max-width:630px;margin:20px auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:26px}.heading h1,.heading h2{margin:10px 0}.eyebrow{font-weight:bold;color:var(--teal)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}label{display:block;font-weight:600;margin:0 0 14px}input,textarea,select{width:100%;display:block;border:1px solid #9bb4b6;background:#fff;color:var(--ink);padding:9px 10px;border-radius:8px;margin-top:5px}textarea{resize:vertical;font-weight:400}.notice{background:#e2f1da;border:1px solid #c5dcb6;padding:18px;border-radius:12px}.errors{background:#fff0e8;border:1px solid #e1bba7;border-radius:12px;padding:14px;margin-bottom:24px}.muted{color:#526b70}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats .panel{background:#e5f3f4}.stats .panel:nth-child(2){background:#edf1df}.stats strong{font-size:24px;display:block}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:18px;font-weight:600}.cover-preview{max-width:320px;width:100%;border-radius:12px}.search{margin-top:24px;background:#e5f3f4}.search form{display:flex;gap:22px;align-items:end}.search label{flex:1;margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.property-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:18px}.property-card img{width:100%;height:235px;object-fit:cover;display:block}.property-card>div{padding:18px}.property-card h3 a{text-decoration:none;color:var(--ink)}.badge{background:#eef1da;border-radius:8px;padding:6px 10px;width:fit-content;margin:0}.price{font-size:22px;font-weight:700}.property-cover{width:100%;max-height:550px;object-fit:cover;border-radius:14px}.description{white-space:normal}footer{max-width:1220px;margin:0 auto 24px;background:#124d56;border-radius:20px;color:white;padding:30px 36px}footer>img{width:240px;height:auto}footer div{display:flex;gap:22px;flex-wrap:wrap;margin:20px 0}footer a{color:white}footer .muted{color:#d5e5e1}footer p{font-size:14px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d0ab4e;outline-offset:4px}@media(max-width:950px){.cards{grid-template-columns:1fr 1fr}header{gap:14px}}@media(max-width:650px){body{font-size:15px}header{padding:16px}.logo img{width:180px}nav{order:4;width:100%;flex:auto}main{padding:12px 16px 30px}.hero{padding:28px 24px}.hero h1{font-size:30px}.hero p{font-size:16px}h1{font-size:26px}.form-grid,.cards,.stats{grid-template-columns:1fr}.panel{padding:16px}.search form{display:block}.search label{margin-bottom:18px}.search button{width:100%}footer{margin:0 12px 16px;padding:26px 24px}.property-card img{height:250px}}
[hidden]{display:none!important}.admin-links{padding:12px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.photo-tile{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--sand)}.photo-tile img{width:100%;height:160px;object-fit:cover;border-radius:8px}.photo-tile p{margin:6px 0}.photo-controls{display:flex;gap:5px;flex-wrap:wrap}.photo-controls button{font-size:13px;padding:7px}#photo-drop{border:2px dashed var(--teal);border-radius:12px;padding:30px;text-align:center;cursor:pointer}#photo-drop.drag-over{background:#e5f3f4}.development-summary{background:#f0f6f4;border-radius:10px;padding:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{width:100%;height:210px;object-fit:cover;border-radius:10px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:650px){.photo-grid{grid-template-columns:1fr 1fr}.gallery,.review-grid{grid-template-columns:1fr}.photo-tile img{height:120px}.photo-controls button{font-size:12px}}
.compact-checkbox{width:auto;display:inline-block;margin-right:8px}.development-summary p{margin:6px 0}
.editor-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:start}.editor-steps{position:sticky;top:20px;display:flex;flex-direction:column;gap:8px}.editor-steps button{text-align:left;font-size:14px;font-weight:400;border-color:var(--line)}.editor-steps button[aria-current=step]{background:#e5f3f4;border-color:var(--teal);font-weight:700}.editor-content{min-width:0}.editor-content .form-grid{gap:12px 20px}.editor-content h2{font-size:22px}.wizard-controls{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:16px;display:flex;justify-content:flex-end;gap:12px;z-index:2}.show-all{margin:12px 0 20px;font-size:14px}progress{width:100%;height:10px;accent-color:var(--teal)}.feature-chips{display:flex;gap:10px;flex-wrap:wrap}.feature-chip{border-radius:24px;font-size:14px;font-weight:400;padding:8px 14px}.feature-chip[aria-pressed=true]{background:#e5f3f4;border-color:var(--teal);font-weight:700}dialog{width:min(760px,94vw);max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:28px;color:var(--ink)}dialog::backdrop{background:#122e3a80}.dialog-actions{position:sticky;bottom:-28px;background:white;border-top:1px solid var(--line);padding:16px 0;display:flex;justify-content:flex-end;gap:12px}.feature-category{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.feature-category label{font-size:14px}.search-hidden{display:none!important}.preview-description{white-space:pre-wrap}#listing-preview{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}@media(max-width:850px){.editor-shell{grid-template-columns:1fr}.editor-steps{position:static;display:flex;flex-direction:row;flex-wrap:nowrap;overflow:auto;padding-bottom:12px}.editor-steps button{min-width:145px}.wizard-controls{justify-content:space-between;gap:6px;padding:10px 0}.wizard-controls button{font-size:14px;padding:10px}.editor-content .panel{padding:20px}dialog{padding:20px}}
.editor-steps{order:0;flex:none}

.research-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.research-tabs a{border:1px solid var(--line);border-radius:8px;padding:10px;text-decoration:none}.research-tabs .active{background:var(--teal);color:white}.research-flag{display:inline-block;padding:3px 8px;background:#fff0e8;border-radius:6px}small{font-size:14px}.table-wrap input{min-width:120px}
.catalog-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.catalog-gallery article{min-width:0;padding:14px}.catalog-gallery input[type=checkbox]{width:auto}.catalog-gallery input{max-width:100%}
.catalog-gallery img{display:block;width:100%;max-width:100%;height:180px;object-fit:contain}.catalog-fieldset{min-width:0;margin:0;border:0;padding:0}.catalog-fieldset input[type=file]{max-width:100%}

/* Compact readable forms; 16px mobile controls avoid automatic input zoom. */
input,select,button,.btn{min-height:40px}input[type=checkbox],input[type=radio]{min-height:18px;width:auto}nav{font-size:14px}small{font-size:13px}@media(max-width:650px){input,select,textarea{font-size:16px}button,.btn{min-height:44px}}
