/* PropIMX — main.css v2 | Nunito | Hero oscuro | Sin fondos verdes en cards */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap');

:root {
  --green:#0F6E56; --green-dark:#085041; --green-mid:#1D9E75;
  --green-light:#E8F5F1;
  --blue:#185FA5; --blue-light:#EAF1FB;
  --gold:#F0B90B; --red:#C0392B; --red-light:#FDECEA;
  --bg:#F7F8FA; --bg2:#EDEEF2; --card:#fff;
  --border:#E2E4EA; --border2:#CDD0DA;
  --text:#1A1D27; --text2:#6B7280; --text3:#9CA3AF;
  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-xl:18px;
  --sh-sm:0 1px 4px rgba(0,0,0,.06);
  --sh-md:0 4px 20px rgba(0,0,0,.09);
  --sh-lg:0 8px 40px rgba(0,0,0,.12);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px}
body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
input,select,textarea,button{font-family:inherit}

/* NAVBAR */
.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:58px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:200;box-shadow:var(--sh-sm)}
.navbar-logo{font-size:20px;font-weight:800;color:var(--green);letter-spacing:-.5px}
.navbar-links{display:flex;align-items:center;gap:20px}
.navbar-links a{font-size:14px;color:var(--text2);font-weight:600;transition:color .15s}
.navbar-links a:hover{color:var(--text)}

/* HERO - FONDO OSCURO SEMITRANSPARENTE */
.hero-bg{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.56)}
.hero-content{position:relative;z-index:1;text-align:center;padding:56px 24px;max-width:660px;margin:0 auto}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:5px 16px;margin-bottom:18px;font-size:13px;color:rgba(255,255,255,.9);font-weight:600;backdrop-filter:blur(6px)}
.hero-content h1{font-size:40px;font-weight:800;color:#fff;letter-spacing:-1.2px;line-height:1.15;margin-bottom:14px}
.hero-content p{font-size:16px;color:rgba(255,255,255,.82);margin-bottom:28px;font-weight:500}
.hero-content p strong{color:#7EFFD4}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-hero-white{padding:13px 28px;background:#fff;color:var(--green-dark);border:none;border-radius:var(--r-md);font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s}
.btn-hero-white:hover{opacity:.92}
.btn-hero-outline{padding:13px 28px;background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:var(--r-md);font-size:15px;font-weight:600;cursor:pointer;backdrop-filter:blur(4px);transition:background .15s}
.btn-hero-outline:hover{background:rgba(255,255,255,.22)}
.hero-tickers{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.hero-ticker{display:inline-flex;align-items:center;gap:7px;background:rgba(0,0,0,.42);border-radius:24px;padding:6px 16px;backdrop-filter:blur(6px);font-size:13px;color:rgba(255,255,255,.85);font-weight:600}
.hero-ticker strong{color:#7EFFD4}
.ticker-label{font-size:11px;color:rgba(255,255,255,.45);font-weight:400}
.hero-ticker-note{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.3);border-radius:24px;padding:6px 14px;font-size:11px;color:rgba(255,255,255,.45)}

/* STATS STRIP */
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid var(--border)}
.stat-item{padding:18px 16px;text-align:center;border-right:1px solid var(--border)}
.stat-item:last-child{border-right:none}
.stat-num{font-size:24px;font-weight:800;color:var(--green)}
.stat-lbl{font-size:12px;color:var(--text2);font-weight:600;margin-top:2px}

/* SECTIONS */
.section{padding:36px 28px;max-width:1120px;margin:0 auto}
.section-title{font-size:22px;font-weight:800;margin-bottom:20px}

/* HOW */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.how-step{text-align:center;padding:20px 14px;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg)}
.how-num{width:32px;height:32px;background:var(--green);color:#fff;border-radius:50%;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.how-t{font-size:14px;font-weight:700;margin-bottom:5px}
.how-d{font-size:13px;color:var(--text2);line-height:1.5}

/* PROP GRID */
.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.prop-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;cursor:pointer}
.prop-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.prop-img{height:165px;background:#CBD5E1;display:flex;align-items:center;justify-content:center;position:relative}
.prop-img i{font-size:42px;color:rgba(255,255,255,.45)}
.prop-badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px}
.prop-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:5px}
.prop-name{font-size:15px;font-weight:700}
.prop-loc{font-size:12px;color:var(--text2);display:flex;align-items:center;gap:4px}
.prop-row{display:flex;justify-content:space-between;align-items:center}
.prop-price{font-size:12px;color:var(--text2);font-weight:600}
.prop-price strong{font-size:16px;color:var(--text);font-weight:700}
.prop-rent{font-size:13px;color:var(--green-mid);font-weight:700}

/* PROGRESS */
.progress-bar{height:5px;background:var(--bg2);border-radius:3px;margin-top:8px}
.progress-fill{height:5px;border-radius:3px;background:var(--green-mid)}
.progress-lbl{display:flex;justify-content:space-between;font-size:11px;color:var(--text3);margin-top:3px;font-weight:600}

/* BADGES */
.badge{display:inline-block;font-size:11px;padding:3px 9px;border-radius:20px;font-weight:700}
.badge-green{background:var(--green-light);color:var(--green-dark)}
.badge-blue{background:var(--blue-light);color:var(--blue)}
.badge-gold{background:#FFF8E1;color:#7D5A00}
.badge-red{background:var(--red-light);color:var(--red)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--r-md);font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--border2);background:#fff;color:var(--text);transition:all .15s;white-space:nowrap}
.btn:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}
.btn-green{background:var(--green);color:#fff;border-color:var(--green)}
.btn-green:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.btn-outline-sm{padding:6px 13px;font-size:13px}
.btn-green-sm{padding:6px 13px;font-size:13px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:var(--r-md);cursor:pointer;font-weight:700;display:inline-flex;align-items:center}

/* PROP DETAIL */
.prop-detail-wrap{max-width:1120px;margin:0 auto;padding:28px}
.gallery-wrap{display:flex;gap:12px;margin-bottom:22px}
.gallery-main{flex:1;height:290px;border-radius:var(--r-lg);overflow:hidden;background:#CBD5E1}
.gallery-placeholder{height:100%;display:flex;align-items:center;justify-content:center}
.gallery-placeholder i{font-size:64px;color:rgba(255,255,255,.45)}
.gallery-thumbs{display:flex;flex-direction:column;gap:8px;width:100px}
.gallery-thumb{flex:1;border-radius:var(--r-md);background:#E2E8F0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb i{font-size:22px;color:var(--text3)}
.prop-detail-body{display:grid;grid-template-columns:1fr 300px;gap:22px}
.prop-detail-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.prop-detail-header h1{font-size:24px;font-weight:800}
.prop-detail-loc{font-size:13px;color:var(--text2);margin-bottom:14px;display:flex;align-items:center;gap:5px;font-weight:600}
.prop-detail-desc{font-size:14px;color:var(--text2);line-height:1.75;margin-bottom:16px}
.amenities-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.amenity-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;border:1px solid var(--border);font-size:13px;font-weight:600;background:#fff}
.amenity-chip i{font-size:18px;color:var(--green)}
.prop-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pstat{background:var(--bg2);border-radius:var(--r-md);padding:12px 14px}
.pstat-l{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:700}
.pstat-v{font-size:18px;font-weight:800}
.map-section{margin-top:18px}
.map-section h3{font-size:15px;font-weight:700;margin-bottom:8px}

/* BUY BOX */
.buy-box-sticky{position:relative}
.buy-box{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;position:sticky;top:70px;box-shadow:var(--sh-md)}
.cotiz-bar{background:var(--bg2);border-radius:var(--r-md);padding:9px 12px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cotiz-item{font-size:12px;color:var(--text2);font-weight:600}
.cotiz-item strong{color:var(--green);font-weight:800}
.cotiz-note{font-size:11px;color:var(--text3);margin-left:auto;display:flex;align-items:center;gap:4px}
.buy-title{font-size:15px;font-weight:800;margin-bottom:12px}
.cur-selector{display:flex;gap:7px;margin-bottom:12px}
.cur-btn{flex:1;padding:9px;border-radius:var(--r-md);border:1px solid var(--border2);background:transparent;color:var(--text2);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}
.cur-btn.active{background:var(--green-light);border-color:var(--green);color:var(--green-dark)}
.amount-input-wrap{display:flex;align-items:center;gap:8px;border:2px solid var(--green);border-radius:var(--r-md);padding:10px 14px;background:var(--bg);margin-bottom:7px}
.amount-sym{font-size:20px;font-weight:800;color:var(--green)}
.amount-input{flex:1;font-size:24px;font-weight:800;border:none;background:transparent;color:var(--text);outline:none}
.amount-cur{font-size:14px;color:var(--text2);font-weight:700}
.amount-min{font-size:12px;color:var(--text3);margin-bottom:12px;font-weight:600}
.quick-btns{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px}
.quick-btns button{flex:1;min-width:0;padding:6px 4px;border-radius:var(--r-sm);border:1px solid var(--border2);background:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s}
.quick-btns button:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}
.result-box{background:var(--green-light);border-radius:var(--r-lg);padding:14px}
.result-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}
.rl{font-size:11px;color:var(--green-dark);margin-bottom:2px;font-weight:700}
.rv{font-size:13px;font-weight:700;color:var(--green-dark)}
.rv.big{font-size:22px;font-weight:800;color:var(--green)}
.result-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(15,110,86,.15)}
.result-row:last-child{border-bottom:none}
.fg{margin-bottom:10px}
.fg label{font-size:12px;color:var(--text2);display:block;margin-bottom:4px;font-weight:700}
.select-full{width:100%;padding:9px 12px;border-radius:var(--r-md);border:1px solid var(--border2);font-size:13px;font-weight:600;background:var(--bg);color:var(--text)}
.btn-buy{display:block;width:100%;padding:13px;background:var(--green);color:#fff;border:none;border-radius:var(--r-md);font-size:15px;font-weight:800;cursor:pointer;transition:background .15s;text-align:center;margin-top:5px}
.btn-buy:hover{background:var(--green-dark)}
.buy-saldo{font-size:11px;color:var(--text3);text-align:center;margin-top:9px;font-weight:600}
.buy-saldo a{color:var(--green)}

/* DASHBOARD */
.dash-wrap{display:flex;min-height:calc(100vh - 58px)}
.dash-sb{width:210px;background:#fff;border-right:1px solid var(--border);padding:14px 0;flex-shrink:0;position:sticky;top:58px;height:calc(100vh - 58px);overflow-y:auto}
.dash-si{display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;border-left:3px solid transparent;transition:all .12s}
.dash-si:hover{color:var(--text);background:var(--bg)}
.dash-si.active{color:var(--green);border-left-color:var(--green);background:var(--green-light)}
.dash-si i{font-size:18px;flex-shrink:0}
.dash-main{flex:1;padding:28px;background:var(--bg);overflow-y:auto}

/* STAT GRID */
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.stat-box{background:#fff;border-radius:var(--r-lg);padding:14px 16px;border:1px solid var(--border)}
.stat-box .sl{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-weight:700}
.stat-box .sv{font-size:22px;font-weight:800}
.stat-box .ss{font-size:11px;color:var(--green-mid);margin-top:3px;font-weight:600}

/* CARD */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;margin-bottom:16px}
.card h3{font-size:15px;font-weight:800;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px;justify-content:space-between}

/* TABLE */
.tbl-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px}
.tbl-head,.tbl-row{display:grid;gap:10px;padding:10px 16px;align-items:center}
.tbl-head{background:var(--bg2);font-size:11px;color:var(--text2);font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border)}
.tbl-row{font-size:13px;border-bottom:1px solid var(--border);font-weight:500}
.tbl-row:last-child{border-bottom:none}
.tbl-row:hover{background:var(--bg)}

/* FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-group label{font-size:12px;color:var(--text2);display:block;margin-bottom:4px;font-weight:700}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 12px;border-radius:var(--r-md);border:1px solid var(--border2);font-size:14px;font-weight:500;background:var(--bg);color:var(--text);transition:border .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--green);background:#fff}

/* ADMIN */
.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--sh-sm)}
.admin-logo{font-size:17px;font-weight:800;color:var(--green)}
.admin-badge{font-size:11px;background:var(--green-light);color:var(--green);padding:2px 8px;border-radius:10px;margin-left:7px;font-weight:700}
.admin-wrap{display:flex;min-height:calc(100vh - 56px)}
.admin-sb{width:210px;background:#fff;border-right:1px solid var(--border);padding:14px 0;flex-shrink:0}
.admin-si{display:flex;align-items:center;gap:9px;padding:9px 16px;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;border-left:3px solid transparent;transition:all .12s}
.admin-si:hover{color:var(--text);background:var(--bg)}
.admin-si.active{color:var(--green);border-left-color:var(--green);background:var(--green-light)}
.admin-si i{font-size:16px}
.admin-main{flex:1;padding:22px;background:var(--bg);overflow-y:auto}

/* TOGGLE SWITCH */
.switch-row{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-size:14px;color:var(--text2);font-weight:600}
.switch{position:relative;width:40px;height:22px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg2);border-radius:11px;transition:.2s;border:1px solid var(--border2)}
.switch-slider::before{content:'';position:absolute;height:16px;width:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.switch input:checked+.switch-slider{background:var(--green);border-color:var(--green)}
.switch input:checked+.switch-slider::before{transform:translateX(18px)}

/* ICON GRID */
.icon-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;max-height:240px;overflow-y:auto;padding:10px;background:var(--bg);border-radius:var(--r-md);border:1px solid var(--border)}
.icon-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;font-size:20px;color:var(--text2);transition:all .12s}
.icon-item:hover{background:#fff;border-color:var(--border2);color:var(--green)}
.icon-item.selected{background:var(--green-light);border-color:var(--green);color:var(--green)}

/* AUTH */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}
.auth-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:36px;width:100%;max-width:400px;box-shadow:var(--sh-lg)}
.auth-logo{font-size:24px;font-weight:800;color:var(--green);text-align:center;margin-bottom:5px}
.auth-sub{font-size:14px;color:var(--text2);text-align:center;margin-bottom:26px;font-weight:500}
.auth-field{margin-bottom:14px}
.auth-field label{font-size:13px;color:var(--text2);display:block;margin-bottom:5px;font-weight:700}
.auth-field input{width:100%;padding:11px 14px;border:1px solid var(--border2);border-radius:var(--r-md);font-size:15px;font-weight:500;background:var(--bg);color:var(--text);transition:border .15s}
.auth-field input:focus{outline:none;border-color:var(--green);background:#fff}
.auth-btn{width:100%;padding:12px;background:var(--green);color:#fff;border:none;border-radius:var(--r-md);font-size:15px;font-weight:800;cursor:pointer;margin-top:10px;transition:background .15s}
.auth-btn:hover{background:var(--green-dark)}
.auth-toggle{text-align:center;font-size:13px;color:var(--text2);margin-top:18px;font-weight:500}
.auth-toggle a{color:var(--green);font-weight:700}
.alert{padding:11px 16px;border-radius:var(--r-md);font-size:14px;margin-bottom:14px;font-weight:600}
.alert-error{background:var(--red-light);color:var(--red);border:1px solid #F5C6C0}
.alert-success{background:var(--green-light);color:var(--green-dark);border:1px solid #A8DFD0}
.divider{display:flex;align-items:center;gap:12px;margin:16px 0}
.divider hr{flex:1;border:none;border-top:1px solid var(--border)}
.divider span{font-size:12px;color:var(--text3);font-weight:600}

/* FOOTER */
.footer{background:#111827;padding:28px}
.footer-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.footer-logo{font-size:18px;font-weight:800;color:var(--green)}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:13px;color:rgba(255,255,255,.45);font-weight:600;transition:color .15s}
.footer-links a:hover{color:#fff}
.footer-legal{font-size:12px;color:rgba(255,255,255,.25);font-weight:500}

/* CTA */
.cta-section{background:var(--green-dark);padding:44px 28px;text-align:center}
.cta-content h2{font-size:26px;font-weight:800;color:#fff;margin-bottom:10px}
.cta-content p{font-size:15px;color:rgba(255,255,255,.78);margin-bottom:22px;font-weight:500}

/* RESPONSIVE */
@media(max-width:900px){.prop-detail-body{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.how-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){html{font-size:14px}.hero-content h1{font-size:30px}.stats-strip{grid-template-columns:repeat(2,1fr)}.dash-sb{display:none}.admin-sb{display:none}.form-grid{grid-template-columns:1fr}.navbar-links a:not(.btn-outline-sm):not(.btn-green-sm){display:none}.navbar{padding:0 16px}}
@media(max-width:480px){.hero-content h1{font-size:26px}.hero-btns{flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr}}
