/* =====================================================================
   Horizons — Panel de agentes (Houzez User Dashboard) · Fase 1 re-skin
   Scope: body.houzez-dashboard-body (all dashboard pages).
   Only skin: colors, type, spacing. Houzez layout/JS untouched.
   Since child 1.18.0
   ===================================================================== */

body.houzez-dashboard-body {
    --hz-navy: #0E2A3A;
    --hz-navy-2: #15425a;
    --hz-ink: #16242c;
    --hz-ink-soft: #4A5A66;
    --hz-ink-mute: #8B95A0;
    --hz-gold: #ADAA97;
    --hz-gold-warm: #b8a888;
    --hz-gold-deep: #9a8c6a;
    --hz-blue: #186B99;
    --hz-blue-2: #2781AD;
    --hz-cream: #FAF7F1;
    --hz-cream-2: #f4efe4;
    --hz-bg: #eef3f6;
    --hz-paper: #fff;
    --hz-border: #E4E4E4;
    --hz-serif: "Cormorant Garamond", Georgia, serif;
    --hz-sans: "Outfit", "Helvetica Neue", Arial, sans-serif;

    font-family: var(--hz-sans);
    background: var(--hz-bg);
}

/* ---------- Sidebar ---------- */
body.houzez-dashboard-body .dashboard-sidebar {
    background: var(--hz-navy);
}
body.houzez-dashboard-body .dashboard-sidebar .nav-box h5 {
    font-family: var(--hz-sans);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .19em;
    text-transform: uppercase;
    color: rgba(207, 219, 226, .5);
}
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a {
    font-family: var(--hz-sans);
    font-size: 14.5px;
    font-weight: 300;
    color: #cfdbe2;
    border-left: 2px solid transparent;
    transition: background .18s, color .18s;
}
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a:hover {
    background: rgba(255, 255, 255, .05);
    color: #fff;
}
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a.active {
    background: rgba(39, 129, 173, .16);
    color: #fff;
    border-left-color: var(--hz-gold);
}
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a i.houzez-icon {
    opacity: .75;
}

/* Sección Horizons */
body.houzez-dashboard-body .hz-navbox .hz-navbox__h {
    color: var(--hz-gold) !important;
    display: flex;
    align-items: center;
    gap: 8px;
}
body.houzez-dashboard-body .hz-navbox .hz-navbox__h::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(173, 170, 151, .28);
}

/* Iconos SVG propios */
body.houzez-dashboard-body .hz-mi {
    display: inline-flex;
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    opacity: .75;
    vertical-align: -3px;
}
body.houzez-dashboard-body .hz-mi svg {
    width: 100%;
    height: 100%;
}

/* Ítems "Pronto" */
body.houzez-dashboard-body .hz-soon > a {
    opacity: .5;
    cursor: default;
    pointer-events: none;
}
body.houzez-dashboard-body .hz-soon-badge {
    font-style: normal;
    font-size: 8.5px;
    letter-spacing: .13em;
    text-transform: uppercase;
    border: 1px solid rgba(207, 219, 226, .4);
    color: rgba(207, 219, 226, .75);
    padding: 2px 7px;
    border-radius: 20px;
    margin-left: 8px;
    white-space: nowrap;
}


/* Badge Beta (item activo) */
body.houzez-dashboard-body .hz-badge--beta {
    border-color: rgba(184, 168, 136, .8);
    color: #d8c9a5;
}

/* ---------- Topbar ---------- */
body.houzez-dashboard-body .dashboard-right > .header {
    background: var(--hz-paper);
    border-bottom: 1px solid var(--hz-border);
}
body.houzez-dashboard-body .dashboard-right > .header .vist-btn {
    color: var(--hz-blue);
    font-family: var(--hz-sans);
    font-weight: 400;
}
body.houzez-dashboard-body .dashboard-right > .header .user-name {
    font-family: var(--hz-sans);
    color: var(--hz-ink-soft);
}

/* ---------- Contenido / encabezado ---------- */
body.houzez-dashboard-body .dashboard-content .heading h2 {
    font-family: var(--hz-serif);
    font-weight: 500;
    font-size: 38px;
    line-height: 1.05;
    letter-spacing: -.01em;
    color: var(--hz-ink);
}
body.houzez-dashboard-body .dashboard-content .heading .text-muted {
    font-family: var(--hz-sans);
    font-weight: 300;
    color: var(--hz-ink-soft) !important;
}
body.houzez-dashboard-body .hz-sectit {
    font-family: var(--hz-sans);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--hz-ink-mute);
    margin: 26px 0 2px;
}

/* ---------- Tarjeta del agente ---------- */
body.houzez-dashboard-body .hz-agcard {
    background: var(--hz-paper);
    border: 1px solid var(--hz-border);
    border-top: 2px solid var(--hz-gold);
    border-radius: 3px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
    margin: 18px 0 8px;
}
body.houzez-dashboard-body .hz-agcard__av,
body.houzez-dashboard-body .hz-agcard__ph {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    flex-shrink: 0;
}
body.houzez-dashboard-body .hz-agcard__ph {
    object-fit: cover;
}
body.houzez-dashboard-body .hz-agcard__av {
    background: var(--hz-navy);
    color: #fff;
    font-family: var(--hz-serif);
    font-size: 26px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
body.houzez-dashboard-body .hz-agcard__name {
    font-family: var(--hz-serif);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--hz-ink);
}
body.houzez-dashboard-body .hz-agcard__role {
    font-size: 12px;
    color: var(--hz-ink-mute);
    font-weight: 300;
    margin-top: 2px;
}
body.houzez-dashboard-body .hz-agcard__f span {
    display: block;
    font-size: 10.5px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--hz-ink-mute);
    margin-bottom: 3px;
}
body.houzez-dashboard-body .hz-agcard__f b {
    font-size: 14.5px;
    font-weight: 500;
    color: var(--hz-ink);
    white-space: nowrap;
}
body.houzez-dashboard-body .hz-agcard__f b.hz-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    color: var(--hz-gold-deep);
    letter-spacing: .05em;
}
body.houzez-dashboard-body .hz-agcard__edit {
    margin-left: auto;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--hz-blue);
    white-space: nowrap;
}
body.houzez-dashboard-body .hz-agcard__edit:hover {
    color: var(--hz-navy);
}

/* ---------- Tarjetas de métricas ---------- */
body.houzez-dashboard-body .stats-box {
    background: var(--hz-paper);
    border: 1px solid var(--hz-border);
    border-top: 2px solid var(--hz-gold);
    border-radius: 3px;
    box-shadow: none;
}
body.houzez-dashboard-body .stats-box .media p strong {
    font-family: var(--hz-sans);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--hz-ink-soft);
}
body.houzez-dashboard-body .stats-box h3 {
    font-family: var(--hz-serif);
    font-size: 42px;
    font-weight: 600;
    line-height: 1.05;
    color: var(--hz-ink);
}
body.houzez-dashboard-body .stats-box .icon-box {
    background: var(--hz-cream);
    color: var(--hz-gold-deep);
    border-radius: 50%;
}
body.houzez-dashboard-body .stats-box .icon-box i {
    color: var(--hz-gold-deep);
}
body.houzez-dashboard-body .stats-box .hz-substat {
    font-family: var(--hz-sans);
    font-size: 12px;
    color: var(--hz-ink-mute);
    font-weight: 300;
    margin: 3px 0 0;
}
/* Oculta los % comparativos nativos si otra vista del dashboard los pinta */
body.houzez-dashboard-body .stats-box .icon-arrow-button-up-2,
body.houzez-dashboard-body .stats-box .icon-arrow-button-down-2 {
    display: none;
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
    body.houzez-dashboard-body .dashboard-content .heading h2 {
        font-size: 29px;
    }
    body.houzez-dashboard-body .hz-agcard {
        gap: 14px;
        padding: 18px;
    }
    body.houzez-dashboard-body .hz-agcard__edit {
        margin-left: 0;
        width: 100%;
    }
    body.houzez-dashboard-body .stats-box h3 {
        font-size: 33px;
    }
}

/* Accesibilidad */
body.houzez-dashboard-body a:focus-visible,
body.houzez-dashboard-body button:focus-visible {
    outline: 2px solid var(--hz-blue-2);
    outline-offset: 2px;
}

/* =====================================================================
   Módulos del panel (Documentación / Comisiones / CRM) — since 1.19.0
   ===================================================================== */
body.houzez-dashboard-body .hz-mod .hz-toolbar { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin: 14px 0 18px; }
body.houzez-dashboard-body .hz-search { flex: 1; min-width: 220px; max-width: 420px; border: 1px solid var(--hz-border); border-radius: 3px; padding: 10px 13px; font-family: var(--hz-sans); font-size: 14px; background: #fbfcfd; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-btn { border: 0; border-radius: 3px; padding: 11px 20px; font-family: var(--hz-sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; background: var(--hz-navy); color: #fff; cursor: pointer; }
body.houzez-dashboard-body .hz-btn:hover { background: var(--hz-navy-2); }
body.houzez-dashboard-body .hz-btn--line { background: #fff; color: var(--hz-ink-soft); border: 1px solid var(--hz-border); }
body.houzez-dashboard-body .hz-empty { background: var(--hz-cream); border: 1px solid #ecdfc3; border-radius: 3px; padding: 22px; font-weight: 300; color: var(--hz-ink-soft); margin-top: 10px; }

body.houzez-dashboard-body .hz-grp { margin: 22px 0 26px; }
body.houzez-dashboard-body .hz-grp__h { display: flex; align-items: baseline; gap: 11px; border-bottom: 1px solid var(--hz-border); padding-bottom: 8px; margin-bottom: 10px; }
body.houzez-dashboard-body .hz-grp__h h3 { font-family: var(--hz-serif); font-size: 23px; font-weight: 500; margin: 0; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-grp__h span { font-size: 12.5px; color: var(--hz-ink-mute); }

body.houzez-dashboard-body .hz-trow { display: grid; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--hz-border); border-radius: 3px; padding: 11px 14px; margin-bottom: 7px; font-size: 13.5px; font-family: var(--hz-sans); }
body.houzez-dashboard-body .hz-trow--head { background: none; border: 0; padding: 3px 14px; margin-bottom: 2px; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-trow--doc  { grid-template-columns: 46px 1fr 150px 80px 120px; }
body.houzez-dashboard-body .hz-trow--comi { grid-template-columns: 84px 96px 1fr 98px 92px 108px 140px 96px; }
body.houzez-dashboard-body .hz-trow--ent  { grid-template-columns: 1.1fr 110px 1.3fr 110px 90px 150px; }
body.houzez-dashboard-body .hz-trow--cli  { grid-template-columns: 1.2fr 110px 1.3fr 1fr 80px 90px 120px; }
body.houzez-dashboard-body .hz-trow b { font-weight: 500; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-sub { display: block; font-size: 11.5px; color: var(--hz-ink-mute); font-weight: 300; }
body.houzez-dashboard-body .hz-mono { font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--hz-gold-deep); font-weight: 600; }
body.houzez-dashboard-body .hz-num { text-align: right; white-space: nowrap; }
body.houzez-dashboard-body .hz-center { text-align: center; }
body.houzez-dashboard-body .hz-stars { color: var(--hz-gold-warm); letter-spacing: 1px; white-space: nowrap; }
body.houzez-dashboard-body .hz-chip { font-style: normal; font-size: 10.5px; padding: 3px 9px; border-radius: 20px; background: var(--hz-cream-2); color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-rowacts { display: flex; gap: 6px; justify-content: flex-end; }

body.houzez-dashboard-body .hz-ft { width: 38px; height: 44px; border: 1px solid var(--hz-border); border-radius: 3px; background: #fbfcfd; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 600; letter-spacing: .05em; color: var(--hz-blue); }
body.houzez-dashboard-body .hz-ft--pdf { color: #b0483c; }
body.houzez-dashboard-body .hz-dl { border: 1px solid var(--hz-border); background: #fbfcfd; border-radius: 3px; padding: 7px 12px; font-size: 11.5px; letter-spacing: .05em; color: var(--hz-navy); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
body.houzez-dashboard-body .hz-dl:hover { background: var(--hz-navy); border-color: var(--hz-navy); color: #fff; }

body.houzez-dashboard-body .hz-st { font-style: normal; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 8px; border-radius: 2px; font-weight: 500; white-space: nowrap; }
body.houzez-dashboard-body .hz-st--ok  { background: #e9f6ef; color: #2f7d4f; }
body.houzez-dashboard-body .hz-st--pen { background: #fbf4e6; color: #c08a2e; }
body.houzez-dashboard-body .hz-st--rev { background: #eef3f6; color: var(--hz-ink-soft); border: 1px dashed var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-st--bad { background: #f9ebe8; color: #a33c2e; }

/* Estado editable desde la fila de Comisiones (v1.35.2).
   Es el mismo sello de siempre; lo nuevo es la flecha que abre el menú, para
   que marcar una comisión como cobrada sea un clic y no abrir el formulario. */
body.houzez-dashboard-body .hz-stsel { position: relative; display: inline-block; }
body.houzez-dashboard-body .hz-stsel__btn { display: inline-flex; align-items: center; gap: 6px; border: 0; cursor: pointer; font-family: var(--hz-sans); }
/* El sello "por revisar" es el unico con borde; el reset de arriba se lo comia. */
body.houzez-dashboard-body .hz-st--rev.hz-stsel__btn { border: 1px dashed var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-stsel__car { font-size: 9px; opacity: .55; transition: transform .15s ease, opacity .15s ease; }
body.houzez-dashboard-body .hz-stsel__btn:hover .hz-stsel__car { opacity: 1; }
body.houzez-dashboard-body .hz-stsel__btn[aria-expanded="true"] .hz-stsel__car { transform: rotate(180deg); opacity: 1; }
/* Sin esta linea el menu nace ABIERTO en todas las filas: el display:flex
   de abajo es regla de autor y le gana al [hidden] de la hoja del navegador. */
body.houzez-dashboard-body .hz-stsel__menu[hidden] { display: none; }
body.houzez-dashboard-body .hz-stsel__menu { position: absolute; z-index: 30; top: calc(100% + 6px); right: 0; min-width: 176px; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--hz-border); border-radius: 4px; box-shadow: 0 8px 22px rgba(14, 42, 58, .14); padding: 4px; }
body.houzez-dashboard-body .hz-stsel__op { display: flex; justify-content: space-between; align-items: center; gap: 10px; border: 0; background: none; text-align: left; padding: 9px 11px; border-radius: 3px; cursor: pointer; font-family: var(--hz-sans); font-size: 13px; color: var(--hz-ink); white-space: nowrap; }
body.houzez-dashboard-body .hz-stsel__op:hover { background: var(--hz-cream-2); }
body.houzez-dashboard-body .hz-stsel__op.on { font-weight: 600; color: var(--hz-navy); }
body.houzez-dashboard-body .hz-stsel__op.on::after { content: '✓'; font-size: 12px; }
body.houzez-dashboard-body .hz-stsel.is-busy { opacity: .45; pointer-events: none; }
body.houzez-dashboard-body .hz-stsel.is-ok .hz-stsel__btn { box-shadow: 0 0 0 2px rgba(47, 125, 79, .38); }
body.houzez-dashboard-body .hz-stsel.is-error .hz-stsel__btn { box-shadow: 0 0 0 2px rgba(163, 60, 46, .48); }
body.houzez-dashboard-body .hz-stsel__err { display: block; margin-top: 4px; font-size: 11px; color: #a33c2e; line-height: 1.3; }

body.houzez-dashboard-body .hz-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--hz-border); margin: 6px 0 20px; }
body.houzez-dashboard-body .hz-tab { border: 0; background: none; padding: 10px 18px 12px; font-family: var(--hz-sans); font-size: 13.5px; color: var(--hz-ink-soft); border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; display: flex; align-items: center; gap: 8px; }
body.houzez-dashboard-body .hz-tab.on { color: var(--hz-navy); border-bottom-color: var(--hz-gold); font-weight: 500; }
body.houzez-dashboard-body .hz-tab .hz-n { font-size: 10.5px; background: var(--hz-cream-2); color: var(--hz-ink-soft); padding: 2px 8px; border-radius: 20px; }
body.houzez-dashboard-body .hz-tab.on .hz-n { background: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-tpane { display: none; }
body.houzez-dashboard-body .hz-tpane.on { display: block; }

body.houzez-dashboard-body .hz-fform { background: var(--hz-cream); border: 1px solid var(--hz-gold); border-radius: 4px; padding: 20px 22px; margin-bottom: 22px; }
body.houzez-dashboard-body .hz-fform h3 { font-family: var(--hz-serif); font-size: 21px; font-weight: 500; margin: 0 0 4px; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 13px; margin-top: 12px; }
body.houzez-dashboard-body .hz-fgrid label { font-family: var(--hz-sans); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-fgrid input:not([type=checkbox]), body.houzez-dashboard-body .hz-fgrid select { display: block; width: 100%; margin-top: 5px; border: 1px solid var(--hz-border); border-radius: 3px; padding: 9px 11px; font-family: var(--hz-sans); font-size: 14px; background: #fff; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-fwide { grid-column: 1 / -1; }
body.houzez-dashboard-body .hz-fcheck { display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; font-size: 13px !important; padding-top: 16px; }
body.houzez-dashboard-body .hz-facts { display: flex; gap: 10px; align-items: center; margin-top: 16px; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-formmsg { font-size: 13px; font-weight: 400; }
body.houzez-dashboard-body .hz-hp { position: absolute !important; left: -9999px !important; }

@media (max-width: 940px) {
    body.houzez-dashboard-body .hz-hidem { display: none !important; }
    body.houzez-dashboard-body .hz-trow--doc  { grid-template-columns: 40px 1fr 100px; }
    body.houzez-dashboard-body .hz-trow--comi { grid-template-columns: 76px 1fr 96px 132px; }
    body.houzez-dashboard-body .hz-trow--comi .hz-rowacts { grid-column: 1 / -1; }
    body.houzez-dashboard-body .hz-trow--ent  { grid-template-columns: 1fr 100px 130px; }
    body.houzez-dashboard-body .hz-trow--cli  { grid-template-columns: 1fr 90px 110px; }
}

/* ---- Disponibles (since 1.19.1) ---- */
:root { --hz-thumb: 60px; }
body.houzez-dashboard-body .hz-sel { border: 1px solid var(--hz-border); border-radius: 3px; padding: 10px 11px; font-family: var(--hz-sans); font-size: 13px; color: var(--hz-ink-soft); background: #fbfcfd; }
body.houzez-dashboard-body .hz-sizectl { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--hz-ink-mute); font-family: var(--hz-sans); }
body.houzez-dashboard-body .hz-sizectl input { accent-color: var(--hz-blue); width: 90px; }
body.houzez-dashboard-body .hz-btn--line.on { background: var(--hz-navy); border-color: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-trow--disp { grid-template-columns: calc(var(--hz-thumb) * 1.45) 110px 1fr 130px 92px 110px; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
body.houzez-dashboard-body .hz-trow--disp:hover { border-color: var(--hz-blue-2); box-shadow: 0 2px 12px rgba(14, 42, 58, .08); }
body.houzez-dashboard-body .hz-disp__img { width: calc(var(--hz-thumb) * 1.45); height: var(--hz-thumb); object-fit: cover; border-radius: 2px; background: var(--hz-cream-2); transition: width .15s, height .15s; }
body.houzez-dashboard-body .hz-disp__img--ph { display: block; }
@media (max-width: 940px) {
    body.houzez-dashboard-body .hz-trow--disp { grid-template-columns: calc(var(--hz-thumb) * 1.2) 1fr 100px; }
    body.houzez-dashboard-body .hz-trow--disp .hz-mono, body.houzez-dashboard-body .hz-trow--disp .hz-chip { display: none; }
}

/* FIX v1.19.4: el padre pone display:grid en .dashboard-content y los grupos
   de los módulos caían lado a lado — nuestros módulos son flujo normal. */
body.houzez-dashboard-body .dashboard-content.hz-mod,
body.houzez-dashboard-body .dashboard-content.hz-cotiza { display: block; }

/* v1.20.0: CRM entradas + filtros disponibles */
body.houzez-dashboard-body .hz-chip--lead { background: #e9f6ef; color: #2f7d4f; }
body.houzez-dashboard-body .hz-chip--con  { background: #eef3f6; color: #186B99; }
body.houzez-dashboard-body .hz-entlink { color: #186B99; text-decoration: none; font-weight: 500; }
body.houzez-dashboard-body .hz-entlink:hover { color: #0E2A3A; }
body.houzez-dashboard-body .hz-selnum { max-width: 120px; }
body.houzez-dashboard-body .hz-trow--ent { grid-template-columns: 1.1fr 105px 1.5fr 1fr 88px 150px; }

/* ---- IA Horizons (since 1.20.0) ---- */
body.houzez-dashboard-body .hz-ia__wrap { max-width: 880px; display: flex; flex-direction: column; height: calc(100vh - 220px); min-height: 480px; }
body.houzez-dashboard-body .hz-ia__chat { flex: 1; overflow-y: auto; background: #fff; border: 1px solid var(--hz-border); border-top: 2px solid var(--hz-gold); border-radius: 4px 4px 0 0; padding: 22px; }
body.houzez-dashboard-body .hz-ia__msg { max-width: 78%; margin-bottom: 14px; padding: 12px 16px; border-radius: 6px; font-size: 14px; line-height: 1.55; }
body.houzez-dashboard-body .hz-ia__msg p { margin: 0; }
body.houzez-dashboard-body .hz-ia__msg b { display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--hz-gold-deep); margin-bottom: 4px; }
body.houzez-dashboard-body .hz-ia__msg--bot { background: var(--hz-cream); border: 1px solid #ecdfc3; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-ia__msg--user { background: var(--hz-navy); color: #fff; margin-left: auto; }
body.houzez-dashboard-body .hz-ia__msg--think { opacity: .6; font-style: italic; animation: hzIaPulse 1.2s ease-in-out infinite; }
@keyframes hzIaPulse { 50% { opacity: .3; } }
body.houzez-dashboard-body .hz-ia__msg--err { border-color: #e5b8b0; background: #f9ebe8; }
body.houzez-dashboard-body .hz-ia__examples { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; }
body.houzez-dashboard-body .hz-ia__ex { border: 1px solid var(--hz-border); background: #fff; border-radius: 20px; padding: 8px 14px; font-family: var(--hz-sans); font-size: 12.5px; color: var(--hz-ink-soft); cursor: pointer; transition: .15s; }
body.houzez-dashboard-body .hz-ia__ex:hover { border-color: var(--hz-gold-deep); color: var(--hz-navy); background: var(--hz-cream); }
body.houzez-dashboard-body .hz-ia__composer { background: #fff; border: 1px solid var(--hz-border); border-top: 0; border-radius: 0 0 4px 4px; padding: 12px 14px; }
body.houzez-dashboard-body .hz-ia__bar { display: flex; align-items: flex-end; gap: 10px; }
body.houzez-dashboard-body .hz-ia__bar textarea { flex: 1; border: 1px solid var(--hz-border); border-radius: 4px; padding: 11px 13px; font-family: var(--hz-sans); font-size: 14.5px; color: var(--hz-ink); resize: none; background: #fbfcfd; max-height: 160px; }
body.houzez-dashboard-body .hz-ia__bar textarea:focus { outline: 2px solid var(--hz-blue-2); }
body.houzez-dashboard-body .hz-ia__attach { border: 1px solid var(--hz-border); background: #fbfcfd; border-radius: 4px; width: 42px; height: 42px; font-size: 17px; cursor: pointer; }
body.houzez-dashboard-body .hz-ia__attach:hover { border-color: var(--hz-gold-deep); }
body.houzez-dashboard-body .hz-ia__send { border: 0; background: var(--hz-navy); color: #fff; border-radius: 4px; width: 46px; height: 42px; font-size: 16px; cursor: pointer; }
body.houzez-dashboard-body .hz-ia__send:hover { background: var(--hz-navy-2); }
body.houzez-dashboard-body .hz-ia__send:disabled { opacity: .5; cursor: default; }
body.houzez-dashboard-body .hz-ia__files { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
body.houzez-dashboard-body .hz-ia__filechip { background: var(--hz-cream-2); border-radius: 20px; padding: 5px 11px; font-size: 12px; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-ia__filechip button { border: 0; background: none; cursor: pointer; color: #a33c2e; font-size: 14px; }
body.houzez-dashboard-body .hz-ia__foot { margin: 8px 2px 0; font-size: 11px; color: var(--hz-ink-mute); font-weight: 300; }
@media (max-width: 767px) { body.houzez-dashboard-body .hz-ia__wrap { height: calc(100dvh - 190px); } body.houzez-dashboard-body .hz-ia__msg { max-width: 92%; } }

/* ---- Recibos (since 1.21.0) ---- */
body.houzez-dashboard-body .hz-trow--rec { grid-template-columns: 120px 92px 1fr 108px 116px 180px; align-items: center; }
body.houzez-dashboard-body .hz-trow--rec .hz-num { white-space: nowrap; padding-right: 10px; }
body.houzez-dashboard-body .hz-trow--rec .hz-rowacts { flex-direction: column; align-items: stretch; gap: 6px; }
body.houzez-dashboard-body .hz-trow--rec .hz-rowacts .hz-dl { font-size: 12.5px; padding: 7px 10px; justify-content: center; white-space: nowrap; }
@media (max-width: 940px) {
    body.houzez-dashboard-body .hz-trow--rec { grid-template-columns: 110px 1fr 100px; }
    body.houzez-dashboard-body .hz-trow--rec .hz-rowacts { grid-column: 1 / -1; flex-direction: row; }
    body.houzez-dashboard-body .hz-trow--rec .hz-rowacts .hz-dl { flex: 1; }
}
.hzrec-doc { background: #fff; border: 1px solid #E4E4E4; border-radius: 3px; padding: 34px 40px; max-width: 760px; font-family: "Outfit", Arial, sans-serif; color: #24313a; margin-top: 20px; }
.hzrec-head { display: flex; align-items: center; gap: 20px; border-bottom: 2px solid #0E2A3A; padding-bottom: 14px; }
.hzrec-head img { width: 86px; }
.hzrec-t { font-size: 20px; font-weight: 600; letter-spacing: .06em; color: #16242c; }
.hzrec-n { font-family: ui-monospace, Menlo, monospace; color: #9a8c6a; font-weight: 600; margin-top: 2px; }
.hzrec-fecha { margin-left: auto; text-align: right; font-size: 12.5px; color: #4A5A66; }
.hzrec-monto { font-family: "Cormorant Garamond", Georgia, serif; font-size: 40px; font-weight: 600; color: #0E2A3A; margin: 18px 0 6px; }
.hzrec-tabla { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 13.5px; }
.hzrec-tabla td { border: 1px solid #e3ded2; padding: 9px 12px; vertical-align: top; }
.hzrec-tabla td:first-child { width: 150px; background: #FAF7F1; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #4A5A66; }
.hzrec-firmas { display: flex; gap: 40px; margin-top: 46px; font-size: 12px; color: #4A5A66; }
.hzrec-firmas > div { flex: 1; }
.hzrec-firmas span { display: block; border-top: 1px solid #16242c; margin-bottom: 6px; padding-top: 4px; }
.hzrec-legal { font-size: 10.5px; color: #8B95A0; margin-top: 22px; border-top: 1px solid #eee7d8; padding-top: 10px; }

/* =====================================================================
   PANEL DE INICIO — hero unificado + métricas + acciones (since 1.23.0)
   Reemplaza el "dashboard premium" que vivía en Code Snippets.
   ===================================================================== */
body.houzez-dashboard-body .hz-home { display: block; }

/* Hero: saludo + foto oficial + datos del agente en una sola tarjeta */
body.houzez-dashboard-body .hz-hero {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 28px;
    align-items: center;
    background: linear-gradient(135deg, var(--hz-navy) 0%, var(--hz-navy-2) 100%);
    color: #fff;
    padding: 30px 34px;
    position: relative;
    overflow: hidden;
    margin-bottom: 26px;
}
body.houzez-dashboard-body .hz-hero::after {
    content: "";
    position: absolute;
    right: -60px; top: -70px;
    width: 240px; height: 240px;
    border-radius: 50%;
    background: rgba(184, 168, 136, .10);
    pointer-events: none;
}
body.houzez-dashboard-body .hz-hero__id { display: flex; align-items: center; gap: 20px; min-width: 0; }
body.houzez-dashboard-body .hz-hero__ph,
body.houzez-dashboard-body .hz-hero__av {
    width: 84px; height: 84px; flex: none;
    border-radius: 50%;
    border: 2px solid var(--hz-gold-warm);
    object-fit: cover;
    object-position: center top;
}
body.houzez-dashboard-body .hz-hero__av {
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.08);
    font-family: var(--hz-serif); font-size: 34px; color: var(--hz-gold-warm);
}
body.houzez-dashboard-body .hz-hero__who { min-width: 0; }
body.houzez-dashboard-body .hz-hero__greet {
    margin: 0 0 2px; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
    color: var(--hz-gold-warm); font-weight: 600;
}
body.houzez-dashboard-body .hz-hero__name {
    margin: 0 0 4px; font-family: var(--hz-serif); font-weight: 400;
    font-size: 34px; line-height: 1.1; color: #fff;
}
body.houzez-dashboard-body .hz-hero__role {
    margin: 0; font-size: 12.5px; color: rgba(255,255,255,.62); letter-spacing: .02em;
}
body.houzez-dashboard-body .hz-hero__data {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px;
    border-left: 1px solid rgba(255,255,255,.14); padding-left: 26px;
}
body.houzez-dashboard-body .hz-hero__f { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
body.houzez-dashboard-body .hz-hero__f span {
    font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5);
}
body.houzez-dashboard-body .hz-hero__f b {
    font-size: 13.5px; font-weight: 500; color: #fff; word-break: break-word;
}
body.houzez-dashboard-body .hz-hero__edit {
    grid-column: 1 / -1; justify-self: start;
    font-size: 12px; letter-spacing: .04em; color: var(--hz-gold-warm); text-decoration: none;
    border-bottom: 1px solid rgba(184,168,136,.45); padding-bottom: 2px;
}
body.houzez-dashboard-body .hz-hero__edit:hover { color: #fff; border-color: #fff; }

/* Métricas */
body.houzez-dashboard-body .hz-mgrid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 26px;
}
body.houzez-dashboard-body .hz-mcard {
    display: flex; flex-direction: column; gap: 6px;
    background: var(--hz-paper); border: 1px solid var(--hz-border);
    border-top: 2px solid var(--hz-gold-warm);
    padding: 20px 22px 18px; text-decoration: none; color: inherit;
    transition: box-shadow .2s ease, transform .2s ease;
}
body.houzez-dashboard-body a.hz-mcard:hover { box-shadow: 0 6px 20px rgba(14,42,58,.09); transform: translateY(-2px); }
body.houzez-dashboard-body .hz-mcard.is-green { border-top-color: #6fa88a; }
body.houzez-dashboard-body .hz-mcard.is-amber { border-top-color: #d8a657; }
body.houzez-dashboard-body .hz-mcard__label {
    font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--hz-ink-mute); font-weight: 600;
}
body.houzez-dashboard-body .hz-mcard__value {
    font-family: var(--hz-serif); font-size: 40px; line-height: 1; color: var(--hz-navy);
}
body.houzez-dashboard-body .hz-mcard.is-green .hz-mcard__value { color: #4d8468; }
body.houzez-dashboard-body .hz-mcard.is-amber .hz-mcard__value { color: #b9812c; }
body.houzez-dashboard-body .hz-mcard__sub {
    font-size: 11.5px; color: var(--hz-ink-soft);
    border-top: 1px solid var(--hz-border); padding-top: 8px; margin-top: 2px;
}

/* Acciones rápidas */
body.houzez-dashboard-body .hz-qa { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 8px; }
body.houzez-dashboard-body .hz-qa__b {
    display: inline-flex; align-items: center; gap: 7px;
    background: var(--hz-paper); border: 1px solid var(--hz-border); color: var(--hz-navy);
    padding: 11px 20px; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase;
    font-weight: 600; text-decoration: none; transition: all .2s ease;
}
body.houzez-dashboard-body .hz-qa__b:hover { border-color: var(--hz-navy); background: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-qa__b--primary { background: var(--hz-navy); border-color: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-qa__b--primary:hover { background: var(--hz-navy-2); border-color: var(--hz-navy-2); }
body.houzez-dashboard-body .hz-qa__b--accent { background: var(--hz-gold-warm); border-color: var(--hz-gold-warm); color: #fff; }
body.houzez-dashboard-body .hz-qa__b--accent:hover { background: var(--hz-gold-deep); border-color: var(--hz-gold-deep); color: #fff; }

@media (max-width: 1100px) {
    body.houzez-dashboard-body .hz-mgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    body.houzez-dashboard-body .hz-hero { grid-template-columns: 1fr; gap: 22px; padding: 26px 22px; }
    body.houzez-dashboard-body .hz-hero__data { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); padding-left: 0; padding-top: 20px; }
    body.houzez-dashboard-body .hz-hero__name { font-size: 28px; }
}
@media (max-width: 560px) {
    body.houzez-dashboard-body .hz-mgrid { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-hero__id { flex-direction: column; text-align: center; }
    body.houzez-dashboard-body .hz-hero__data { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-qa { flex-direction: column; }
    body.houzez-dashboard-body .hz-qa__b { justify-content: center; }
}

/* ---------- Gráficas del inicio (since 1.24.0) ---------- */
body.houzez-dashboard-body .hz-charts {
    display: grid; grid-template-columns: 1.25fr 1fr; gap: 16px; margin-bottom: 8px;
}
body.houzez-dashboard-body .hz-chart {
    background: var(--hz-paper); border: 1px solid var(--hz-border); padding: 20px 22px 16px;
    display: flex; flex-direction: column; min-width: 0;
}
body.houzez-dashboard-body .hz-chart__head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px;
}
body.houzez-dashboard-body .hz-chart__t {
    margin: 0; font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
    color: var(--hz-ink-mute); font-weight: 600;
}
body.houzez-dashboard-body .hz-chart__s { margin: 3px 0 0; font-size: 11.5px; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-chart__big {
    font-family: var(--hz-serif); font-size: 32px; line-height: 1; color: var(--hz-navy);
    text-align: right; white-space: nowrap;
}
body.houzez-dashboard-body .hz-chart__big span {
    display: block; font-family: var(--hz-sans); font-size: 10px; letter-spacing: .12em;
    text-transform: uppercase; color: var(--hz-ink-mute); margin-top: 4px;
}
body.houzez-dashboard-body .hz-chart__svg { width: 100%; height: 150px; display: block; }
body.houzez-dashboard-body .hz-chart__ax {
    display: flex; justify-content: space-between; font-size: 10.5px; color: var(--hz-ink-mute);
    border-top: 1px solid var(--hz-border); padding-top: 6px; margin-top: 2px;
}
body.houzez-dashboard-body .hz-chart__top { list-style: none; margin: 12px 0 0; padding: 0; }
body.houzez-dashboard-body .hz-chart__top-h {
    font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--hz-ink-mute); margin-bottom: 6px;
}
body.houzez-dashboard-body .hz-chart__top li {
    display: flex; justify-content: space-between; gap: 14px; font-size: 12.5px;
    padding: 5px 0; border-bottom: 1px solid #F2F4F6;
}
body.houzez-dashboard-body .hz-chart__top li a { color: var(--hz-ink); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.houzez-dashboard-body .hz-chart__top li a:hover { color: var(--hz-blue); }
body.houzez-dashboard-body .hz-chart__top li b { color: var(--hz-navy); white-space: nowrap; }

/* Barras de comisiones */
body.houzez-dashboard-body .hz-bars {
    display: flex; align-items: flex-end; gap: 6px; height: 150px; padding-top: 6px;
}
body.houzez-dashboard-body .hz-bars__c {
    flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center;
    height: 100%; gap: 6px; min-width: 0;
}
body.houzez-dashboard-body .hz-bars__b {
    width: 100%; background: var(--hz-gold-warm); min-height: 2px; transition: background .2s;
}
body.houzez-dashboard-body .hz-bars__c.is-now .hz-bars__b { background: var(--hz-navy); }
body.houzez-dashboard-body .hz-bars__c:hover .hz-bars__b { background: var(--hz-blue); }
body.houzez-dashboard-body .hz-bars__l { font-size: 9.5px; color: var(--hz-ink-mute); letter-spacing: .04em; }
body.houzez-dashboard-body .hz-bars__c.is-now .hz-bars__l { color: var(--hz-navy); font-weight: 700; }
body.houzez-dashboard-body .hz-chart__foot {
    display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
    border-top: 1px solid var(--hz-border); margin-top: 12px; padding-top: 12px;
}
body.houzez-dashboard-body .hz-chart__foot span {
    display: block; font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--hz-ink-mute);
}
body.houzez-dashboard-body .hz-chart__foot b {
    display: block; font-family: var(--hz-serif); font-size: 26px; line-height: 1.1; color: var(--hz-navy); margin: 2px 0;
}
body.houzez-dashboard-body .hz-chart__foot b.is-amber { color: #b9812c; }
body.houzez-dashboard-body .hz-chart__foot em { font-style: normal; font-size: 11px; color: var(--hz-ink-soft); }

@media (max-width: 1100px) {
    body.houzez-dashboard-body .hz-charts { grid-template-columns: 1fr; }
}
body.houzez-dashboard-body .hz-chart__warn { display: inline-block; margin-top: 3px; font-style: normal; font-size: 11px; color: #b9812c; }

/* Botón "Buscar propiedades" en Mis Clientes (since 1.26.0) */
body.houzez-dashboard-body .hz-trow--cli .hz-rowacts { flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
body.houzez-dashboard-body .hz-dl--find { background: var(--hz-navy); border-color: var(--hz-navy); color: #fff; font-weight: 600; }
body.houzez-dashboard-body .hz-dl--find:hover:not(:disabled) { background: var(--hz-blue); border-color: var(--hz-blue); }
body.houzez-dashboard-body .hz-dl--find:disabled { opacity: .65; cursor: progress; }
body.houzez-dashboard-body .hz-dl--last { background: var(--hz-cream); border-color: var(--hz-gold-warm); color: var(--hz-gold-deep); }
body.houzez-dashboard-body .hz-dl--last:hover { background: var(--hz-gold-warm); color: #fff; }

/* ==========================================================
   v1.31.0 — Estudio de mercado (chip IA) + Solicitar publicidad (CRM)
   ========================================================== */

/* IA Horizons: featured chip that launches the market study */
body.houzez-dashboard-body .hz-ia__ex--estudio { border-color: var(--hz-gold-warm); color: var(--hz-gold-deep); font-weight: 600; background: var(--hz-cream); }
body.houzez-dashboard-body .hz-ia__ex--estudio:hover { background: var(--hz-gold-deep); border-color: var(--hz-gold-deep); color: #fff; }

/* CRM: request-advertising button (AAA clients only) */
body.houzez-dashboard-body .hz-dl--pub { background: var(--hz-cream); border-color: var(--hz-gold-warm); color: var(--hz-gold-deep); font-weight: 600; }
body.houzez-dashboard-body .hz-dl--pub:hover:not(:disabled) { background: var(--hz-gold-deep); border-color: var(--hz-gold-deep); color: #fff; }
body.houzez-dashboard-body .hz-dl--pub:disabled { opacity: .7; cursor: default; }

/* In-house confirmation modal (no native confirm(): it freezes automation
   and breaks the visual language) */
body.houzez-dashboard-body .hz-modal { position: fixed; inset: 0; z-index: 99999; background: rgba(14, 42, 58, .55); display: flex; align-items: center; justify-content: center; padding: 20px; }
body.houzez-dashboard-body .hz-modal__card { background: #fff; max-width: 500px; width: 100%; padding: 26px 28px 22px; border-radius: 4px; border-top: 3px solid var(--hz-gold-deep); box-shadow: 0 18px 50px rgba(14, 42, 58, .3); }
body.houzez-dashboard-body .hz-modal__card h3 { margin: 0 0 10px; font-family: var(--hz-serif, Georgia, serif); font-size: 20px; color: var(--hz-navy); }
body.houzez-dashboard-body .hz-modal__lead { margin: 0 0 14px; font-family: var(--hz-sans); font-size: 13.5px; line-height: 1.6; color: var(--hz-navy); }
body.houzez-dashboard-body .hz-modal__sub { display: block; font-size: 12px; color: var(--hz-ink-soft); margin-top: 2px; }
body.houzez-dashboard-body .hz-modal__check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 12px; padding: 12px 14px; background: var(--hz-cream); border: 1px solid var(--hz-gold-warm); border-radius: 3px; font-family: var(--hz-sans); font-size: 12.5px; line-height: 1.6; color: var(--hz-navy); cursor: pointer; }
body.houzez-dashboard-body .hz-modal__check input { margin-top: 3px; flex: 0 0 auto; accent-color: var(--hz-gold-deep); width: 16px; height: 16px; }
body.houzez-dashboard-body .hz-modal__note { margin: 0 0 16px; font-family: var(--hz-sans); font-size: 11.5px; line-height: 1.6; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-modal__acts { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-modal__acts .hz-btn:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 560px) {
    body.houzez-dashboard-body .hz-modal { padding: 12px; align-items: flex-end; }
    body.houzez-dashboard-body .hz-modal__card { padding: 20px 18px 16px; }
    body.houzez-dashboard-body .hz-modal__acts .hz-btn { flex: 1; }
}

/* ==========================================================
   Módulo Mercadeo (v1.33.0) — cartera desde Disponibles,
   tareas por carril y bandeja de recientes.
   Solo lo visible por Jose y Giuliana; reutiliza .hz-tab,
   .hz-dl, .hz-btn, .hz-toolbar y los tokens de marca.
   ========================================================== */

body.houzez-dashboard-body .hz-mkt__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 18px;
    border-bottom: 1px solid var(--hz-line, #E3DED4);
    padding-bottom: 10px;
}
body.houzez-dashboard-body .hz-mkt__tabs .n {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    border-radius: 20px;
    background: var(--hz-cream-2, #f4efe4);
    color: var(--hz-ink-soft, #4A5A66);
    font-size: 10.5px;
    font-weight: 700;
}
body.houzez-dashboard-body .hz-tab.on .n { background: var(--hz-navy, #0E2A3A); color: var(--hz-gold, #ADAA97); }

body.houzez-dashboard-body .hz-mpane { display: none; }
body.houzez-dashboard-body .hz-mpane.on { display: block; }

/* ---- chips de filtro ---- */
body.houzez-dashboard-body .hz-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 16px;
}
body.houzez-dashboard-body .hz-chip2 {
    border: 1px solid var(--hz-line, #E3DED4);
    background: #fff;
    color: var(--hz-ink, #16242c);
    border-radius: 20px;
    padding: 6px 13px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
body.houzez-dashboard-body .hz-chip2:hover { border-color: var(--hz-gold, #ADAA97); }
body.houzez-dashboard-body .hz-chip2 i { font-style: normal; opacity: .6; margin-left: 4px; }
body.houzez-dashboard-body .hz-chip2.on {
    background: var(--hz-navy, #0E2A3A);
    border-color: var(--hz-navy, #0E2A3A);
    color: #fff;
}
body.houzez-dashboard-body .hz-chip2.on i { opacity: .75; }

/* ---- grilla de tarjetas ---- */
body.houzez-dashboard-body .hz-mkgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
    gap: 16px;
}
body.houzez-dashboard-body .hz-mkcard {
    background: #fff;
    border: 1px solid var(--hz-line, #E3DED4);
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
body.houzez-dashboard-body .hz-mkcard.is-prio { border-color: var(--hz-gold, #ADAA97); box-shadow: 0 0 0 1px var(--hz-gold, #ADAA97) inset; }

body.houzez-dashboard-body .hz-mkcard__ph { position: relative; aspect-ratio: 5 / 3; background: var(--hz-cream-2, #f4efe4); }
body.houzez-dashboard-body .hz-mkcard__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.houzez-dashboard-body .hz-mkcard__noimg { display: block; width: 100%; height: 100%; background: var(--hz-cream-2, #f4efe4); }
body.houzez-dashboard-body .hz-mkcard__badge {
    position: absolute; left: 8px; top: 8px;
    background: rgba(14, 42, 58, .88); color: #fff;
    font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    padding: 3px 8px; border-radius: 3px;
}
body.houzez-dashboard-body .hz-mkcard__origen {
    position: absolute; left: 8px; bottom: 8px; right: 8px;
    background: rgba(255, 255, 255, .94); color: var(--hz-ink-soft, #4A5A66);
    font-size: 10px; padding: 3px 8px; border-radius: 3px;
}
body.houzez-dashboard-body .hz-mkstar {
    position: absolute; right: 8px; top: 8px;
    width: 28px; height: 28px; border-radius: 50%;
    border: 0; cursor: pointer; line-height: 1; font-size: 14px;
    background: rgba(255, 255, 255, .92); color: var(--hz-ink-mute, #8B95A0);
}
body.houzez-dashboard-body .hz-mkstar.on { background: var(--hz-gold, #ADAA97); color: #fff; }

body.houzez-dashboard-body .hz-mkcard__body { padding: 12px 13px 13px; display: flex; flex-direction: column; gap: 8px; }
body.houzez-dashboard-body .hz-mkcard__top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
body.houzez-dashboard-body .hz-mkcard__top .hz-sub { text-align: right; font-size: 11px; }
body.houzez-dashboard-body .hz-mkcard__ttl { margin: 0; font-size: 13.5px; line-height: 1.35; color: var(--hz-navy, #0E2A3A); }
body.houzez-dashboard-body .hz-mkcard__price { font-size: 15px; font-weight: 700; color: var(--hz-navy, #0E2A3A); }
body.houzez-dashboard-body .hz-mkcard__price small { display: block; font-size: 10.5px; font-weight: 400; color: var(--hz-ink-mute, #8B95A0); }
body.houzez-dashboard-body .hz-mkcard__row { display: flex; gap: 7px; flex-wrap: wrap; }

body.houzez-dashboard-body .hz-mkest {
    border: 0; border-radius: 20px; cursor: pointer;
    padding: 5px 12px; font-size: 10.5px; font-weight: 700; letter-spacing: .03em;
}
body.houzez-dashboard-body .hz-mkest--p { background: #FAF3E3; color: #9a7423; }
body.houzez-dashboard-body .hz-mkest--e { background: #E7F1F8; color: #1d6a95; }
body.houzez-dashboard-body .hz-mkest--k { background: #E9F6EF; color: #3d7a5e; }

body.houzez-dashboard-body .hz-mkhist {
    border: 1px solid var(--hz-line, #E3DED4); background: #fff;
    border-radius: 20px; padding: 5px 11px; font-size: 10.5px; font-weight: 600; cursor: pointer;
    color: var(--hz-ink-soft, #4A5A66);
}
body.houzez-dashboard-body .hz-mkhist.on { border-color: var(--hz-gold, #ADAA97); background: var(--hz-cream, #FAF7F1); color: var(--hz-gold-deep, #9a8c6a); }

body.houzez-dashboard-body .hz-mkredes { display: flex; flex-wrap: wrap; gap: 5px; }
body.houzez-dashboard-body .hz-mkred {
    border: 1px solid var(--hz-line, #E3DED4); background: #fff;
    border-radius: 3px; padding: 4px 8px; font-size: 10px; font-weight: 600; cursor: pointer;
    color: var(--hz-ink-mute, #8B95A0);
}
body.houzez-dashboard-body .hz-mkred.on { background: var(--hz-navy, #0E2A3A); border-color: var(--hz-navy, #0E2A3A); color: #fff; }

body.houzez-dashboard-body .hz-mkmedios { display: flex; flex-direction: column; gap: 5px; }
body.houzez-dashboard-body .hz-mkmedio { display: flex; align-items: center; gap: 7px; font-size: 10.5px; color: var(--hz-ink-soft, #4A5A66); }
body.houzez-dashboard-body .hz-mkmedio > span { min-width: 52px; font-weight: 600; }
body.houzez-dashboard-body .hz-mkmedio select {
    flex: 1; border: 1px solid var(--hz-line, #E3DED4); border-radius: 3px;
    padding: 4px 6px; font-size: 11px; background: #fff; color: var(--hz-ink, #16242c);
}
body.houzez-dashboard-body .hz-mkcard__acts { display: flex; flex-wrap: wrap; gap: 6px; }
body.houzez-dashboard-body .hz-dl--gold { border-color: var(--hz-gold, #ADAA97); color: var(--hz-gold-deep, #9a8c6a); }
body.houzez-dashboard-body .hz-mkcard__nota {
    margin: 0; font-size: 11px; color: var(--hz-ink-soft, #4A5A66);
    background: var(--hz-cream, #FAF7F1); border-radius: 3px; padding: 6px 8px;
}
body.houzez-dashboard-body .hz-mkcard__edit { margin: 0; font-size: 10px; color: var(--hz-ink-mute, #8B95A0); }
body.houzez-dashboard-body .hz-mkcard__edit.is-bad { color: #a33c2e; }

/* ---- tareas por carril ---- */
body.houzez-dashboard-body .hz-mklanes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 14px;
}
body.houzez-dashboard-body .hz-mklane {
    background: var(--hz-cream, #FAF7F1);
    border: 1px solid var(--hz-line, #E3DED4);
    border-radius: 6px;
    padding: 12px;
}
body.houzez-dashboard-body .hz-mklane__h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
body.houzez-dashboard-body .hz-mklane__h h3 { margin: 0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--hz-navy, #0E2A3A); }
body.houzez-dashboard-body .hz-mklane__h span { font-size: 11px; color: var(--hz-ink-mute, #8B95A0); }
body.houzez-dashboard-body .hz-mklane__empty { margin: 0; font-size: 11px; color: var(--hz-ink-mute, #8B95A0); }

body.houzez-dashboard-body .hz-mktask {
    background: #fff;
    border: 1px solid var(--hz-line, #E3DED4);
    border-left: 3px solid var(--hz-line, #E3DED4);
    border-radius: 4px;
    padding: 9px 10px;
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
body.houzez-dashboard-body .hz-mktask--alta { border-left-color: #c0724f; }
body.houzez-dashboard-body .hz-mktask--media { border-left-color: var(--hz-gold, #ADAA97); }
body.houzez-dashboard-body .hz-mktask--baja { border-left-color: #9fb4c2; }
body.houzez-dashboard-body .hz-mktask .hz-mkest { align-self: flex-start; }
body.houzez-dashboard-body .hz-mktask__t { font-size: 12.5px; line-height: 1.35; color: var(--hz-navy, #0E2A3A); }
body.houzez-dashboard-body .hz-mktask__nota { font-style: italic; }
body.houzez-dashboard-body .hz-mktask .hz-rowacts { display: flex; gap: 6px; }

body.houzez-dashboard-body .hz-mkintro { margin: 0 0 14px; }

@media (max-width: 782px) {
    body.houzez-dashboard-body .hz-mkgrid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
    body.houzez-dashboard-body .hz-mklanes { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-mkt__tabs { gap: 6px; }
}

/* ==========================================================
   Pestañas de año (Comisiones) — v1.35.0
   ========================================================== */
body.houzez-dashboard-body .hz-anios {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
    margin: 0 0 18px; padding-bottom: 10px;
    border-bottom: 1px solid var(--hz-line, #E3DED4);
}
body.houzez-dashboard-body .hz-anio {
    display: inline-block; text-decoration: none;
    border: 1px solid var(--hz-line, #E3DED4); background: #fff;
    color: var(--hz-ink-soft, #4A5A66);
    border-radius: 20px; padding: 6px 16px;
    font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
    transition: background .15s, border-color .15s, color .15s;
}
body.houzez-dashboard-body .hz-anio:hover { border-color: var(--hz-gold, #ADAA97); color: var(--hz-navy, #0E2A3A); }
body.houzez-dashboard-body .hz-anio.on {
    background: var(--hz-navy, #0E2A3A); border-color: var(--hz-navy, #0E2A3A); color: #fff;
}
body.houzez-dashboard-body .hz-anio__nota {
    margin-left: 8px; font-size: 11.5px; font-style: italic;
    color: var(--hz-ink-mute, #8B95A0);
}

/* ==========================================================
   Dirección (Jose + Giuliana) — CRM y comisiones del equipo. v1.35.0
   ========================================================== */
body.houzez-dashboard-body .hz-dir__agentes {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 8px; margin: 0 0 20px;
}
body.houzez-dashboard-body .hz-dir__ag {
    display: block; text-decoration: none;
    background: #fff; border: 1px solid var(--hz-line, #E3DED4);
    border-radius: 5px; padding: 11px 13px;
    transition: border-color .15s, background .15s;
}
body.houzez-dashboard-body .hz-dir__ag:hover { border-color: var(--hz-gold, #ADAA97); }
body.houzez-dashboard-body .hz-dir__ag b { display: block; font-size: 13px; color: var(--hz-navy, #0E2A3A); }
body.houzez-dashboard-body .hz-dir__ag span { display: block; margin-top: 3px; font-size: 11px; color: var(--hz-ink-mute, #8B95A0); }
body.houzez-dashboard-body .hz-dir__ag.on { background: var(--hz-navy, #0E2A3A); border-color: var(--hz-navy, #0E2A3A); }
body.houzez-dashboard-body .hz-dir__ag.on b { color: #fff; }
body.houzez-dashboard-body .hz-dir__ag.on span { color: var(--hz-gold, #ADAA97); }
body.houzez-dashboard-body .hz-dir__intro { margin: 0 0 12px; }

body.houzez-dashboard-body .hz-trow--dircli { grid-template-columns: 1.4fr 1.1fr 1.3fr 130px 70px 82px; }
body.houzez-dashboard-body .hz-trow--dircom { grid-template-columns: 1.4fr 60px 120px 120px 120px 110px; }
body.houzez-dashboard-body .hz-trow--tot {
    background: var(--hz-cream, #FAF7F1);
    border-top: 2px solid var(--hz-navy, #0E2A3A);
    color: var(--hz-navy, #0E2A3A);
}
@media (max-width: 782px) {
    body.houzez-dashboard-body .hz-trow--dircli { grid-template-columns: 1fr 100px 78px; }
    body.houzez-dashboard-body .hz-trow--dircom { grid-template-columns: 1fr 52px 100px; }
    body.houzez-dashboard-body .hz-dir__agentes { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}

/* =====================================================================
   Publicidad — el agente pide que se mercadee una propiedad suya (v1.36.0)
   Módulo del agente + pestaña de solicitudes en Mercadeo + fila en Dirección.
   ===================================================================== */

body.houzez-dashboard-body .hz-st--prog { background: #eaf1f7; color: var(--hz-blue); }

/* --- grilla de "Mis propiedades" --- */
body.houzez-dashboard-body .hz-pubgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 14px; }
body.houzez-dashboard-body .hz-pcard { background: #fff; border: 1px solid var(--hz-border); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; }
body.houzez-dashboard-body .hz-pcard__ph { position: relative; aspect-ratio: 5 / 3; background: var(--hz-cream-2); }
body.houzez-dashboard-body .hz-pcard__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.houzez-dashboard-body .hz-pcard__noimg { display: block; width: 100%; height: 100%; background: var(--hz-cream-2); }
body.houzez-dashboard-body .hz-pcard__badge { position: absolute; left: 9px; top: 9px; background: rgba(14,42,58,.86); color: #fff; font-size: 9.5px; letter-spacing: .09em; text-transform: uppercase; padding: 3px 8px; border-radius: 2px; }
body.houzez-dashboard-body .hz-pcard__body { padding: 12px 13px 4px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
body.houzez-dashboard-body .hz-pcard__ttl { margin: 0; font-size: 13.5px; line-height: 1.35; color: var(--hz-navy); font-family: var(--hz-sans); font-weight: 500; }
body.houzez-dashboard-body .hz-pcard__price { font-size: 15px; font-weight: 700; color: var(--hz-navy); margin-top: auto; }
body.houzez-dashboard-body .hz-pcard__act { padding: 10px 13px 13px; }
body.houzez-dashboard-body .hz-pubbtn { width: 100%; border: 1px solid var(--hz-gold-deep); background: #fff; color: var(--hz-gold-deep); font-family: var(--hz-sans); font-size: 10.5px; letter-spacing: .09em; text-transform: uppercase; padding: 9px 10px; border-radius: 2px; cursor: pointer; }
body.houzez-dashboard-body .hz-pubbtn:hover { background: var(--hz-gold-deep); color: #fff; }

/* --- tarjeta de solicitud (lista del agente y panel de mercadeo) --- */
body.houzez-dashboard-body .hz-sol { display: grid; grid-template-columns: 132px 1fr; gap: 15px; background: #fff; border: 1px solid var(--hz-border); border-radius: 4px; padding: 14px; margin-bottom: 10px; }
body.houzez-dashboard-body .hz-sol.is-cerrada { opacity: .62; }
body.houzez-dashboard-body .hz-sol__ph { aspect-ratio: 4 / 3; border-radius: 3px; overflow: hidden; background: var(--hz-cream-2); }
body.houzez-dashboard-body .hz-sol__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.houzez-dashboard-body .hz-sol__body { min-width: 0; }
body.houzez-dashboard-body .hz-sol__top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 3px; }
/* Precio de la solicitud (v1.36.4), a la par del sello de estado. nowrap para
   que en pantalla angosta baje entero a la siguiente línea y no se parta. */
body.houzez-dashboard-body .hz-sol__precio { font-size: 14px; font-weight: 700; color: var(--hz-navy); white-space: nowrap; }
body.houzez-dashboard-body .hz-sol__ttl { margin: 0 0 2px; font-family: var(--hz-serif); font-size: 18px; font-weight: 500; color: var(--hz-navy); }
body.houzez-dashboard-body .hz-sol__ttl a { color: inherit; text-decoration: none; }
body.houzez-dashboard-body .hz-sol__ttl a:hover { text-decoration: underline; }
body.houzez-dashboard-body .hz-sol__lb { display: block; font-size: 9.5px; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 3px; }
body.houzez-dashboard-body .hz-sol__nota { background: var(--hz-cream); border-left: 3px solid var(--hz-gold); padding: 9px 12px; margin-top: 10px; font-size: 13px; }
body.houzez-dashboard-body .hz-sol__nota .hz-sol__lb { color: var(--hz-gold-deep); }
body.houzez-dashboard-body .hz-sol__resp { background: #eef3f6; border-left: 3px solid var(--hz-blue); padding: 9px 12px; margin-top: 9px; font-size: 13px; }
body.houzez-dashboard-body .hz-sol__resp .hz-sol__lb { color: var(--hz-blue); }
body.houzez-dashboard-body .hz-sol__acts { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
body.houzez-dashboard-body .hz-btn--sm { font-size: 10px; padding: 7px 11px; letter-spacing: .08em; }

/* --- sub-pestañas por agente (panel de mercadeo) --- */
body.houzez-dashboard-body .hz-agchips { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 16px; }
body.houzez-dashboard-body .hz-agchip { border: 1px solid var(--hz-border); background: #fff; font-family: var(--hz-sans); font-size: 12.5px; color: var(--hz-ink-soft); padding: 7px 13px; border-radius: 20px; cursor: pointer; display: flex; align-items: center; gap: 7px; }
body.houzez-dashboard-body .hz-agchip:hover { border-color: var(--hz-gold); }
body.houzez-dashboard-body .hz-agchip.on { background: var(--hz-navy); color: #fff; border-color: var(--hz-navy); }
body.houzez-dashboard-body .hz-agchip i { font-style: normal; font-size: 10px; background: var(--hz-cream-2); color: var(--hz-ink-soft); border-radius: 20px; padding: 1px 6px; }
body.houzez-dashboard-body .hz-agchip.on i { background: var(--hz-gold-deep); color: #fff; }
body.houzez-dashboard-body .hz-agchip .hz-esp { font-size: 10px; color: #c08a2e; }
body.houzez-dashboard-body .hz-agchip.on .hz-esp { color: var(--hz-gold-warm); }

/* --- modal --- */
body.houzez-dashboard-body .hz-ov { position: fixed; inset: 0; background: rgba(14,42,58,.55); display: flex; align-items: center; justify-content: center; z-index: 99999; padding: 20px; }
body.houzez-dashboard-body .hz-ov[hidden] { display: none; }
/* OJO: se llama hz-ovbox y no hz-modal porque `.hz-modal` YA EXISTE arriba
   (línea ~702) y ahí es el OVERLAY a pantalla completa del CRM. Reusar el
   nombre no lo reemplaza: hereda position:fixed, inset:0 y display:flex, y
   rompe los dos modales a la vez. */
body.houzez-dashboard-body .hz-ovbox { background: var(--hz-cream); border: 1px solid var(--hz-gold); border-radius: 5px; width: min(560px, 100%); padding: 24px 26px; box-shadow: 0 20px 60px rgba(14,42,58,.3); max-height: 92vh; overflow-y: auto; }
body.houzez-dashboard-body .hz-ovbox h3 { font-family: var(--hz-serif); font-size: 23px; font-weight: 500; margin: 0 0 3px; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-ovbox label { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--hz-ink-soft); margin-bottom: 5px; }
body.houzez-dashboard-body .hz-ovbox textarea { width: 100%; border: 1px solid var(--hz-border); border-radius: 3px; padding: 11px; font-family: var(--hz-sans); font-size: 14px; resize: vertical; background: #fff; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-ovbox__prop { display: flex; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--hz-border); border-radius: 3px; padding: 10px 12px; margin: 14px 0 16px; }
body.houzez-dashboard-body .hz-ovbox__ph { width: 74px; height: 55px; border-radius: 2px; background: var(--hz-cream-2); overflow: hidden; flex: none; }
body.houzez-dashboard-body .hz-ovbox__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.houzez-dashboard-body .hz-ovbox__acts { display: flex; gap: 9px; align-items: center; margin-top: 18px; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-hint { font-size: 11.5px; color: var(--hz-ink-mute); margin: 7px 0 0; }

/* --- aviso flotante --- */
body.houzez-dashboard-body .hz-toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(20px); background: var(--hz-navy); color: #fff; padding: 12px 20px; border-radius: 3px; font-size: 13px; opacity: 0; transition: .25s; z-index: 10000; pointer-events: none; box-shadow: 0 10px 30px rgba(14,42,58,.3); }
body.houzez-dashboard-body .hz-toast.on { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 620px) {
    body.houzez-dashboard-body .hz-sol { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-sol__ph { aspect-ratio: 16 / 9; }
    body.houzez-dashboard-body .hz-pubgrid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 11px; }
}

body.houzez-dashboard-body .hz-trow--dirpub { grid-template-columns: 1fr 92px 104px 88px 80px; }
body.houzez-dashboard-body .hz-sel--sm { padding: 6px 9px; font-size: 12px; }
@media (max-width: 700px) { body.houzez-dashboard-body .hz-trow--dirpub { grid-template-columns: 1fr 76px 92px; } }

/* =========================================================================
   TAREAS (Dirección) y AGENTES — v1.39.0
   Tonos de estado con el mismo vocabulario que usa el PHP de los módulos
   (`hz_st--<tono>`). Producciones tiene los suyos con prefijo `t-` en su
   propio CSS; estos viven acá porque dashboard.css se carga en todo el panel.
   ========================================================================= */

body.houzez-dashboard-body .hz-st--warn { background: #fdf6e8; color: #8a6420; }
body.houzez-dashboard-body .hz-st--info { background: #eef4f8; color: #1b5673; }
body.houzez-dashboard-body .hz-st--done { background: #edf6f0; color: #2f6a45; }
body.houzez-dashboard-body .hz-st--mute { background: #f5f6f7; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-st--urg  { background: #f9ebe8; color: #a33c2e; font-weight: 600; }

body.houzez-dashboard-body .stats-box h3.is-amber { color: #c08a2e; }

/* --- barra de acciones ---------------------------------------------- */
body.houzez-dashboard-body .hz-tar__bar,
body.houzez-dashboard-body .hz-ag__bar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap; margin: 4px 0 16px;
}
body.houzez-dashboard-body .hz-tar__filtros { display: flex; gap: 8px; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-tar__filtros .hz-chip {
    border: 1px solid var(--hz-border); cursor: pointer; font-family: var(--hz-sans);
    font-size: 12px; padding: 7px 14px; background: #fff; color: var(--hz-ink-soft);
    display: inline-flex; align-items: center; gap: 7px;
}
body.houzez-dashboard-body .hz-tar__filtros .hz-chip:hover { border-color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__filtros .hz-chip.on {
    background: var(--hz-navy); border-color: var(--hz-navy); color: #fff;
}
body.houzez-dashboard-body .hz-tar__filtros .hz-chip .n {
    font-size: 10.5px; background: var(--hz-cream-2); color: var(--hz-ink-soft);
    padding: 1px 7px; border-radius: 20px;
}
body.houzez-dashboard-body .hz-tar__filtros .hz-chip.on .n { background: rgba(255,255,255,.2); color: #fff; }
body.houzez-dashboard-body .hz-btn--pri { background: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-btn--pri:hover { background: var(--hz-navy-2); }
body.houzez-dashboard-body .hz-btn:disabled { opacity: .5; cursor: not-allowed; }

/* --- formulario ------------------------------------------------------ */
body.houzez-dashboard-body .hz-tar__form,
body.houzez-dashboard-body .hz-ag__form {
    background: #fff; border: 1px solid var(--hz-border); border-radius: 3px;
    padding: 18px 18px 14px; margin-bottom: 18px;
}
body.houzez-dashboard-body .hz-tar__form-grid,
body.houzez-dashboard-body .hz-ag__form-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
}
body.houzez-dashboard-body .hz-tar__campo,
body.houzez-dashboard-body .hz-ag__campo { display: flex; flex-direction: column; gap: 6px; }
body.houzez-dashboard-body .hz-tar__campo--ancho,
body.houzez-dashboard-body .hz-ag__campo--ancho { grid-column: 1 / -1; }
body.houzez-dashboard-body .hz-tar__campo > span,
body.houzez-dashboard-body .hz-ag__campo > span {
    font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--hz-ink-mute);
}
body.houzez-dashboard-body .hz-tar__campo input,
body.houzez-dashboard-body .hz-tar__campo select,
body.houzez-dashboard-body .hz-tar__campo textarea,
body.houzez-dashboard-body .hz-ag__campo input,
body.houzez-dashboard-body .hz-ag__campo select {
    border: 1px solid var(--hz-border); border-radius: 3px; padding: 9px 11px;
    font-family: var(--hz-sans); font-size: 13.5px; color: var(--hz-ink); background: #fff;
    width: 100%; box-sizing: border-box;
}
body.houzez-dashboard-body .hz-tar__campo textarea { resize: vertical; min-height: 54px; }
body.houzez-dashboard-body .hz-tar__campo input:focus,
body.houzez-dashboard-body .hz-tar__campo select:focus,
body.houzez-dashboard-body .hz-tar__campo textarea:focus,
body.houzez-dashboard-body .hz-ag__campo input:focus,
body.houzez-dashboard-body .hz-ag__campo select:focus {
    outline: 0; border-color: var(--hz-navy); box-shadow: 0 0 0 3px rgba(24,107,153,.1);
}
body.houzez-dashboard-body .hz-ag__check { flex-direction: row; align-items: flex-start; gap: 10px; }
body.houzez-dashboard-body .hz-ag__check input { width: auto; margin-top: 3px; }
body.houzez-dashboard-body .hz-ag__check > span {
    font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--hz-ink-soft); line-height: 1.55;
}
body.houzez-dashboard-body .hz-ag__check em { display: block; font-style: normal; font-size: 12px; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__form-pie,
body.houzez-dashboard-body .hz-ag__form-pie {
    display: flex; align-items: center; justify-content: flex-end; gap: 10px;
    margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hz-border);
}
body.houzez-dashboard-body .hz-tar__msg,
body.houzez-dashboard-body .hz-ag__msg { margin-right: auto; font-size: 12.5px; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__msg.is-mal,
body.houzez-dashboard-body .hz-ag__msg.is-mal { color: #a33c2e; }
body.houzez-dashboard-body .hz-ag__msg.is-ok { color: #2f6a45; }

/* --- la lista de tareas ---------------------------------------------- */
body.houzez-dashboard-body .hz-tar__it {
    display: grid; grid-template-columns: 34px 1fr auto; gap: 14px; align-items: start;
    background: #fff; border: 1px solid var(--hz-border); border-radius: 3px;
    padding: 13px 15px; margin-bottom: 7px; transition: border-color .15s ease;
}
body.houzez-dashboard-body .hz-tar__it:hover { border-color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__it.is-rez { border-left: 3px solid #c08a2e; }
body.houzez-dashboard-body .hz-tar__it.is-hecha { opacity: .62; }
body.houzez-dashboard-body .hz-tar__it.is-hecha .hz-tar__t { text-decoration: line-through; }
body.houzez-dashboard-body .hz-tar__it.is-cargando { opacity: .45; pointer-events: none; }

body.houzez-dashboard-body .hz-tar__check {
    width: 22px; height: 22px; margin-top: 1px; padding: 0; border-radius: 50%;
    border: 1.5px solid var(--hz-ink-mute); background: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
body.houzez-dashboard-body .hz-tar__check:hover { border-color: var(--hz-navy); }
body.houzez-dashboard-body .hz-tar__check[aria-pressed="true"] { background: #2f6a45; border-color: #2f6a45; }
body.houzez-dashboard-body .hz-tar__check[aria-pressed="true"] span[aria-hidden] {
    width: 10px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translate(1px, -1px);
}
body.houzez-dashboard-body .hz-tar__t { margin: 0 0 3px; font-size: 14.5px; color: var(--hz-ink); font-weight: 500; }
body.houzez-dashboard-body .hz-tar__n { margin: 0 0 7px; font-size: 12.5px; color: var(--hz-ink-soft); font-weight: 300; line-height: 1.5; }
body.houzez-dashboard-body .hz-tar__meta {
    margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px;
}
body.houzez-dashboard-body .hz-tar__fecha { color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__fecha.is-rez { color: #a33c2e; font-weight: 500; }
body.houzez-dashboard-body .hz-tar__quien { color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-tar__quien::before { content: '· '; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__acc { display: flex; gap: 6px; }
body.houzez-dashboard-body .hz-tar__ic {
    border: 1px solid var(--hz-border); background: #fff; border-radius: 3px;
    padding: 5px 10px; font-size: 11px; font-family: var(--hz-sans);
    color: var(--hz-ink-soft); cursor: pointer;
}
body.houzez-dashboard-body .hz-tar__ic:hover { border-color: var(--hz-ink-mute); color: var(--hz-ink); }
body.houzez-dashboard-body .hz-tar__ic--del:hover { border-color: #a33c2e; color: #a33c2e; }
body.houzez-dashboard-body .hz-tar__pie { margin-top: 14px; }

/* --- tareas permanentes (v1.57.0) ------------------------------------
   Una tarea que se cumple por período. Se distingue de una suelta por tres
   cosas y ninguna grita: el filo verde cuando el período ya se cumplió, el
   chip de cadencia en la línea de metadatos y la tira de los últimos ocho
   períodos. La tira es lo único que se lee de un vistazo desde lejos —una
   fila de barras verdes o con huecos— y es a propósito: es la pregunta que
   de verdad se hace uno, «¿esto se está cumpliendo o no?». */
body.houzez-dashboard-body .hz-tar__it.is-perm { border-left: 3px solid #cfd8d2; }
body.houzez-dashboard-body .hz-tar__it.is-perm-ok { border-left-color: #2f6a45; }
/* El ámbar de «vencida» tiene que ganarle al filo neutro de permanente: sin
   esta línea una fija que se pasó de fecha se veía igual que una al día. */
body.houzez-dashboard-body .hz-tar__it.is-perm.is-rez { border-left-color: #c08a2e; }
/* Una permanente NUNCA se tacha: el período está hecho, la tarea sigue viva. */
body.houzez-dashboard-body .hz-tar__it.is-perm .hz-tar__t { text-decoration: none; }

body.houzez-dashboard-body .hz-tar__ciclo {
    font-style: normal; font-size: 11px; font-weight: 500; letter-spacing: .02em;
    color: #4a5a52; background: #eef2f0; border-radius: 2px; padding: 3px 7px;
    white-space: nowrap;
}
body.houzez-dashboard-body .hz-tar__ciclo::before { content: '\21bb'; margin-right: 5px; opacity: .7; }

body.houzez-dashboard-body .hz-tar__per {
    margin: 7px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px;
    font-size: 12px; color: var(--hz-ink-mute);
}
body.houzez-dashboard-body .hz-tar__per b { font-weight: 500; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-tar__per.is-ok b { color: #2f6a45; }
body.houzez-dashboard-body .hz-tar__per.is-medio b { color: #c08a2e; }
body.houzez-dashboard-body .hz-tar__per.is-previo b { color: var(--hz-ink-mute); font-weight: 400; }
body.houzez-dashboard-body .hz-tar__perx { color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__perx::before { content: '\00b7'; margin-right: 8px; }

body.houzez-dashboard-body .hz-tar__hist { display: inline-flex; align-items: flex-end; gap: 3px; margin-left: 4px; }
body.houzez-dashboard-body .hz-tar__hist i {
    display: block; width: 12px; height: 5px; border-radius: 2px; background: #e4e0d8;
}
body.houzez-dashboard-body .hz-tar__hist i.ok { background: #2f6a45; }
body.houzez-dashboard-body .hz-tar__hist i.medio { background: #dcb46a; }
/* Antes de que la tarea existiera: un punto, no un hueco. Un hueco se lee como
   un período incumplido, y no había ni tarea que incumplir. */
body.houzez-dashboard-body .hz-tar__hist i.previo { width: 4px; height: 4px; border-radius: 50%; background: #d8d4cb; margin: 0 4px; }
body.houzez-dashboard-body .hz-tar__hist i.hoy { height: 10px; }
body.houzez-dashboard-body .hz-tar__hist i.no.hoy { background: #cfcabf; }

/* --- el bloque «Repetición» del formulario ---------------------------- */
body.houzez-dashboard-body .hz-tar__rep {
    margin-top: 14px; padding-top: 13px; border-top: 1px dashed var(--hz-border);
}
body.houzez-dashboard-body .hz-tar__reptit {
    margin: 0 0 10px; font-size: 11px; font-weight: 600; letter-spacing: .08em;
    text-transform: uppercase; color: var(--hz-ink-mute);
}
/* La «i» de ayuda de cada ajuste. Hereda del <span> del rótulo, que va en
   versalitas y espaciado: hay que devolverle las dos cosas. */
/* La casilla «también por correo»: se alinea con los demás campos de la
   rejilla, así que el rótulo va arriba como en todos y la casilla ocupa el
   sitio del control. */
body.houzez-dashboard-body .hz-tar__sw { display: flex; align-items: center; gap: 8px; min-height: 38px; }
body.houzez-dashboard-body .hz-tar__campo--check input[type="checkbox"] {
    width: 16px; height: 16px; flex: none; margin: 0; padding: 0; accent-color: var(--hz-navy);
}
body.houzez-dashboard-body .hz-tar__sw em {
    font-style: normal; font-size: 12.5px; line-height: 1.4; color: var(--hz-ink-soft);
    letter-spacing: 0; text-transform: none;
}

body.houzez-dashboard-body .hz-tar__i {
    position: relative; display: inline-flex; align-items: center; justify-content: center;
    width: 15px; height: 15px; margin-left: 5px; padding: 0; vertical-align: -2px;
    border: 1px solid var(--hz-ink-mute); border-radius: 50%; background: transparent;
    font-family: var(--hz-serif, Georgia, serif); font-size: 10px; font-style: italic;
    line-height: 1; letter-spacing: 0; text-transform: none; color: var(--hz-ink-mute);
    cursor: pointer; flex: none;
}
/* El blanco de 15 px es el que se ve; el que se pulsa son 27, que es lo que
   pide un dedo. */
body.houzez-dashboard-body .hz-tar__i::after { content: ''; position: absolute; inset: -6px; }
body.houzez-dashboard-body .hz-tar__i:hover,
body.houzez-dashboard-body .hz-tar__i[aria-expanded="true"] {
    border-color: var(--hz-navy); color: var(--hz-navy); background: #fff;
}
body.houzez-dashboard-body .hz-tar__i:focus-visible { outline: 2px solid var(--hz-navy); outline-offset: 2px; }
body.houzez-dashboard-body .hz-tar__ayuda {
    display: block; font-size: 12px; line-height: 1.6; font-weight: 300;
    letter-spacing: 0; text-transform: none; color: var(--hz-ink-soft);
    background: #fbf7ee; border-left: 2px solid #d9c9a3; padding: 9px 12px; border-radius: 2px;
    margin-top: 12px;
}
body.houzez-dashboard-body .hz-tar__ayuda b { color: var(--hz-ink); font-weight: 500; }
body.houzez-dashboard-body .hz-tar__ayuda[hidden] { display: none; }

body.houzez-dashboard-body .hz-tar__repnota {
    margin: 10px 0 0; font-size: 12px; line-height: 1.55; color: var(--hz-ink-soft);
    background: #f6f8f7; border-left: 2px solid #cfd8d2; padding: 8px 11px; border-radius: 2px;
}

/* --- tabla de agentes ------------------------------------------------ */
body.houzez-dashboard-body .hz-trow--ag { grid-template-columns: 2fr 1.4fr 110px 90px 130px; }
body.houzez-dashboard-body .hz-ag__quien { display: flex; align-items: center; gap: 12px; }
body.houzez-dashboard-body .hz-ag__quien > span { display: flex; flex-direction: column; gap: 2px; }
body.houzez-dashboard-body .hz-ag__foto {
    width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: 0 0 44px;
    background: var(--hz-cream-2);
}
body.houzez-dashboard-body .hz-ag__foto--vacia {
    display: flex; align-items: center; justify-content: center;
    font-family: var(--hz-serif, Georgia, serif); font-size: 18px; color: var(--hz-ink-mute);
    border: 1px solid var(--hz-border);
}
body.houzez-dashboard-body .hz-ag__acc { display: flex; gap: 10px; justify-content: center; }
body.houzez-dashboard-body .hz-ag__acc a { font-size: 12px; color: var(--hz-ink-soft); text-decoration: underline; }
body.houzez-dashboard-body .hz-ag__acc a:hover { color: var(--hz-navy); }
body.houzez-dashboard-body .hz-ag__pie { margin-top: 14px; }

@media (max-width: 900px) {
    body.houzez-dashboard-body .hz-tar__form-grid,
    body.houzez-dashboard-body .hz-ag__form-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
    body.houzez-dashboard-body .hz-trow--ag { grid-template-columns: 1fr 84px 70px; }
    body.houzez-dashboard-body .hz-tar__it { grid-template-columns: 28px 1fr; }
    body.houzez-dashboard-body .hz-tar__acc { grid-column: 2 / -1; margin-top: 8px; }
}
@media (max-width: 560px) {
    body.houzez-dashboard-body .hz-tar__form-grid,
    body.houzez-dashboard-body .hz-ag__form-grid { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-tar__bar,
    body.houzez-dashboard-body .hz-ag__bar { align-items: stretch; }
}

/* Latente desde la v1.35.0: la plantilla de Dirección marca «sin cobrar» con
   .is-amber sobre un .hz-num y no existía la regla, así que el ámbar nunca se
   veía. Una línea. @since 1.39.0 */
body.houzez-dashboard-body .hz-num.is-amber { color: #b9812c; }

/* Selector de estado en la fila de quien tiene la tarea asignada (no manda).
   Su única alternativa era la casilla hecha/pendiente, y la pantalla le
   prometía «en proceso». @since 1.39.0 */
body.houzez-dashboard-body .hz-tar__estsel select {
    border: 1px solid var(--hz-border); border-radius: 3px; padding: 6px 9px;
    font-family: var(--hz-sans); font-size: 12px; color: var(--hz-ink-soft);
    background: #fff; cursor: pointer;
}
body.houzez-dashboard-body .hz-tar__estsel select:hover { border-color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-tar__estsel select:focus {
    outline: 0; border-color: var(--hz-navy); box-shadow: 0 0 0 3px rgba(24,107,153,.1);
}

/* =========================================================================
   DOCUMENTOS DE DIRECCIÓN — v1.40.0
   ========================================================================= */
body.houzez-dashboard-body .stats-box h3.is-rojo { color: #A33C2E; }

body.houzez-dashboard-body .hz-docd__bar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap; margin: 4px 0 16px;
}
body.houzez-dashboard-body .hz-docd__filtros { display: flex; gap: 8px; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-docd__filtros .hz-chip {
    border: 1px solid var(--hz-border); cursor: pointer; font-family: var(--hz-sans);
    font-size: 12px; padding: 7px 14px; background: #fff; color: var(--hz-ink-soft);
    display: inline-flex; align-items: center; gap: 7px;
}
body.houzez-dashboard-body .hz-docd__filtros .hz-chip:hover { border-color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-docd__filtros .hz-chip.on {
    background: var(--hz-navy); border-color: var(--hz-navy); color: #fff;
}
body.houzez-dashboard-body .hz-docd__filtros .hz-chip .n {
    font-size: 10.5px; background: var(--hz-cream-2); color: var(--hz-ink-soft);
    padding: 1px 7px; border-radius: 20px;
}
body.houzez-dashboard-body .hz-docd__filtros .hz-chip.on .n { background: rgba(255,255,255,.2); color: #fff; }

body.houzez-dashboard-body .hz-docd__form {
    background: #fff; border: 1px solid var(--hz-border); border-radius: 3px;
    padding: 18px 18px 14px; margin-bottom: 18px;
}
body.houzez-dashboard-body .hz-docd__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
body.houzez-dashboard-body .hz-docd__campo { display: flex; flex-direction: column; gap: 6px; }
body.houzez-dashboard-body .hz-docd__campo--ancho { grid-column: 1 / -1; }
body.houzez-dashboard-body .hz-docd__campo > span {
    font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--hz-ink-mute);
}
body.houzez-dashboard-body .hz-docd__campo > span em { font-style: normal; text-transform: none; letter-spacing: 0; }
body.houzez-dashboard-body .hz-docd__campo input,
body.houzez-dashboard-body .hz-docd__campo select {
    border: 1px solid var(--hz-border); border-radius: 3px; padding: 9px 11px;
    font-family: var(--hz-sans); font-size: 13.5px; color: var(--hz-ink); background: #fff;
    width: 100%; box-sizing: border-box;
}
body.houzez-dashboard-body .hz-docd__campo input:focus,
body.houzez-dashboard-body .hz-docd__campo select:focus {
    outline: 0; border-color: var(--hz-navy); box-shadow: 0 0 0 3px rgba(24,107,153,.1);
}
body.houzez-dashboard-body .hz-docd__pie {
    display: flex; align-items: center; justify-content: flex-end; gap: 10px;
    margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hz-border);
}
body.houzez-dashboard-body .hz-docd__msg { margin-right: auto; font-size: 12.5px; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-docd__msg.is-mal { color: #a33c2e; }

body.houzez-dashboard-body .hz-trow--docd { grid-template-columns: 46px 1fr 172px 122px 176px; }
body.houzez-dashboard-body .hz-trow--docd.is-vence   { border-left: 3px solid #c08a2e; }
body.houzez-dashboard-body .hz-trow--docd.is-vencido { border-left: 3px solid #a33c2e; }
body.houzez-dashboard-body .hz-docd__cat { display: block; margin-top: 3px; font-size: 11.5px; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-docd__acc { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
body.houzez-dashboard-body .hz-docd__x {
    border: 1px solid var(--hz-border); background: #fff; border-radius: 3px;
    padding: 5px 10px; font-size: 11px; font-family: var(--hz-sans);
    color: var(--hz-ink-soft); cursor: pointer;
}
body.houzez-dashboard-body .hz-docd__x:hover { border-color: #a33c2e; color: #a33c2e; }
body.houzez-dashboard-body .hz-docd__nota { margin-top: 14px; }
/* --- documentos personales por agente (v1.61.0) ----------------------
   La tabla de la subida en lote es la pieza importante: no está para que se
   vea bonito, está para que se LEA de un vistazo a quién le va a tocar cada
   archivo antes de que se suba. Por eso el nombre final de cada documento va
   en su propia columna, en vivo. */
body.houzez-dashboard-body .hz-docp { margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--hz-border); }
body.houzez-dashboard-body .hz-docp__bar { align-items: flex-start; }
body.houzez-dashboard-body .hz-docp__tit { font-family: var(--hz-serif); font-size: 23px; font-weight: 500; margin: 0 0 3px; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-docp__sub { margin: 0; max-width: 60ch; }
body.houzez-dashboard-body .hz-docp__pista { display: block; margin-top: 5px; font-size: 11.5px; line-height: 1.5; color: var(--hz-ink-mute); letter-spacing: 0; text-transform: none; }

body.houzez-dashboard-body .hz-docp__tabla { margin-top: 16px; border: 1px solid var(--hz-border); border-radius: 3px; background: #fff; overflow: hidden; }
body.houzez-dashboard-body .hz-docp__tabla[hidden] { display: none; }
body.houzez-dashboard-body .hz-docp__cab,
body.houzez-dashboard-body .hz-docp__fila {
    display: grid; grid-template-columns: 1.2fr 1.1fr 1.3fr; gap: 14px; align-items: start;
    padding: 10px 14px; border-bottom: 1px solid var(--hz-border);
}
body.houzez-dashboard-body .hz-docp__fila:last-child { border-bottom: 0; }
body.houzez-dashboard-body .hz-docp__cab {
    background: var(--hz-cream-2, #f6f4ee); font-size: 10.5px; letter-spacing: .12em;
    text-transform: uppercase; color: var(--hz-ink-mute);
}
body.houzez-dashboard-body .hz-docp__arch {
    font-size: 12.5px; color: var(--hz-ink-soft); word-break: break-all; line-height: 1.45;
}
body.houzez-dashboard-body .hz-docp__fila select {
    width: 100%; border: 1px solid var(--hz-border); border-radius: 3px; padding: 7px 9px;
    font-family: var(--hz-sans); font-size: 13px; color: var(--hz-ink); background: #fff;
}
body.houzez-dashboard-body .hz-docp__nota {
    display: block; margin-top: 5px; font-size: 11.5px; line-height: 1.5; color: #8a6420;
}
body.houzez-dashboard-body .hz-docp__final { font-size: 13px; color: var(--hz-ink); line-height: 1.45; }
body.houzez-dashboard-body .hz-docp__final.is-falta { color: #a33c2e; }

body.houzez-dashboard-body .hz-docp__lista { margin-top: 20px; }
body.houzez-dashboard-body .hz-docp__suf {
    font-style: normal; font-size: 11px; letter-spacing: .1em; color: var(--hz-ink-mute);
    border: 1px solid var(--hz-border); border-radius: 2px; padding: 2px 6px; margin-left: 8px;
    vertical-align: 3px;
}
/* Sin dueño = no lo ve ningún agente. Se marca porque es lo que hay que arreglar. */
body.houzez-dashboard-body .hz-grp--huerfano .hz-grp__h { border-bottom-color: #c08a2e; }
body.houzez-dashboard-body .hz-grp--huerfano .hz-grp__h span { color: #8a6420; }

/* --- «Suyos» / «Del equipo» en la pantalla del agente ---------------- */
body.houzez-dashboard-body .hz-grp__tit {
    margin: 26px 0 2px; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase;
    color: var(--hz-ink-mute);
}
body.houzez-dashboard-body .hz-grp--mio .hz-grp__h { border-bottom-color: #cfd8d2; }
body.houzez-dashboard-body .hz-grp--mio .hz-grp__h span { color: #2f6a45; }

@media (max-width: 760px) {
    body.houzez-dashboard-body .hz-docp__cab { display: none; }
    body.houzez-dashboard-body .hz-docp__fila { grid-template-columns: 1fr; gap: 7px; }
    body.houzez-dashboard-body .hz-docp__final::before { content: 'Queda como: '; color: var(--hz-ink-mute); }
}


@media (max-width: 900px) {
    body.houzez-dashboard-body .hz-docd__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
    body.houzez-dashboard-body .hz-trow--docd { grid-template-columns: 40px 1fr 130px; }
    body.houzez-dashboard-body .hz-trow--docd .hz-docd__acc { grid-column: 2 / -1; justify-content: flex-start; margin-top: 8px; }
}
@media (max-width: 560px) {
    body.houzez-dashboard-body .hz-docd__grid { grid-template-columns: 1fr; }
}

/* ---- CRM 1.41.0: fecha de alta del cliente y paginación de Entradas ---- */
/* La fecha es metadato, no dato de contacto: va más callada que el correo
   para que el ojo siga cayendo primero en el nombre. */
body.houzez-dashboard-body .hz-alta { font-size: 10.5px; opacity: .72; margin-top: 1px; }
body.houzez-dashboard-body .hz-alta time { font-variant-numeric: tabular-nums; }
body.houzez-dashboard-body .hz-mas { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 16px 0 4px; }
body.houzez-dashboard-body .hz-mas .hz-sub { display: inline-block; }
body.houzez-dashboard-body .hz-mas .hz-btn[disabled] { opacity: .55; cursor: default; }

/* ---- CRM 1.41.0: la información completa del contacto ---- */
/* <details> nativo, sin JS. El resumen se ve igual que el texto suelto de
   antes para no cambiar la lectura de la fila; el triángulo avisa que hay más. */
body.houzez-dashboard-body .hz-msg { display: block; }
body.houzez-dashboard-body .hz-msg > summary { cursor: pointer; list-style: none; }
body.houzez-dashboard-body .hz-msg > summary::-webkit-details-marker { display: none; }
body.houzez-dashboard-body .hz-msg > summary::after { content: " ▾"; opacity: .5; }
body.houzez-dashboard-body .hz-msg[open] > summary { opacity: .55; }
body.houzez-dashboard-body .hz-msg[open] > summary::after { content: " ▴"; }
body.houzez-dashboard-body .hz-msg__full { margin-top: 4px; white-space: pre-line; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-extras { margin-top: 3px; font-size: 10.5px; opacity: .8; }
body.houzez-dashboard-body .hz-form { display: block; margin-top: 3px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; opacity: .6; }

/* ---- CRM 1.43.0: casilla «Proyectos nuevos» junto a Buscar propiedades ---- */
/* Va antes del botón y ocupa toda la fila de acciones para que se lea como lo
   que es: una opción DE esa búsqueda, no un dato del cliente. */
body.houzez-dashboard-body .hz-cliNuevos {
    display: flex; align-items: center; gap: 6px; width: 100%;
    font-size: 11px; color: var(--hz-ink-soft); font-weight: 300;
    cursor: pointer; margin-bottom: 2px; user-select: none;
}
body.houzez-dashboard-body .hz-cliNuevos input { margin: 0; accent-color: var(--hz-navy); cursor: pointer; }
body.houzez-dashboard-body .hz-cliNuevos:hover { color: var(--hz-ink); }
body.houzez-dashboard-body .hz-rowacts { flex-wrap: wrap; }


/* =========================================================================
   PANEL DE INICIO v2 — v1.48.0 · rediseño de Claude Design portado en v1.49.0
   Hero de una franja con aros dorados, cartera en franja, bloque Dirección /
   Su trabajo, tarjeta de tareas con selector de persona, pulso operativo,
   y el módulo «Mis tareas» del agente. Tokens, medidas y movimiento salen
   del paquete de handoff (README.md, Hoja de Componentes). Todo animado con
   transform / opacity / clip-path / stroke-dashoffset; con
   prefers-reduced-motion se desactiva.
   ========================================================================= */

body.houzez-dashboard-body {
    /* superficies y líneas finas */
    --hz-navy-3: #123a4f;
    --hz-hairline: #eef1f3;
    --hz-rule: #dbe3e8;
    --hz-rule-gold: #e7ddc7;
    --hz-grid: #e7edf1;
    --hz-ink-faint: #a7b2bb;
    --hz-skeleton: #f2f0ea;
    --hz-skeleton-2: #f5f7f8;
    /* semánticos */
    --hz-ok: #2f6a45;    --hz-ok-bg: #EAF4EE;
    --hz-warn: #b9812c;  --hz-warn-bg: #FBF3E4;  --hz-warn-dot: #d9a441;
    --hz-bad: #A33C2E;   --hz-bad-bg: #F9ECE9;   --hz-bad-dot: #d0523e;
    --hz-doing: #4a3a73; --hz-doing-bg: #f1eef8;
    /* geometría */
    --hz-radius: 4px; --hz-radius-sm: 3px; --hz-radius-pill: 999px;
    /* sombras frías */
    --hz-shadow-xs: 0 1px 2px rgba(14,42,58,.04);
    --hz-shadow-sm: 0 1px 2px rgba(14,42,58,.04), 0 10px 26px -16px rgba(14,42,58,.16);
    --hz-shadow-md: 0 1px 2px rgba(14,42,58,.04), 0 12px 30px -18px rgba(14,42,58,.20);
    --hz-focus: 0 0 0 3px rgba(39,129,173,.55);
    /* movimiento */
    --hz-ease: cubic-bezier(.22,1,.36,1);
    --hz-dur-fast: 160ms; --hz-dur: 260ms; --hz-dur-slow: 340ms;
    --hz-dur-chart: 460ms; --hz-dur-draw: 760ms; --hz-stagger: 40ms;
}

@keyframes hzRise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes hzFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes hzDraw { from { stroke-dashoffset: var(--dash, 200); } to { stroke-dashoffset: 0; } }
@keyframes hzGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes hzBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hzWipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes hzPulse { 0% { transform: scale(1); } 40% { transform: scale(1.28); } 100% { transform: scale(1); } }
@keyframes hzSkeleton { 0% { opacity: .55; } 50% { opacity: 1; } 100% { opacity: .55; } }

/* Entrada escalonada: cada bloque lleva --i (orden) desde el PHP. `backwards` y no `both`:
   con `both` el último fotograma (opacity 1, transform none) se queda mandando para siempre
   y le gana a cualquier transición posterior — el tachado al 45 %, el colapso, el hover. */
body.houzez-dashboard-body .hz-rise { animation: hzRise var(--hz-dur-slow) var(--hz-ease) backwards; animation-delay: calc(var(--i, 0) * var(--hz-stagger)); }
@media (prefers-reduced-motion: reduce) {
    body.houzez-dashboard-body .hz-home--v2 *, body.houzez-dashboard-body .hz-home--v2 *::before, body.houzez-dashboard-body .hz-home--v2 *::after,
    body.houzez-dashboard-body .hz-tar *, body.houzez-dashboard-body .hz-mistareas * {
        animation-duration: 1ms !important; animation-delay: 0ms !important; transition-duration: 1ms !important;
    }
}

/* --- lienzo y barra lateral ---------------------------------------------- */
body.houzez-dashboard-body .hz-home--v2,
body.houzez-dashboard-body .hz-mistareas { display: block; font-size: 14px; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-home--v2 a,
body.houzez-dashboard-body .hz-mistareas a { text-decoration: none; }
body.houzez-dashboard-body .dashboard-content.hz-home--v2,
body.houzez-dashboard-body .dashboard-content.hz-mistareas {
    background-image: linear-gradient(var(--hz-grid) 1px, transparent 1px); background-size: 100% 48px; background-attachment: local;
}
/* OJO: sin `position` — Houzez la tiene `fixed` y de eso depende que .dashboard-right
   quede al lado. En la 1.49.0 se puso `relative` y el contenido de TODAS las páginas
   del panel bajó 1 400 px, debajo de la barra (arreglado en 1.49.1). Como `fixed`
   también posiciona, el ::before de abajo queda dentro de la barra igual. */
body.houzez-dashboard-body .dashboard-sidebar {
    background: linear-gradient(180deg, var(--hz-navy) 0%, #102f41 55%, var(--hz-navy-2) 100%);
}
body.houzez-dashboard-body .dashboard-sidebar::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
    background-image: radial-gradient(circle at 120% -10%, rgba(184,168,136,.20), transparent 55%);
}
body.houzez-dashboard-body .dashboard-sidebar > * { position: relative; }
/* Ítems del menú (1.49.2): Houzez los pinta con padding 8px 32px y un borde derecho de
   4 px; la 1.49.0 les puso además margin 12 px sin quitar ese padding y los ítems quedaron
   con 130 px útiles: texto corrido a la derecha de los títulos, etiquetas partidas en dos
   y el «Interno» de Producciones cortado. Ahora el título de grupo (padding 24) y el icono
   (margen 12 + padding 12) caen en la misma columna, y el texto a 9 px del icono. */
body.houzez-dashboard-body .dashboard-sidebar .nav-box h5 { font-size: 8.5px; letter-spacing: .22em; color: rgba(255,255,255,.38); padding: 2px 24px; margin-bottom: 8px; }
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a {
    font-size: 13px; font-weight: 400; line-height: 1.3; color: rgba(255,255,255,.72); border-radius: 3px; margin: 1px 12px;
    padding: 8px 8px 8px 12px; gap: 9px; border-right: 0; border-left: 2px solid transparent; white-space: normal;
    transition: background var(--hz-dur-fast) var(--hz-ease), color var(--hz-dur-fast);
}
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a > span { min-width: 0; }
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a i.houzez-icon,
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a .hz-mi { flex: none; width: 17px; text-align: center; }
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a .hz-soon-badge { flex: none; }
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a:hover { background: rgba(255,255,255,.07); color: #fff; }
body.houzez-dashboard-body .dashboard-sidebar .nav-box ul li a.active { background: rgba(255,255,255,.10); color: #fff; border-left-color: var(--hz-gold-warm); }
body.houzez-dashboard-body .hz-soon-badge { font-size: 8px; letter-spacing: .14em; border-color: rgba(184,168,136,.45); color: var(--hz-gold-warm); padding: 3px 7px; }
body.houzez-dashboard-body .hz-badge--alerta { background: var(--hz-bad); border-color: var(--hz-bad); color: #fff; font-weight: 500; letter-spacing: 0; font-size: 10px; padding: 0 5px; min-width: 17px; height: 17px; display: inline-grid; place-items: center; border-radius: 999px; }
body.houzez-dashboard-body :is(.hz-home--v2, .hz-tar, .hz-mistareas) :is(button, a, select, input, textarea):focus-visible { outline: 3px solid rgba(39,129,173,.55); outline-offset: 2px; }

/* --- hero: una franja de 118 px ------------------------------------------ */
body.houzez-dashboard-body .hz-home--v2 .hz-hero--slim {
    display: block; padding: 0; margin-bottom: 0; border-radius: var(--hz-radius); overflow: hidden; position: relative;
    background: linear-gradient(104deg, var(--hz-navy) 0%, var(--hz-navy-3) 52%, var(--hz-navy-2) 100%);
}
body.houzez-dashboard-body .hz-home--v2 .hz-hero--slim::after { display: none; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__fx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; animation: hzFade 900ms var(--hz-ease) 180ms both; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__in { position: relative; min-height: 118px; display: flex; align-items: center; gap: 22px; padding: 14px 24px; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__av2 { position: relative; width: 62px; height: 62px; flex: 0 0 62px; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__ring { position: absolute; inset: 0; width: 62px; height: 62px; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__ring circle { --dash: 189; stroke-dasharray: 189; animation: hzDraw var(--hz-dur-draw) var(--hz-ease) 220ms both; transform: rotate(-90deg); transform-origin: 31px 31px; }
/* Medidas explícitas y no `inset` con width/height auto: a un <img> (elemento
   reemplazado) el auto no lo estira entre left y right, lo deja a su tamaño natural
   —la foto de Jose salía de 62 × 92 px dentro de un aro de 62— (1.49.1). */
body.houzez-dashboard-body .hz-home--v2 .hz-hero__ph,
body.houzez-dashboard-body .hz-home--v2 .hz-hero__av {
    position: absolute; left: 5px; top: 5px; width: calc(100% - 10px); height: calc(100% - 10px); max-width: none; max-height: none;
    border-radius: 999px; border: 1px solid rgba(255,255,255,.10); box-sizing: border-box;
    background: rgba(255,255,255,.06); box-shadow: none; object-fit: cover; object-position: center 15%; aspect-ratio: auto;
}
body.houzez-dashboard-body .hz-home--v2 .hz-hero__av { display: grid; place-items: center; font-family: var(--hz-serif); font-weight: 500; font-size: 20px; letter-spacing: .06em; color: #f3ede1; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__who { min-width: 260px; animation: hzRise 380ms var(--hz-ease) 120ms backwards; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__greet { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--hz-gold-warm); font-weight: 500; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__greet i { width: 26px; height: 1px; background: rgba(184,168,136,.5); display: inline-block; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__greet span { font-weight: 400; letter-spacing: .18em; color: rgba(255,255,255,.55); }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__name { margin: 7px 0 0; font-family: var(--hz-serif); font-weight: 500; font-size: 30px; line-height: 1.05; letter-spacing: .005em; color: #fff; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__name small { font-family: var(--hz-sans); font-weight: 400; font-size: 12.5px; color: rgba(255,255,255,.62); letter-spacing: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta { margin: 9px 0 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; line-height: 1; color: rgba(255,255,255,.55); }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta > span + span::before { content: "·"; opacity: .35; margin-right: 8px; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta b, body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta b.hz-mono { font-family: var(--hz-sans); font-weight: 500; font-size: 12.5px; color: rgba(255,255,255,.88); letter-spacing: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta .hz-hero__mail { color: rgba(255,255,255,.78); }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta .hz-hero__edit { grid-column: auto; border: 0; padding: 0; font-size: 12.5px; letter-spacing: 0; color: var(--hz-gold-warm); }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta .hz-hero__edit:hover { color: #e6d9bf; border: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__today { flex: 1 1 300px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; max-width: none; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border-radius: 999px; white-space: nowrap;
    border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); font-size: 12.5px; line-height: 1; color: rgba(255,255,255,.86);
    animation: hzRise 300ms var(--hz-ease) backwards; animation-delay: calc(260ms + var(--i, 0) * var(--hz-stagger));
    transition: background var(--hz-dur-fast), transform var(--hz-dur-fast);
}
body.houzez-dashboard-body .hz-home--v2 a.hz-hero__chip:hover { background: rgba(255,255,255,.12); transform: translateY(-1px); color: #fff; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip i { width: 5px; height: 5px; border-radius: 999px; background: var(--hz-gold-warm); display: inline-block; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip.is-crm i { background: var(--hz-blue-2); }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip.is-ok i { background: #7fbf98; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip.is-bad { border-color: rgba(163,60,46,.55); background: rgba(163,60,46,.16); color: #f6ded9; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip.is-bad i { background: #e2705d; }
body.houzez-dashboard-body .hz-home--v2 a.hz-hero__chip.is-bad:hover { background: rgba(163,60,46,.30); }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip.is-warn { border-color: rgba(185,129,44,.5); background: rgba(185,129,44,.14); color: #f6e9cf; }
body.houzez-dashboard-body .hz-home--v2 .hz-hero__chip.is-warn i { background: var(--hz-warn-dot); }
body.houzez-dashboard-body .hz-home--v2 a.hz-hero__chip.is-warn:hover { background: rgba(185,129,44,.28); }

/* --- etiqueta de sección ---------------------------------------------------- */
body.houzez-dashboard-body .hz-home--v2 .hz-sec { display: flex; align-items: center; gap: 14px; margin: 0; padding: 22px 2px 9px; }
body.houzez-dashboard-body .hz-home--v2 .hz-sec h2 { margin: 0; font-family: var(--hz-sans); font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--hz-ink-mute); line-height: 1; }
body.houzez-dashboard-body .hz-home--v2 .hz-sec__ln { flex: 1 1 auto; height: 1px; background: linear-gradient(90deg, var(--hz-rule), rgba(219,227,232,0)); }
body.houzez-dashboard-body .hz-home--v2 .hz-sec a { font-size: 12.5px; line-height: 1; color: var(--hz-blue); }
body.houzez-dashboard-body .hz-home--v2 .hz-sec a:hover { color: var(--hz-navy); }
body.houzez-dashboard-body .hz-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0; font-family: var(--hz-sans); font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--hz-ink-mute); line-height: 1; }
body.houzez-dashboard-body .hz-eyebrow::after { content: ""; flex: 1 1 auto; height: 1px; background: #ece7db; }

/* --- cartera / KPI: una franja de celdas ------------------------------------ */
body.houzez-dashboard-body .hz-kstrip {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    background: #fff; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); overflow: hidden; box-shadow: var(--hz-shadow-sm);
}
body.houzez-dashboard-body .hz-k {
    position: relative; min-height: 54px; display: flex; align-items: center; gap: 12px; padding: 8px 16px 8px 18px; min-width: 0;
    border-right: 1px solid var(--hz-hairline); color: inherit; transition: background var(--hz-dur-fast);
}
body.houzez-dashboard-body .hz-k:last-child { border-right: 0; }
body.houzez-dashboard-body a.hz-k:hover { background: var(--hz-cream); }
body.houzez-dashboard-body .hz-k::before { content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 2px; background: var(--hz-gold-warm); }
body.houzez-dashboard-body .hz-k.is-green::before { background: var(--hz-ok); }
body.houzez-dashboard-body .hz-k.is-amber::before { background: var(--hz-warn); }
body.houzez-dashboard-body .hz-k.is-bad::before { background: var(--hz-bad); }
body.houzez-dashboard-body .hz-k > b { font-family: var(--hz-serif); font-weight: 500; font-size: 32px; line-height: 1; color: var(--hz-navy); flex: none; font-variant-numeric: lining-nums tabular-nums; }
body.houzez-dashboard-body .hz-k.is-green > b { color: var(--hz-ok); }
body.houzez-dashboard-body .hz-k.is-amber > b { color: var(--hz-warn); }
body.houzez-dashboard-body .hz-k.is-bad > b { color: var(--hz-bad); }
body.houzez-dashboard-body .hz-k__tx { flex: 1; min-width: 0; }
body.houzez-dashboard-body .hz-k__tx label { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 7px; margin: 0; cursor: inherit; font-family: var(--hz-sans); font-size: 9.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--hz-ink-soft); line-height: 1; white-space: nowrap; }
body.houzez-dashboard-body .hz-k__d { font-style: normal; letter-spacing: 0; text-transform: none; font-size: 10px; font-weight: 500; color: var(--hz-ok); background: var(--hz-ok-bg); border-radius: 2px; padding: 3px 5px; }
body.houzez-dashboard-body .hz-k__d.dn { color: var(--hz-bad); background: var(--hz-bad-bg); }
body.houzez-dashboard-body .hz-k__tx small { display: block; margin-top: 4px; font-size: 12px; line-height: 1.2; color: var(--hz-ink-mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.houzez-dashboard-body .hz-kstrip--kpi .hz-k { min-height: 62px; padding: 12px 16px 12px 18px; }
body.houzez-dashboard-body .hz-kstrip--kpi .hz-k::before { top: 11px; bottom: 11px; }
body.houzez-dashboard-body .hz-kstrip--kpi .hz-k > b { font-size: 34px; }
body.houzez-dashboard-body .hz-kstrip--kpi .hz-k__tx small { margin-top: 5px; }

/* --- tarjetas ------------------------------------------------------------- */
body.houzez-dashboard-body .hz-home--v2 .hz-card {
    background: #fff; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); padding: 18px 20px 16px;
    position: relative; min-width: 0; display: flex; flex-direction: column; box-shadow: var(--hz-shadow-md);
}
body.houzez-dashboard-body .hz-home--v2 .hz-card__h { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 0; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-card__h > div:first-child { flex: 1 1 200px; min-width: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-card__t { margin: 0; font-family: var(--hz-serif); font-weight: 500; font-size: 22px; line-height: 1.15; color: var(--hz-ink); letter-spacing: 0; text-transform: none; }
body.houzez-dashboard-body .hz-home--v2 .hz-card__s { margin: 6px 0 0; font-size: 12.5px; line-height: 1.35; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-home--v2 .hz-card__big { text-align: right; white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-card__big b { display: block; font-family: var(--hz-serif); font-weight: 500; font-size: 32px; line-height: 1; color: var(--hz-navy); font-variant-numeric: lining-nums tabular-nums; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq .hz-card__big b { font-size: 34px; }
body.houzez-dashboard-body .hz-home--v2 .hz-card__big span { display: block; margin-top: 5px; font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--hz-ink-mute); line-height: 1; }
body.houzez-dashboard-body .hz-home--v2 .hz-card__link { margin-top: auto; padding-top: 13px; align-self: flex-end; font-size: 12.5px; line-height: 1; color: var(--hz-blue); }
body.houzez-dashboard-body .hz-home--v2 .hz-card__link:hover { color: var(--hz-navy); }
body.houzez-dashboard-body .hz-home--v2 .hz-band { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 18px; align-items: start; }
body.houzez-dashboard-body .hz-home--v2 .hz-band--ag { grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); }
body.houzez-dashboard-body .hz-home--v2 .hz-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 18px; align-items: start; }
body.houzez-dashboard-body .hz-home--v2 .hz-band > *, body.houzez-dashboard-body .hz-home--v2 .hz-two > * { min-width: 0; }

/* --- lo que genera el equipo ----------------------------------------------- */
body.houzez-dashboard-body .hz-home--v2 .hz-eq__stack { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 22px; align-items: start; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__stack > * { min-width: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__leg { display: flex; gap: 16px; margin: 0 0 10px; flex-wrap: wrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__leg span { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; line-height: 1; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__leg i { width: 9px; height: 9px; display: inline-block; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__leg i.is-hatch { background: repeating-linear-gradient(45deg, rgba(21,66,90,.5) 0 1px, #e8eef1 1px 3px); }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__plot { display: flex; gap: 10px; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__axis { display: flex; flex-direction: column; justify-content: space-between; height: 158px; padding-top: 2px; font-size: 9.5px; line-height: 1; letter-spacing: .1em; color: var(--hz-ink-faint); text-align: right; flex: none; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__area { flex: 1 1 auto; min-width: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__svg { width: 100%; height: 158px; display: block; overflow: visible; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__svg .hz-eq__mes { animation: hzGrow var(--hz-dur-chart) var(--hz-ease) both; animation-delay: calc(300ms + var(--i, 0) * var(--hz-stagger)); }
body.houzez-dashboard-body .hz-home--v2 .hz-months { display: grid; grid-template-columns: repeat(12, 1fr); margin-top: 7px; font-size: 10px; line-height: 1; letter-spacing: .1em; color: var(--hz-ink-faint); text-align: center; }
body.houzez-dashboard-body .hz-home--v2 .hz-months .is-now { color: var(--hz-navy); font-weight: 500; }
/* auto-fit y no 4 columnas fijas: con cifras como $110,706 a 26 px, cuatro columnas no caben
   en la tarjeta a 1280–1440 de ancho y se salían de la caja (1.49.1). A lo ancho vuelven a ser 4. */
body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 14px; border-top: 1px solid var(--hz-hairline); padding-top: 14px; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot span { display: block; font-size: 9.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--hz-ink-mute); line-height: 1; white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot b { display: block; margin-top: 7px; font-family: var(--hz-serif); font-weight: 500; font-size: 25px; line-height: 1; color: var(--hz-ink); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; letter-spacing: -.01em; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot b.is-navy { color: var(--hz-navy-2); }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot b.is-gold { color: var(--hz-gold-deep); }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot b.is-amber { color: var(--hz-warn); }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot em { display: block; margin-top: 5px; font-style: normal; font-size: 11.5px; line-height: 1.3; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__rank { border-left: 1px solid var(--hz-hairline); padding-left: 20px; }
body.houzez-dashboard-body .hz-home--v2 .hz-eq__vacio { font-size: 13px; color: var(--hz-ink-mute); margin: 12px 0 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag { list-style: none; margin: 0; padding: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag li { padding: 11px 0 9px; border-bottom: 1px solid #f1f4f6; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__r { display: flex; align-items: baseline; gap: 8px; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__n { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--hz-serif); font-weight: 500; font-size: 15px; line-height: 1.1; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__c { font-size: 9.5px; letter-spacing: .12em; line-height: 1; color: var(--hz-ink-faint); }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__o { font-size: 11px; line-height: 1; color: var(--hz-ink-mute); white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__m { font-family: var(--hz-serif); font-weight: 500; font-size: 14px; line-height: 1; color: var(--hz-navy); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__bar { margin-top: 7px; height: 2px; background: #f1f4f6; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__bar i { display: block; height: 2px; background: var(--hz-navy-2); transform-origin: left center; animation: hzBar 420ms var(--hz-ease) both; animation-delay: calc(360ms + var(--i, 0) * var(--hz-stagger)); }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__bar i.is-2 { background: #1d5878; }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__bar i.is-3 { background: var(--hz-blue-2); }
body.houzez-dashboard-body .hz-home--v2 .hz-ag__bar i.is-gold { background: var(--hz-gold-warm); }

/* --- tarjeta de tareas ------------------------------------------------------ */
body.houzez-dashboard-body .hz-home--v2 .hz-tcard__cuerpo { display: flex; flex-direction: column; flex: 1; transition: opacity 200ms var(--hz-ease); }
body.houzez-dashboard-body .hz-home--v2 .hz-tcard.is-cargando .hz-tcard__cuerpo { opacity: .45; pointer-events: none; }
body.houzez-dashboard-body .hz-home--v2 .hz-who { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-who__b {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px;
    border: 1px solid var(--hz-border); background: #fff; color: var(--hz-ink-soft); font-family: var(--hz-sans); font-size: 12.5px; line-height: 1; cursor: pointer;
    transition: background 200ms var(--hz-ease), border-color 200ms, color 200ms;
}
body.houzez-dashboard-body .hz-home--v2 .hz-who__b:hover { border-color: var(--hz-gold-warm); background: var(--hz-cream); }
body.houzez-dashboard-body .hz-home--v2 .hz-who__b b { font-weight: 500; color: inherit; }
body.houzez-dashboard-body .hz-home--v2 .hz-who__b.on { background: var(--hz-navy); border-color: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-home--v2 .hz-who__b .r { width: 5px; height: 5px; border-radius: 999px; background: var(--hz-bad-dot); display: inline-block; }
body.houzez-dashboard-body .hz-home--v2 .hz-tk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 14px 0 6px; }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c { border: 1px solid #dfe6ea; background: #f4f7f8; border-radius: 3px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c span { font-size: 9.5px; font-weight: 500; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c b { font-family: var(--hz-serif); font-weight: 500; font-size: 24px; line-height: 1; color: var(--hz-ink-soft); font-variant-numeric: lining-nums tabular-nums; }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-bad { border-color: #f3dfd9; background: var(--hz-bad-bg); }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-bad span, body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-bad b { color: var(--hz-bad); }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-warn { border-color: #f0e3c8; background: var(--hz-warn-bg); }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-warn span, body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-warn b { color: var(--hz-warn); }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-doing { border-color: #e5e0f0; background: var(--hz-doing-bg); }
body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-doing span, body.houzez-dashboard-body .hz-home--v2 .hz-tk__c.is-doing b { color: var(--hz-doing); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl { list-style: none; margin: 0; padding: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__it {
    display: flex; align-items: flex-start; gap: 11px; padding: 12px 2px; border-bottom: 1px solid #f1f4f6; max-height: 120px; overflow: hidden;
    animation: hzRise 260ms var(--hz-ease) backwards; animation-delay: calc(var(--i, 0) * var(--hz-stagger));
    transition: opacity 320ms var(--hz-ease), max-height 480ms var(--hz-ease), padding 480ms var(--hz-ease);
}
body.houzez-dashboard-body .hz-home--v2 .hz-tl__it.is-hecha { opacity: .45; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__it.is-hecha .hz-tl__t b { text-decoration: line-through; text-decoration-thickness: 1px; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__it.is-fuera { max-height: 0; padding-top: 0; padding-bottom: 0; opacity: 0; border-bottom-width: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__chk {
    flex: 0 0 auto; width: 19px; height: 19px; margin-top: 2px; padding: 0; border-radius: 999px; border: 1.5px solid #cfd8de; background: #fff; cursor: pointer;
    display: grid; place-items: center; transition: border-color 180ms, background 180ms;
}
body.houzez-dashboard-body .hz-home--v2 .hz-tl__chk:hover { border-color: var(--hz-ok); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__chk svg { width: 12px; height: 12px; display: none; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__chk svg path { --dash: 22; stroke-dasharray: 22; animation: hzDraw 300ms var(--hz-ease) both; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__it.is-hecha .hz-tl__chk { background: var(--hz-ok); border-color: var(--hz-ok); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__it.is-hecha .hz-tl__chk svg { display: block; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__p { flex: 0 0 auto; width: 6px; height: 6px; margin-top: 8px; border-radius: 999px; background: #c4ccd2; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__p.is-urgente { background: var(--hz-bad); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__p.is-alta { background: var(--hz-warn); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__p.is-media { background: var(--hz-blue-2); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__t { flex: 1 1 auto; min-width: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__r { display: flex; align-items: center; gap: 9px; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__t b { flex: 1 1 auto; min-width: 0; display: block; font-weight: 400; font-size: 14.5px; line-height: 1.3; color: var(--hz-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__t small { display: block; margin-top: 4px; font-size: 11.5px; line-height: 1.3; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__w { flex: 0 0 auto; font-size: 10.5px; font-weight: 500; line-height: 1; padding: 4px 7px; border-radius: 2px; color: var(--hz-ink-mute); background: #f4f7f8; white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__w.is-bad { color: var(--hz-bad); background: var(--hz-bad-bg); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__w.is-warn { color: var(--hz-warn); background: var(--hz-warn-bg); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__w.is-ok { color: var(--hz-ok); background: var(--hz-ok-bg); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__vacio { padding: 26px 4px 22px; text-align: center; animation: hzFade 300ms both; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__vacio svg { width: 46px; height: 46px; margin: 0 auto 12px; display: block; }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__vacio b { display: block; font-weight: 400; font-size: 14.5px; line-height: 1.3; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-home--v2 .hz-tl__vacio small { display: block; margin-top: 5px; font-size: 12px; color: var(--hz-ink-faint); }
body.houzez-dashboard-body .hz-home--v2 .hz-card__acts { display: flex; gap: 9px; margin-top: auto; padding-top: 14px; flex-wrap: wrap; }

/* --- botones del sistema ----------------------------------------------------- */
body.houzez-dashboard-body .hz-btn2 {
    display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 15px; border-radius: 3px; cursor: pointer; white-space: nowrap;
    font-family: var(--hz-sans); font-size: 10.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; line-height: 1;
    border: 1px solid var(--hz-border); background: #fff; color: var(--hz-ink-soft); transition: background var(--hz-dur-fast), border-color var(--hz-dur-fast), color var(--hz-dur-fast), transform 120ms;
}
body.houzez-dashboard-body .hz-btn2:hover { border-color: var(--hz-gold-warm); color: var(--hz-navy); background: #fff; }
body.houzez-dashboard-body .hz-btn2:active { transform: scale(.98); }
body.houzez-dashboard-body .hz-btn2--pri { border-color: var(--hz-navy); background: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-btn2--pri:hover { background: var(--hz-navy-2); border-color: var(--hz-navy-2); color: #fff; }
body.houzez-dashboard-body .hz-btn2--gold { border-color: var(--hz-gold-warm); background: var(--hz-gold-warm); color: var(--hz-ink); }
body.houzez-dashboard-body .hz-btn2--gold:hover { background: #c6b795; border-color: #c6b795; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-btn2--lg { height: 40px; padding: 0 18px; }
body.houzez-dashboard-body .hz-btn2--md { height: 38px; padding: 0 17px; }
body.houzez-dashboard-body .hz-btn2:disabled { opacity: .5; cursor: not-allowed; }

/* --- Sus comisiones / Visitas ---------------------------------------------- */
body.houzez-dashboard-body .hz-home--v2 .hz-bars2 { width: 100%; height: 120px; display: block; margin-top: 18px; overflow: visible; }
body.houzez-dashboard-body .hz-home--v2 .hz-bars2 .hz-bars2__b { animation: hzGrow 500ms var(--hz-ease) both; animation-delay: calc(320ms + var(--i, 0) * 30ms); }
body.houzez-dashboard-body .hz-home--v2 .hz-wipe { margin-top: 16px; animation: hzWipe 620ms var(--hz-ease) 320ms both; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__svg { width: 100%; height: 122px; display: block; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__ax { display: flex; justify-content: space-between; font-size: 9.5px; letter-spacing: .1em; color: var(--hz-ink-faint); border-top: 0; padding-top: 6px; margin-top: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__foot { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; border-top: 1px solid var(--hz-hairline); padding-top: 14px; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__foot span { font-size: 9.5px; font-weight: 500; letter-spacing: .16em; color: var(--hz-ink-mute); line-height: 1; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__foot b { margin: 7px 0 0; font-size: 26px; line-height: 1; color: var(--hz-ink); font-variant-numeric: lining-nums; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__foot b.is-amber { color: var(--hz-warn); }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__foot em { display: block; margin-top: 5px; font-size: 11.5px; line-height: 1.3; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__top { margin: 14px 0 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__top-h { font-size: 9.5px; font-weight: 500; letter-spacing: .18em; color: var(--hz-ink-mute); margin-bottom: 0; display: flex; align-items: center; gap: 9px; text-transform: uppercase; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__top-h::after { content: ""; flex: 1 1 auto; height: 1px; background: #ece7db; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__top li { display: flex; align-items: baseline; gap: 12px; padding: 10px 0 9px; border-bottom: 1px solid #f1f4f6; font-size: 13.5px; line-height: 1.3; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__top li.hz-chart__top-h { padding: 0; border: 0; font-size: 9.5px; line-height: 1; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__top li a { color: var(--hz-ink); }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__top li b { font-family: var(--hz-serif); font-weight: 500; font-size: 15px; line-height: 1; color: var(--hz-navy); font-variant-numeric: lining-nums tabular-nums; }
body.houzez-dashboard-body .hz-home--v2 .hz-chart__warn { display: inline-block; margin-top: 6px; font-style: italic; font-size: 11.5px; color: #8a6320; background: var(--hz-warn-bg); border: 1px solid #f0e3c8; border-radius: 3px; padding: 5px 8px; }

/* --- Sus últimos contactos + producciones (agente) --------------------------- */
body.houzez-dashboard-body .hz-home--v2 .hz-top5 { list-style: none; margin: 8px 0 0; padding: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-top5 li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 10px 0 9px; border-bottom: 1px solid #f1f4f6; font-size: 13.5px; line-height: 1.3; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-home--v2 .hz-top5 li > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__n { font-size: 13.5px; color: var(--hz-ink); font-weight: 500; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__hace { color: var(--hz-ink-faint); font-size: 11.5px; white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__prod { margin-top: 16px; background: var(--hz-cream); border: 1px solid #f0e9dc; border-radius: 3px; padding: 12px 14px 6px; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__prod .hz-eyebrow { color: var(--hz-gold-deep); }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__prod .hz-top5 { margin-top: 4px; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__prod .hz-top5 li { border-bottom-color: #ece5d6; padding: 8px 0 7px; font-size: 12.5px; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__prod .hz-top5 li:last-child { border-bottom: 0; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__prod b { font-weight: 500; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__est { color: var(--hz-ink-mute); font-size: 12px; white-space: nowrap; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__est.is-ok { color: var(--hz-ok); font-weight: 500; }
body.houzez-dashboard-body .hz-home--v2 .hz-cont__vacio { font-size: 13.5px; color: var(--hz-ink-mute); margin: 10px 0 0; }

/* --- pulso operativo ---------------------------------------------------------- */
body.houzez-dashboard-body .hz-home--v2 .hz-pulse { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
body.houzez-dashboard-body .hz-home--v2 .hz-pl {
    display: block; background: #fff; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); padding: 15px 17px 14px; color: inherit; min-width: 0;
    box-shadow: var(--hz-shadow-xs); transition: transform var(--hz-dur-fast) var(--hz-ease), border-color var(--hz-dur-fast), box-shadow var(--hz-dur-fast);
}
body.houzez-dashboard-body .hz-home--v2 .hz-pl:hover { transform: translateY(-2px); border-color: #d8cfb8; box-shadow: 0 1px 2px rgba(14,42,58,.04), 0 12px 26px -16px rgba(14,42,58,.24); }
body.houzez-dashboard-body .hz-home--v2 .hz-pl__h { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
body.houzez-dashboard-body .hz-home--v2 .hz-pl label { margin: 0; cursor: inherit; font-family: var(--hz-sans); font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--hz-ink-mute); line-height: 1; padding-top: 3px; }
body.houzez-dashboard-body .hz-home--v2 .hz-pl__ic { flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--hz-rule-gold); font-size: 8.5px; font-weight: 500; letter-spacing: .1em; color: var(--hz-gold-deep); background: #fff; transition: transform 200ms var(--hz-ease), background 200ms; }
body.houzez-dashboard-body .hz-home--v2 .hz-pl:hover .hz-pl__ic { background: var(--hz-cream); transform: rotate(8deg); }
body.houzez-dashboard-body .hz-home--v2 .hz-pl b { display: block; margin-top: 10px; font-family: var(--hz-serif); font-weight: 500; font-size: 30px; line-height: 1; color: var(--hz-navy); font-variant-numeric: lining-nums; }
body.houzez-dashboard-body .hz-home--v2 .hz-pl b.is-amber { color: var(--hz-warn); }
body.houzez-dashboard-body .hz-home--v2 .hz-pl b.is-bad { color: var(--hz-bad); }
body.houzez-dashboard-body .hz-home--v2 .hz-pl small { display: block; margin-top: 8px; font-size: 12.5px; line-height: 1.5; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-home--v2 .hz-pl small em { display: block; font-style: normal; color: var(--hz-ink-mute); }
body.houzez-dashboard-body .hz-home--v2 .hz-pl__go { display: block; margin-top: 11px; font-size: 12px; line-height: 1; color: var(--hz-blue); }

/* --- acciones rápidas ---------------------------------------------------------- */
body.houzez-dashboard-body .hz-home--v2 .hz-qa { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }

/* --- responsive ------------------------------------------------------------------- */
@media (max-width: 1080px) {
    body.houzez-dashboard-body .hz-home--v2 .hz-band,
    body.houzez-dashboard-body .hz-home--v2 .hz-band--ag,
    body.houzez-dashboard-body .hz-home--v2 .hz-eq__stack { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-home--v2 .hz-eq__rank { border-left: 0; padding-left: 0; border-top: 1px solid var(--hz-hairline); padding-top: 14px; }
}
@media (max-width: 900px) {
    body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot { grid-template-columns: 1fr 1fr; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__today { justify-content: flex-start; }
}
@media (max-width: 560px) {
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__in { padding: 14px 14px 12px; gap: 12px; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__av2 { width: 52px; height: 52px; flex-basis: 52px; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__ring { width: 52px; height: 52px; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__who { min-width: 0; flex: 1 1 200px; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__name { font-size: 24px; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__meta { display: none; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__today { flex: 1 1 100%; flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: 2px; scrollbar-width: none; }
    body.houzez-dashboard-body .hz-home--v2 .hz-hero__today::-webkit-scrollbar { display: none; }
    body.houzez-dashboard-body .hz-kstrip { grid-template-columns: 1fr 1fr; }
    body.houzez-dashboard-body .hz-k { border-right: 0; border-bottom: 1px solid var(--hz-hairline); }
    body.houzez-dashboard-body .hz-k:nth-child(odd) { border-right: 1px solid var(--hz-hairline); }
    body.houzez-dashboard-body .hz-k > b { font-size: 28px; }
    body.houzez-dashboard-body .hz-home--v2 .hz-two { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-home--v2 .hz-tk { grid-template-columns: 1fr; }
    body.houzez-dashboard-body .hz-home--v2 .hz-who { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
    body.houzez-dashboard-body .hz-home--v2 .hz-who::-webkit-scrollbar { display: none; }
    body.houzez-dashboard-body .hz-home--v2 .hz-card__acts .hz-btn2, body.houzez-dashboard-body .hz-home--v2 .hz-qa .hz-btn2 { flex: 1 1 100%; height: 42px; }
    body.houzez-dashboard-body .hz-home--v2 .hz-eq__tot { grid-template-columns: 1fr 1fr; }
}

/* =========================================================================
   MÓDULO DE TAREAS — v1.48.0, con la letra del rediseño en v1.49.0
   Dirección conserva las cajas de Houzez (.stats-box) y los filtros de
   siempre, más los botones por persona; el módulo del agente (.hz-tar--agente)
   usa la franja de KPI, los chips rectangulares, la caja crema del formulario
   y las filas-tarjeta del diseño.
   ========================================================================= */
body.houzez-dashboard-body .hz-tar__quienes { display: flex; flex-wrap: wrap; gap: 7px; margin: 4px 0 12px; }
body.houzez-dashboard-body .hz-tar__quienes .hz-chip--who {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px; cursor: pointer;
    border: 1px solid var(--hz-border); background: #fff; color: var(--hz-ink-soft); font-family: var(--hz-sans); font-size: 12.5px; line-height: 1; letter-spacing: 0;
    transition: background 200ms var(--hz-ease), border-color 200ms, color 200ms;
}
body.houzez-dashboard-body .hz-tar__quienes .hz-chip--who b { color: inherit; font-weight: 500; }
body.houzez-dashboard-body .hz-tar__quienes .hz-chip--who .r { width: 5px; height: 5px; border-radius: 999px; background: var(--hz-bad-dot); display: inline-block; }
body.houzez-dashboard-body .hz-tar__quienes .hz-chip--who:hover { border-color: var(--hz-gold-warm); background: var(--hz-cream); }
body.houzez-dashboard-body .hz-tar__quienes .hz-chip--who.on { background: var(--hz-navy); border-color: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-tar__de { color: var(--hz-ink-faint); }
body.houzez-dashboard-body .hz-tar__de b { color: var(--hz-ink-mute); font-weight: 500; }
body.houzez-dashboard-body .hz-tar__campo input:disabled,
body.houzez-dashboard-body .hz-tar__campo select:disabled { background: #f5f6f7; color: var(--hz-ink-mute); cursor: not-allowed; }

/* --- página «Mis tareas» del agente ------------------------------------------ */
body.houzez-dashboard-body .hz-mistareas { max-width: 1240px; }
body.houzez-dashboard-body .hz-mistareas .heading { animation: hzRise var(--hz-dur-slow) var(--hz-ease) backwards; }
body.houzez-dashboard-body .hz-mistareas .hz-eyebrow--page { color: var(--hz-gold-deep); letter-spacing: .22em; gap: 12px; }
body.houzez-dashboard-body .hz-mistareas .hz-eyebrow--page::after { flex: 0 0 34px; background: #d8cfb8; }
body.houzez-dashboard-body .hz-mistareas .heading h2 { margin: 10px 0 0; font-family: var(--hz-serif); font-weight: 500; font-size: 42px; line-height: 1.05; color: var(--hz-ink); }
body.houzez-dashboard-body .hz-mistareas .heading .text-muted { margin: 10px 0 0; max-width: 720px; font-size: 14.5px; line-height: 1.55; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-tar--agente .hz-kstrip { margin-top: 22px; animation: hzRise var(--hz-dur-slow) var(--hz-ease) 80ms backwards; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__bar { margin: 16px 0 0; gap: 8px; animation: hzRise var(--hz-dur-slow) var(--hz-ease) 130ms backwards; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__filtros { gap: 8px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__filtros .hz-chip {
    height: 34px; padding: 0 14px; border-radius: 3px; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; gap: 7px; white-space: nowrap; flex: none;
    transition: background 200ms var(--hz-ease), border-color 200ms, color 200ms;
}
body.houzez-dashboard-body .hz-tar--agente .hz-tar__filtros .hz-chip .n { background: none; color: inherit; opacity: .8; padding: 0; font-size: 11px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form { margin: 16px 0 0; background: var(--hz-cream); border-color: #f0e9dc; border-radius: 4px; padding: 18px 20px 17px; }
/* El formulario se despliega (hr-tareas.js pone is-open): altura + opacidad en 280 ms.
   Cerrado queda con visibility hidden al terminar, para que nada de adentro reciba foco. */
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form {
    display: block; overflow: hidden; max-height: 0; opacity: 0; visibility: hidden;
    padding-top: 0; padding-bottom: 0; border-top-width: 0; border-bottom-width: 0; margin-top: 0;
    transition: max-height 280ms var(--hz-ease), opacity 280ms var(--hz-ease), padding 280ms var(--hz-ease), margin 280ms var(--hz-ease), visibility 0s linear 280ms;
}
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form.is-open {
    max-height: 1200px; opacity: 1; visibility: visible; padding: 18px 20px 17px; border-top-width: 1px; border-bottom-width: 1px; margin-top: 16px;
    transition-delay: 0s;
}
/* El check del círculo entra con un pequeño rebote. */
@keyframes hzPop { from { transform: rotate(-45deg) translate(1px, -1px) scale(.4); opacity: 0; } to { transform: rotate(-45deg) translate(1px, -1px) scale(1); opacity: 1; } }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__check { transition: border-color 180ms, background 180ms; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__check:hover { border-color: var(--hz-ok); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__check[aria-pressed="true"] span[aria-hidden] { animation: hzPop 260ms var(--hz-ease) both; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__campo > span { font-size: 9.5px; letter-spacing: .18em; font-weight: 500; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__campo input,
body.houzez-dashboard-body .hz-tar--agente .hz-tar__campo select { height: 40px; padding: 0 12px; font-size: 14px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__campo textarea { padding: 10px 12px; font-size: 14px; line-height: 1.5; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form-pie { justify-content: flex-start; border-top: 0; padding-top: 0; margin-top: 15px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__nota { font-style: italic; font-size: 12px; color: var(--hz-ink-faint); margin-left: auto; margin-right: 0; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__msg { margin-right: 0; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__lista { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__it {
    grid-template-columns: 26px 1fr auto; gap: 15px; padding: 16px 18px 15px 19px; margin: 0; border-radius: 4px; box-shadow: var(--hz-shadow-xs);
    animation: hzRise 280ms var(--hz-ease) backwards; animation-delay: calc(var(--i, 0) * var(--hz-stagger));
    transition: opacity 300ms var(--hz-ease), box-shadow var(--hz-dur-fast), border-color var(--hz-dur-fast);
}
body.houzez-dashboard-body .hz-tar--agente .hz-tar__it:hover { border-color: var(--hz-border); box-shadow: 0 1px 2px rgba(14,42,58,.04), 0 10px 24px -16px rgba(14,42,58,.24); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__it.is-rez { border-left: 3px solid var(--hz-bad); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__it.is-hecha { opacity: .7; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__check { width: 26px; height: 26px; border-color: #cfd8de; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__check[aria-pressed="true"] span[aria-hidden] { width: 11px; height: 6px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__t { font-size: 16px; font-weight: 400; line-height: 1.35; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__n { font-size: 13px; font-weight: 400; margin: 5px 0 0; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__meta { margin-top: 10px; gap: 9px; font-size: 12.5px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__meta .hz-st { font-size: 9.5px; letter-spacing: .14em; padding: 5px 7px; }
body.houzez-dashboard-body .hz-tar--agente .hz-st--info { background: #f0f4f6; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-tar--agente .hz-st--prog { background: var(--hz-doing-bg); color: var(--hz-doing); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__fecha { color: var(--hz-ink); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__fecha.is-rez { color: var(--hz-bad); font-weight: 400; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__de::before { content: none; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__acc { flex-direction: column; align-items: flex-end; gap: 7px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__estsel select { height: 36px; min-width: 128px; padding: 0 10px; font-size: 13px; }
body.houzez-dashboard-body .hz-tar__mini { display: flex; gap: 10px; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__mini .hz-tar__ic { border: 0; padding: 0; background: none; font-size: 12px; color: var(--hz-blue); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__mini .hz-tar__ic:hover { color: var(--hz-navy); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__mini .hz-tar__ic--del:hover { color: var(--hz-bad); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__ic--lock { border: 0; padding: 0; background: none; font-size: 12px; color: var(--hz-blue); }
body.houzez-dashboard-body .hz-tar__lock { max-width: 200px; text-align: right; font-size: 11.5px; line-height: 1.35; font-style: italic; color: var(--hz-ink-faint); }
body.houzez-dashboard-body .hz-tar--agente .hz-empty { background: #fff; border: 1px solid var(--hz-border); border-radius: 4px; padding: 44px 20px 40px; text-align: center; font-weight: 400; color: var(--hz-ink-mute); font-size: 13.5px; line-height: 1.5; }
body.houzez-dashboard-body .hz-tar--agente .hz-empty::before { content: ""; display: block; width: 60px; height: 60px; margin: 0 auto 16px; border-radius: 999px; border: 1px solid rgba(184,168,136,.7); background: linear-gradient(var(--hz-rule) 0 0) center / 28px 1.4px no-repeat; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__pie { margin-top: 16px; font-size: 12.5px; color: var(--hz-ink-faint); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__bar .hz-btn.hz-btn--pri { height: 38px; padding: 0 17px; font-size: 10.5px; letter-spacing: .14em; display: inline-flex; align-items: center; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form-pie .hz-btn { height: 38px; padding: 0 18px; font-size: 10.5px; letter-spacing: .14em; display: inline-flex; align-items: center; border: 1px solid var(--hz-border); background: #fff; color: var(--hz-ink-soft); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form-pie .hz-btn:hover { border-color: var(--hz-gold-warm); color: var(--hz-navy); }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form-pie .hz-btn--pri { border-color: var(--hz-navy); background: var(--hz-navy); color: #fff; }
body.houzez-dashboard-body .hz-tar--agente .hz-tar__form-pie .hz-btn--pri:hover { background: var(--hz-navy-2); }
@media (max-width: 700px) {
    body.houzez-dashboard-body .hz-tar--agente .hz-tar__it { grid-template-columns: 26px 1fr; }
    body.houzez-dashboard-body .hz-tar--agente .hz-tar__acc { flex-direction: row; align-items: center; justify-content: space-between; grid-column: 2 / -1; margin-top: 10px; }
    body.houzez-dashboard-body .hz-tar__lock { text-align: left; }
    body.houzez-dashboard-body .hz-tar--agente .hz-tar__bar { flex-wrap: wrap; }
    body.houzez-dashboard-body .hz-tar--agente .hz-tar__filtros { flex: 1 1 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
    body.houzez-dashboard-body .hz-tar--agente .hz-tar__bar .hz-btn.hz-btn--pri { width: 100%; justify-content: center; height: 42px; }
    body.houzez-dashboard-body .hz-tar--agente .hz-tar__filtros::-webkit-scrollbar { display: none; }
    body.houzez-dashboard-body .hz-mistareas .heading h2 { font-size: 32px; }
}

/* =========================================================================
   Móvil: las tablas del panel se leen como tarjetas
   -------------------------------------------------------------------------
   Hasta la 1.51.0 cada tabla reducía sus columnas en el móvil (`--comi` de 8 a
   4, `--cli` de 7 a 3) pero seguía teniendo el MISMO número de celdas: las que
   no cabían caían en filas implícitas de la rejilla, en columnas que no eran
   las suyas. De ahí el «PARA HORIZONSESTADO» pegado de Comisiones, los 86 px
   de desborde horizontal de esa página, y la ficha de un cliente del CRM de
   549 px de alto con «Buscar propiedades» partido en dos líneas dentro de una
   columna de 90 px.

   Debajo de 700 px cada fila pasa a ser una tarjeta que fluye: la celda que da
   nombre (el cliente, la propiedad) va a lo ancho y de primera; el resto se
   acomoda en línea; los botones bajan a su propia franja. La cabecera de
   columnas se esconde —no hay columnas que encabezar— y por eso las celdas que
   sin ella quedarían mudas (un monto, un «Sí», cuatro estrellas) llevan su
   etiqueta encima, desde `data-l` en el marcado.
   @since 1.52.0
   ========================================================================= */
@media (max-width: 700px) {
    body.houzez-dashboard-body .hz-trow--head:not(.hz-trow--prod) { display: none !important; }
    /* `--prod` y `--disp` quedan fuera: la tabla de Producciones tiene su propio
       contenedor con scroll horizontal y la de Disponibles es una tarjeta-enlace
       con miniatura, dos diseños que ya funcionan en móvil. */

    body.houzez-dashboard-body .hz-trow:not(.hz-trow--disp):not(.hz-trow--prod) {
        display: flex; flex-wrap: wrap; align-items: flex-start; grid-template-columns: none;
        gap: 8px 14px; padding: 12px 14px 13px; font-size: 13px;
    }
    body.houzez-dashboard-body .hz-trow:not(.hz-trow--disp):not(.hz-trow--prod) > * { min-width: 0; max-width: 100%; }
    body.houzez-dashboard-body .hz-trow:not(.hz-trow--disp):not(.hz-trow--prod) .hz-num,
    body.houzez-dashboard-body .hz-trow:not(.hz-trow--disp):not(.hz-trow--prod) .hz-center { text-align: left; }

    /* La celda que le da nombre a la tarjeta: a lo ancho y de primera. */
    body.houzez-dashboard-body :is(.hz-trow--cli, .hz-trow--ent, .hz-trow--ag, .hz-trow--dircli, .hz-trow--dirpub, .hz-trow--dircom) > *:first-child,
    body.houzez-dashboard-body :is(.hz-trow--comi, .hz-trow--rec) > *:nth-child(3),
    body.houzez-dashboard-body .hz-trow--docd > *:nth-child(2) {
        flex: 1 0 100%; order: -1; font-size: 14px; line-height: 1.4;
    }

    /* Etiqueta de la celda: sin cabecera de columnas, un número solo no dice nada. */
    body.houzez-dashboard-body .hz-trow:not(.hz-trow--disp):not(.hz-trow--prod) > [data-l]::before {
        content: attr(data-l); display: block; margin-bottom: 2px;
        font-family: var(--hz-sans); font-size: 9px; font-weight: 500; letter-spacing: .14em;
        text-transform: uppercase; color: var(--hz-ink-mute); line-height: 1;
    }

    /* Los botones, en su propia franja al pie de la tarjeta. */
    body.houzez-dashboard-body .hz-trow:not(.hz-trow--disp):not(.hz-trow--prod) .hz-rowacts {
        flex: 1 0 100%; order: 9; justify-content: flex-start; flex-wrap: wrap; gap: 7px; margin-top: 8px;
    }
    body.houzez-dashboard-body .hz-trow:not(.hz-trow--disp):not(.hz-trow--prod) .hz-rowacts > * {
        flex: 1 1 auto; justify-content: center; white-space: nowrap;
    }
    body.houzez-dashboard-body .hz-trow .hz-rowacts .hz-cliNuevos {
        flex: 1 0 100%; justify-content: flex-start; white-space: normal;
    }
    /* El botón de borrar no necesita crecer: se queda del ancho de su ícono. */
    body.houzez-dashboard-body .hz-trow .hz-rowacts .hz-cliDel,
    body.houzez-dashboard-body .hz-trow .hz-rowacts .hz-recDel { flex: 0 0 auto; min-width: 46px; }

    /* Fila de totales: sigue leyéndose como total, no como una tarjeta más. */
    body.houzez-dashboard-body .hz-trow--tot { background: var(--hz-cream); }
}

/* =========================================================================
   Papelera del CRM y aviso con botón — v1.53.0
   =========================================================================

   `.hz-toast` nació para avisos que solo se leen y por eso lleva
   `pointer-events: none`. El «Deshacer» de la papelera necesita que se pueda
   pulsar, así que la variante lo devuelve a `auto`. La regla base no se toca:
   todos los avisos sin botón siguen siendo intocables, que es lo correcto —
   un aviso que se cruza en un clic es un clic perdido.
   ========================================================================= */

body.houzez-dashboard-body .hz-toast--act { pointer-events: auto; display: flex; align-items: center; gap: 14px; }
body.houzez-dashboard-body .hz-toast__b {
    background: none; border: 0; padding: 0; cursor: pointer; flex: none;
    color: var(--hz-gold, #B8A888); font: 500 12.5px/1 var(--hz-font-ui, Outfit, Arial, sans-serif);
    border-bottom: 1px solid rgba(184,168,136,.55); transition: color .16s, border-color .16s;
}
body.houzez-dashboard-body .hz-toast__b:hover { color: #fff; border-color: #fff; }
body.houzez-dashboard-body .hz-toast__b:focus-visible { outline: 2px solid rgba(39,129,173,.75); outline-offset: 3px; }

/* La fila de la papelera: cinco columnas, una menos que la de clientes —acá no
   hay «Financia» ni «Perfil», que no ayudan a decidir si algo se restaura. */
body.houzez-dashboard-body .hz-trow--pap { grid-template-columns: 2.1fr 1fr 1.6fr .9fr auto; }
body.houzez-dashboard-body .hz-papnota {
    margin: 4px 2px 14px; font-size: 12.5px; line-height: 1.5; color: var(--hz-ink-mute, #5F6B76);
}
body.houzez-dashboard-body .hz-dl--bad { color: #A33C2E; border-color: rgba(163,60,46,.35); }
body.houzez-dashboard-body .hz-dl--bad:hover { background: #A33C2E; border-color: #A33C2E; color: #fff; }

/* Tres pestañas no caben en 375 px con 18 px de aire a cada lado: la tercera
   —Papelera, v1.53.0— se salía 34 px por la derecha y arrastraba toda la
   página. Se aprieta el aire y se permite que baje de línea; si el título es
   largo, «Mis Clientes» parte en dos y las tres siguen visibles. Se aplica a
   toda barra .hz-tabs porque el problema es del ancho, no de esta pantalla:
   Mercadeo tiene cuatro pestañas y le pasa lo mismo. */
@media (max-width: 700px) {
    body.houzez-dashboard-body .hz-tabs { flex-wrap: wrap; gap: 2px; }
    body.houzez-dashboard-body .hz-tab { padding: 10px 10px 12px; font-size: 13px; gap: 6px; }
    body.houzez-dashboard-body .hz-tab .hz-n,
    body.houzez-dashboard-body .hz-tab .n { padding: 2px 6px; }

    /* El aviso flotante ocupaba el ancho de su contenido y con el botón dentro
       el texto se estrujaba a cuatro líneas de tres palabras. Se le da el ancho
       de la pantalla menos los márgenes y el texto deja de competir con el
       botón por el espacio. */
    body.houzez-dashboard-body .hz-toast { left: 16px; right: 16px; transform: translateY(20px); max-width: none; }
    body.houzez-dashboard-body .hz-toast.on { transform: translateY(0); }
}
body.houzez-dashboard-body .hz-toast--act { max-width: min(520px, calc(100vw - 32px)); }
body.houzez-dashboard-body .hz-toast--act > .hz-toast__b { margin-left: auto; }

/* =========================================================================
   Dirección › Licencias — v1.56.0
   ========================================================================= */

body.houzez-dashboard-body .hz-lic__nota { margin: 4px 2px 18px; font-size: 12.5px; line-height: 1.55; color: var(--hz-ink-mute, #5F6B76); max-width: 70ch; }
body.houzez-dashboard-body .hz-lic__aviso { margin: 0 0 16px; padding: 10px 14px; border-radius: 8px; font-size: 13px;
    background: var(--hz-ok-bg, #EAF4EE); color: var(--hz-ok, #2f6a45); border: 1px solid rgba(47,106,69,.2); }
body.houzez-dashboard-body .hz-lic__aviso.is-mal { background: #FBEDEA; color: #A33C2E; border-color: rgba(163,60,46,.22); }
body.houzez-dashboard-body .hz-lic section { margin-bottom: 30px; }
body.houzez-dashboard-body .hz-lic h3 { font: 500 17px/1.2 var(--hz-font-title, "Cormorant Garamond", Georgia, serif); color: var(--hz-navy, #0E2A3A); margin: 0 0 4px; display: flex; align-items: center; gap: 8px; }

body.houzez-dashboard-body .hz-trow--lic { grid-template-columns: 1.6fr .6fr 1.3fr 1.6fr auto; }
/* La licencia se dicta y se copia: en monoespaciada no se confunde una letra. */
body.houzez-dashboard-body .hz-lic__cod { letter-spacing: .04em; }
body.houzez-dashboard-body .hz-trow--lic.is-baja { opacity: .55; }

body.houzez-dashboard-body .hz-lic__fila,
body.houzez-dashboard-body .hz-lic__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px;
    padding: 12px 14px; background: #fff; border: 1px solid var(--hz-border, #E4E1DA); border-radius: 8px; margin-top: 8px; }
body.houzez-dashboard-body .hz-lic__quien { flex: 1 1 200px; display: flex; flex-direction: column; font-size: 13px; }
body.houzez-dashboard-body .hz-lic__form label { display: flex; flex-direction: column; gap: 5px; font-size: 11px;
    letter-spacing: .1em; text-transform: uppercase; color: var(--hz-ink-mute, #5F6B76); }
body.houzez-dashboard-body .hz-lic__fila input,
body.houzez-dashboard-body .hz-lic__form input { height: 38px; padding: 0 10px; border-radius: 8px;
    border: 1px solid var(--hz-border, #E4E1DA); font: 400 13px/1 var(--hz-font-ui, Outfit, Arial, sans-serif); text-transform: none; }
body.houzez-dashboard-body .hz-lic__fila input[name="sufijo"],
body.houzez-dashboard-body .hz-lic__form input[name="sufijo"] { width: 62px; text-align: center; letter-spacing: .12em; }

@media (max-width: 700px) {
    body.houzez-dashboard-body .hz-lic__fila > *,
    body.houzez-dashboard-body .hz-lic__form > * { flex: 1 1 100%; }
    body.houzez-dashboard-body .hz-lic__fila input[name="sufijo"],
    body.houzez-dashboard-body .hz-lic__form label:has(input[name="sufijo"]) { flex: 0 0 auto; }
}
