@import url("fuentes/fuentes.bee7022101ba.css");
:root{
  --bg:#f6f7f9;--panel:#fff;--text:#16181d;--muted:#667085;--line:#e4e7ec;
  --accent:#1d4ed8;--accent-soft:#e8efff;--ok:#067647;--ok-soft:#e7f6ee;--warn:#b54708;--warn-soft:#fef3e2;
  --bad:#b42318;--bad-soft:#fdecea;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,.06);
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0f1115;--panel:#171a21;--text:#e8eaef;--muted:#98a2b3;--line:#2a2f3a;
  --accent:#6b9bff;--accent-soft:#1c2740;--ok:#47cd89;--ok-soft:#10261b;--warn:#fdb022;--warn-soft:#2b2010;--bad:#f97066;--bad-soft:#2d1514;
}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:0 0 10px}h3{font-size:14px;margin:0 0 6px}
.muted{color:var(--muted)}.small{font-size:13px}
.layout{display:flex;min-height:100vh}
.side{width:220px;flex:none;background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;position:sticky;top:0;height:100vh;overflow:auto}
.side .marca{font-weight:700;font-size:16px;margin:4px 8px 14px;display:flex;align-items:center;gap:8px}
.punto{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.side nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--text)}
.side nav a.on,.side nav a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}
.espacios{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.espacios a{display:flex;gap:8px;align-items:center;padding:6px 10px;color:var(--muted);border-radius:8px}
.espacios a.on{color:var(--text);font-weight:600}
main{flex:1;min-width:0;padding:22px 26px 90px}
.cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:0;border-radius:9px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.07);text-decoration:none}
.btn.sec{background:var(--panel);color:var(--text);border:1px solid var(--line)}
.btn.peq{padding:4px 10px;font-size:13px;font-weight:500}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}
.card+.card{margin-top:14px}.grid .card+.card{margin-top:0}
.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:14px}
.kpi .n{font-size:24px;font-weight:700}.kpi .t{color:var(--muted);font-size:13px}
.lista{list-style:none;margin:0;padding:0}
.lista li{padding:9px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}
.lista li:first-child{border-top:0}
.chip{display:inline-block;font-size:12px;padding:2px 8px;border-radius:99px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}
.chip.gris{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.aviso{border-left:4px solid var(--warn);background:var(--warn-soft);padding:10px 12px;border-radius:8px;margin-bottom:8px}
.aviso.bad{border-color:var(--bad);background:var(--bad-soft)}
.mensajes{list-style:none;padding:0;margin:0 0 14px}
.mensajes li{padding:10px 12px;border-radius:8px;background:var(--ok-soft);color:var(--ok);margin-bottom:6px}
.mensajes li.error{background:var(--bad-soft);color:var(--bad)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px 8px;border-top:1px solid var(--line);vertical-align:top}
th{font-size:12px;color:var(--muted);font-weight:600;border-top:0;text-transform:uppercase;letter-spacing:.03em}
.tabla{overflow-x:auto}
.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
/* embudo */
.embudo{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}
.col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:120px}
.col h3{display:flex;justify-content:space-between;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.03em}
.tarjeta{border:1px solid var(--line);border-radius:10px;padding:9px 10px;margin-top:8px;background:var(--bg)}
.tarjeta .nom{font-weight:600}
.tarjeta form{margin-top:6px}
.tarjeta select{font-size:13px;padding:3px 6px}
/* formularios */
form p{margin:0 0 12px}
label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
input[type=text],input[type=email],input[type=number],input[type=password],input[type=date],input[type=datetime-local],input[type=search],input[type=url],input[type=month],input[type=tel],select,textarea{
  width:100%;max-width:520px;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}
input[type=checkbox]{width:18px;height:18px;vertical-align:middle}
.helptext{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.errorlist{color:var(--bad);margin:4px 0;padding-left:18px;font-size:13px}
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.filtros input,.filtros select{width:auto}
/* pasos */
.paso{border-top:1px solid var(--line);padding:10px 0}
.paso:first-child{border-top:0}
.paso .tit{display:flex;gap:10px;align-items:center}
.paso .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--bg);border:1px solid var(--line);flex:none}
.paso.hecho .n{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.paso.actual .n{background:var(--accent);color:#fff;border-color:transparent}
.paso.actual .tit{font-weight:700}
.items{margin:6px 0 0 36px}
.item{display:flex;gap:8px;align-items:flex-start;padding:3px 0}
.item button{background:none;border:0;padding:0;cursor:pointer;font-size:16px;line-height:1.2;color:var(--muted)}
.item.hecho span{text-decoration:line-through;color:var(--muted)}
.barra{height:8px;background:var(--bg);border-radius:99px;overflow:hidden;border:1px solid var(--line)}
.barra i{display:block;height:100%;background:var(--accent)}
.fila{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
dl.datos{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}
dl.datos dt{color:var(--muted)}dl.datos dd{margin:0}
.movil-nav{display:none}
@media (max-width:820px){
  .side{display:none}
  main{padding:14px 16px 90px}
  .movil-top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
  .movil-top select{width:auto}
  .movil-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--line);overflow-x:auto;z-index:5;padding-bottom:env(safe-area-inset-bottom)}
  .movil-nav a{flex:1 0 auto;padding:10px 12px;font-size:13px;color:var(--muted);text-align:center;white-space:nowrap}
  .movil-nav a.on{color:var(--accent);font-weight:600}
  .layout{display:block}
}
@media (min-width:821px){.movil-top{display:none}}
.icono{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--text);font-size:17px;text-decoration:none}
.icono:hover{background:var(--accent-soft);text-decoration:none}
.globo{position:absolute;top:-2px;right:-4px;background:var(--bad);color:#fff;font-size:10px;font-weight:700;border-radius:99px;padding:1px 5px}
.flotante{display:none}
@media (max-width:820px){
  .flotante{display:grid;place-items:center;position:fixed;right:18px;bottom:calc(64px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:50%;
    background:var(--accent);color:#fff;font-size:30px;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:6;text-decoration:none}
}
.dia{margin-bottom:14px}.dia h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.dia.hoy h3{color:var(--accent)}
.ev{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line)}
.ev:first-of-type{border-top:0}.ev .h{min-width:52px;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}
.codigos{display:grid;grid-template-columns:repeat(2,max-content);gap:6px 18px;font:600 16px/1.4 ui-monospace,Menlo,monospace;margin:10px 0}
.qr svg{max-width:220px;height:auto;border-radius:8px}
input.grande{font-size:22px;letter-spacing:.2em;max-width:220px;text-align:center}
.no-leida{font-weight:600}
.tarjeta[draggable=true]{cursor:grab}.tarjeta.arrastrando{opacity:.45}.col.sobre{outline:2px dashed var(--accent);outline-offset:-4px}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.galeria figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg)}
.galeria figure.portada{outline:2px solid var(--ok)}
.galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.galeria figcaption{padding:6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.acciones{display:flex;gap:2px;margin-left:auto}.acciones button{background:none;border:1px solid var(--line);border-radius:6px;padding:2px 6px;cursor:pointer;color:var(--text);font-size:12px}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.tinm{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--text);box-shadow:var(--shadow)}
.tinm:hover{text-decoration:none;border-color:var(--accent)}
.tinm .foto{position:relative;aspect-ratio:4/3;background:var(--bg);display:grid;place-items:center}
.tinm .foto img{width:100%;height:100%;object-fit:cover}
.tinm .sinfoto{color:var(--muted);font-size:13px}
.tinm .estado{position:absolute;top:8px;left:8px}.tinm .dias{position:absolute;top:8px;right:8px}
.tinm .txt{padding:10px 12px}.tinm .precio{font-size:18px;font-weight:700}.tinm .tit{font-weight:600;margin:2px 0}
.pubfotos{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pubfotos figure{margin:0}.pubfotos img{width:100%;border-radius:10px;display:block}
.pubfotos figcaption{font-size:12px;color:var(--muted);padding:4px 2px}
pre.codigo{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12px;overflow-x:auto;white-space:pre}
textarea.prompt{width:100%;max-width:none;font:12px/1.4 ui-monospace,Menlo,monospace;min-height:180px}
.galeria .acciones{flex-wrap:wrap;margin-left:0;width:100%;justify-content:space-between}
.solo-movil{display:none}
@media (max-width:820px){.solo-movil{display:block;margin-top:8px}}

/* ================================================================ Tema Homekers (manual de identidad)
   Ink #111111 · Cream #F5F1E8 · Brass #C9A961 · Charcoal #3D3833 · Stone #A89F8F · Cream shadow #E8E2D5
   Playfair Display (títulos) · Montserrat (texto) */
.tema-homekers{--bg:#F5F1E8;--panel:#FFFDF8;--line:#E8E2D5;--text:#111111;--muted:#6F675A;--accent:#111111;--accent-soft:#E8E2D5;
  --accent-txt:#F5F1E8;--brass:#C9A961;--ok:#4F6B3A;--ok-soft:#E6EBDD;--warn:#8A6A1F;--warn-soft:#F2E9D3;--bad:#9B2C22;--bad-soft:#F3E1DC;
  --shadow:0 1px 2px rgba(17,17,17,.04)}
@media (prefers-color-scheme:dark){.tema-homekers{--bg:#111111;--panel:#1A1917;--line:#3D3833;--text:#F5F1E8;--muted:#A89F8F;
  --accent:#F5F1E8;--accent-soft:#2A2723;--accent-txt:#111111;--ok:#A9C08E;--ok-soft:#1F261A;--warn:#C9A961;--warn-soft:#2A2418;
  --bad:#E39A8E;--bad-soft:#2E1A17}}
.tema-homekers{font-family:Montserrat,-apple-system,"Segoe UI",sans-serif;color:var(--text)}
.tema-homekers h1,.tema-homekers h2,.tema-homekers .kpi .n,.tema-homekers .tinm .precio,.tema-homekers .marca{font-family:"Playfair Display",Georgia,serif;letter-spacing:-.01em}
.tema-homekers h1{font-weight:700;font-size:26px}.tema-homekers h2{font-weight:600;font-size:18px}
.tema-homekers h3,.tema-homekers th,.tema-homekers .col h3{font-family:Montserrat,sans-serif;letter-spacing:.08em}
.tema-homekers .btn{background:var(--accent);color:var(--accent-txt);border-radius:999px;font-weight:600;letter-spacing:.01em}
.tema-homekers .btn.sec{background:transparent;color:var(--text);border:1px solid var(--text)}
.tema-homekers .card,.tema-homekers .col,.tema-homekers .tinm{border-radius:14px}
.tema-homekers .chip{background:var(--accent-soft);color:var(--text)}
.tema-homekers .kpi .n::after{content:"";display:block;width:26px;height:2px;background:var(--brass);margin-top:6px}
.tema-homekers .barra i{background:var(--brass)}
.tema-homekers .side nav a.on,.tema-homekers .side nav a:hover{background:var(--accent-soft);color:var(--text)}
.tema-homekers .side nav a.on{box-shadow:inset 3px 0 0 var(--brass)}
.tema-homekers .movil-nav a.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--brass)}
.tema-homekers a{color:var(--text);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px}
.tema-homekers a.btn,.tema-homekers nav a,.tema-homekers .tinm,.tema-homekers .icono,.tema-homekers .espacios a{text-decoration:none}
.tema-homekers .flotante{background:var(--accent);color:var(--accent-txt)}
.tema-homekers .aviso{border-left-color:var(--brass)}
.tema-homekers .mensajes li{background:var(--accent-soft);color:var(--text)}
.marca-logo{height:28px;width:28px;flex:none}
.logo-claro{display:none}
@media (prefers-color-scheme:dark){.tema-homekers .logo-oscuro{display:none}.tema-homekers .logo-claro{display:inline}}

/* Banner de Homekers: HOMEKERS en Playfair + «· REAL ESTATE ·» en latón (texto real: nítido a cualquier tamaño) */
.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;font-family:"Playfair Display",Georgia,serif;color:var(--text)}
.wordmark.centrado{align-items:center;display:flex}
.wordmark .wm{font-weight:500;letter-spacing:.11em;font-size:1em;margin-right:-.11em}
.wordmark .wm-sub{color:var(--brass,#C9A961);font-size:.36em;letter-spacing:.32em;margin-top:.45em;margin-right:-.32em;font-weight:500;white-space:nowrap}
.marca .wordmark .wm{letter-spacing:.14em}

/* Portal del propietario */
.hero{border-radius:16px;overflow:hidden;position:relative;margin:14px 0;background:var(--panel);border:1px solid var(--line)}
.hero img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.hero .t{padding:14px 16px}
.paso12{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin:10px 0 6px}.paso12 i{height:8px;border-radius:4px;background:var(--line)}
.paso12 i.ok{background:var(--accent)}.paso12 i.ya{background:var(--brass,var(--accent));opacity:.8}
.barras{display:flex;align-items:flex-end;gap:6px;height:110px;margin-top:8px}.barras div{flex:1;text-align:center;font-size:11px;color:var(--muted)}
.barras b{display:block;background:var(--brass,var(--accent));border-radius:6px 6px 0 0;margin-bottom:4px}
.contacto{position:fixed;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;justify-content:center}
