:root{--gold:#ad7c45;--black:#080808;--paper:#fff;--cream:#f5f1e9;--ink:#241f1a;--muted:#776e65;--line:#e7dfd4;--red:#ac453d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px system-ui,sans-serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}.site-header{min-height:92px;padding:10px 5%;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--black);color:#fff}.logo{height:72px;width:190px;object-fit:contain;object-position:left}.nav,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button,button{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.primary{background:var(--gold);border-color:var(--gold);color:#fff}.danger{color:var(--red)}.wrap{max-width:1220px;margin:auto;padding:38px 5%}.hero{padding:20px 0 28px}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}h1{margin:0 0 8px;font:700 clamp(30px,4vw,46px) Georgia,serif}h2{margin:0 0 15px}.sub,.meta{color:var(--muted)}.flash{padding:13px 16px;margin-bottom:20px;border-radius:10px;background:#e8f4ea}.flash.error{background:#f9e7e4;color:var(--red)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.toolbar input,.toolbar select,.field input,.field select{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.toolbar input{flex:1;min-width:220px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 18px #3e2c180d}.cover{height:210px;background:#17130f;display:grid;place-items:center;color:#b9956d}.cover img{width:100%;height:100%;object-fit:cover}.card-body{padding:17px}.card h3{margin:0 0 5px}.price{font:700 20px Georgia,serif}.status{display:inline-block;margin:9px 0;padding:5px 9px;border-radius:20px;background:#e6f3e9;color:#34704b;font-size:12px}.status.Baja{background:#f8e5e2;color:var(--red)}.adminbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.panel{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.full{grid-column:1/-1}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.photo{position:relative}.photo img{width:100%;height:120px;object-fit:cover;border-radius:9px}.photo form{position:absolute;right:5px;top:5px}.photo button{padding:4px 8px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.role{padding:4px 8px;border-radius:12px;background:#f0e7dc;font-size:12px}.login{max-width:430px;margin:7vh auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px}.login form{display:grid;gap:14px}.empty{padding:45px;text-align:center;color:var(--muted)}

/* Panel privado, alineado con el mockup original */
.private{background:#f5f1e9}.private .site-header{position:fixed;z-index:20;inset:0 auto 0 0;width:238px;height:100vh;padding:24px 18px 18px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#090909}.private .logo{width:176px;height:105px;margin:0 auto 20px}.side-links{display:grid;gap:4px}.side-links p{margin:8px 10px;color:#817870;font-size:10px;font-weight:800;letter-spacing:1.2px}.side-links a{min-height:43px;padding:0 11px;display:flex;align-items:center;gap:10px;border-radius:9px;color:#bcb3aa;font-size:13px;font-weight:650}.side-links a:hover,.side-links a.active{color:#fff;background:#1b1713;box-shadow:inset 3px 0 var(--gold)}.side-links b{margin-left:auto;padding:2px 7px;border-radius:12px;color:#d6b48c;background:#35291f;font-size:10px}.private .site-header>.nav{width:100%;margin-top:auto;padding-top:17px;border-top:1px solid #2b251f;display:grid}.private .nav span strong,.private .nav span small{display:block}.private .nav span strong{font-size:12px}.private .nav span small{margin-top:4px;color:#988f86;font-size:10px}.private .nav form,.private .nav button{width:100%}.private .nav button{margin-top:8px;color:#d4ccc4;border-color:#342d27;background:#171411}.private .wrap{max-width:none;min-height:100vh;margin-left:238px;padding:36px clamp(24px,4vw,52px) 60px}.private .adminbar{padding-bottom:2px}.private .adminbar h1{font:700 clamp(26px,3vw,34px) Georgia,serif}.private .tabs .button{background:#fff}.private .tabs .primary{color:#fff;background:#090909;border-color:#090909}.metrics{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:14px;margin:24px 0 20px}.metric{min-height:132px;padding:20px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 3px 12px #33241608}.metric small,.metric span{display:block;color:#8b8178;font-size:10px}.metric strong{display:block;margin:11px 0;font:700 28px Georgia,serif}.metric.featured{color:#fff;border-color:#090909;background:#090909}.metric.featured small,.metric.featured span{color:#bdb2a7}.private .panel{border-radius:13px;box-shadow:0 3px 13px #3021130a}.private .cards{display:block;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.private .card{display:grid;grid-template-columns:84px minmax(0,1fr);border:0;border-bottom:1px solid #eee8df;border-radius:0;box-shadow:none}.private .cover{height:84px;margin:13px;border-radius:9px}.private .card-body{min-width:0;padding:14px 16px 14px 0;display:grid;grid-template-columns:minmax(180px,1.4fr) .8fr .7fr .8fr auto;align-items:center;gap:15px}.private .card-body>small{display:none}.private .card-body h3{margin:0;font-size:13px}.private .card-body .meta{margin:4px 0;font-size:10px}.private .card-body .price{margin:0;font-size:14px}.private .card-body .status{justify-self:start;margin:0}.private .card-body>.actions{justify-content:flex-end}.private .card-body>.meta:last-of-type{grid-column:2}.small{padding:7px 10px;font-size:11px}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading p{color:var(--muted);font-size:11px}.check{display:flex;align-items:center;grid-template-columns:auto 1fr}.users-table th{color:#8d8379;background:#faf8f4;font-size:10px;letter-spacing:.5px}.users-table td{font-size:12px}.users-table form{margin:0}
@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.private .card-body{grid-template-columns:1fr 1fr}.private .card-body>.meta:last-of-type{grid-column:auto}.private .card-body>.actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:850px){.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.full{grid-column:auto}}
@media(max-width:760px){.private .site-header{position:static;width:100%;height:auto;min-height:82px;flex-direction:row;align-items:center;padding:9px 16px}.private .logo{width:145px;height:62px;margin:0}.side-links{display:none}.private .site-header>.nav{width:auto;margin:0 0 0 auto;padding:0;border:0;display:flex}.private .nav form,.private .nav button{width:auto}.private .nav button{margin:0}.private .wrap{margin-left:0;padding:25px 16px 50px}.metrics{grid-template-columns:1fr 1fr}.private .card-body{grid-template-columns:1fr}.private .card-body>.actions{grid-column:auto}.adminbar{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.site-header{min-height:82px}.logo{height:62px;width:145px}.wrap{padding:25px 4%}.nav span{display:none}.metrics{grid-template-columns:1fr}.private .card{grid-template-columns:70px 1fr}.private .cover{height:68px;margin:10px}.private .card-body{padding:11px 10px 11px 0}.photo-grid{grid-template-columns:1fr 1fr}}

/* Las imágenes verticales nunca deben cubrir la información de la propiedad. */
.cover{position:relative;height:auto;aspect-ratio:16/10;overflow:hidden;contain:paint}.cover img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:cover;object-position:center}.card-body{position:relative;z-index:1;background:#fff}.private .cover{height:84px;aspect-ratio:auto}.private .card-body{background:#fff}@media(max-width:560px){.private .cover{height:68px}}

/* Ficha pública de propiedad y carrusel */
textarea{font:inherit}.field textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);resize:vertical}.view-detail{position:absolute;z-index:2;left:50%;bottom:16px;transform:translate(-50%,10px);padding:8px 13px;border-radius:20px;background:#090909d9;color:#fff;font-size:11px;font-weight:750;letter-spacing:.04em;opacity:0;transition:.2s}.cover:hover .view-detail,.cover:focus-visible .view-detail{transform:translate(-50%,0);opacity:1}.cover img{transition:transform .35s ease}.card .cover:hover img{transform:scale(1.035)}.mini-facts{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.mini-facts span{padding:5px 8px;border-radius:7px;background:#f6f1ea;color:#655b52;font-size:11px}.detail-link{display:inline-block;margin-top:12px;color:var(--gold);font-weight:750;font-size:13px}.detail-page{padding:8px 0 34px}.back-link{display:inline-flex;margin-bottom:22px;color:#6f655b;font-size:13px;font-weight:650}.back-link:hover{color:var(--gold)}.detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:34px;align-items:start}.gallery-stage{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:#17130f;box-shadow:0 14px 40px #281a0d1c}.gallery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .28s ease}.gallery-slide.active{opacity:1}.gallery-empty{height:100%;display:grid;place-items:center;color:#c9aa86}.carousel-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:46px;height:46px;padding:0;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:#090909a8;color:#fff;font:34px/1 Georgia,serif;box-shadow:0 4px 14px #0004}.carousel-arrow:hover{background:#090909e8}.carousel-arrow.prev{left:16px}.carousel-arrow.next{right:16px}.carousel-count{position:absolute;z-index:3;right:17px;bottom:16px;padding:6px 10px;border-radius:16px;background:#090909b8;color:#fff;font-size:11px}.gallery-thumbs{display:flex;gap:9px;margin-top:11px;padding:2px 1px 5px;overflow-x:auto}.thumb{flex:0 0 88px;height:66px;padding:2px;overflow:hidden;border:2px solid transparent;border-radius:9px;background:#fff;opacity:.67}.thumb.active{border-color:var(--gold);opacity:1}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}.detail-info{padding:8px 0}.detail-info h1{font-size:clamp(31px,4vw,48px);line-height:1.04}.detail-location{margin:13px 0;color:var(--muted)}.detail-price{margin:22px 0 6px;font:700 clamp(28px,4vw,39px) Georgia,serif}.detail-price small{font:500 14px system-ui,sans-serif;color:var(--muted)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.facts div{padding:5px}.facts strong,.facts span{display:block}.facts strong{font:700 18px Georgia,serif}.facts span{margin-top:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.description{padding-top:5px}.description h2{font:700 22px Georgia,serif}.description p{color:#5e554d;line-height:1.7}.advisor-box{margin-top:22px;padding:15px 17px;display:grid;gap:4px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:#ece3d7}.advisor-box span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.private .detail-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr)}
@media(max-width:900px){.detail-layout,.private .detail-layout{grid-template-columns:1fr}.gallery-stage{aspect-ratio:16/11}.detail-info{padding-top:0}}
@media(max-width:560px){.gallery-stage{aspect-ratio:4/3;border-radius:12px}.carousel-arrow{width:38px;height:38px;font-size:28px}.carousel-arrow.prev{left:9px}.carousel-arrow.next{right:9px}.thumb{flex-basis:72px;height:54px}.facts{padding:10px}.view-detail{opacity:1;transform:translate(-50%,0)}}
