:root{--navy:#061d35;--blue:#0f4c81;--orange:#ff6200;--green:#10b981;--yellow:#f59e0b;--red:#ef4444;--line:#e5eaf0;--bg:#f4f7fb;--ink:#142033}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink)}a{text-decoration:none;color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,var(--navy),#0c3159);color:#fff;padding:24px;display:flex;flex-direction:column;gap:26px}.side-brand{display:flex;gap:12px;align-items:center;font-weight:900;font-size:20px;line-height:1.05}.side-brand i{width:48px;height:48px;border-radius:14px;background:var(--orange);display:grid;place-items:center}.sidebar nav{display:grid;gap:8px}.sidebar a{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:12px;color:rgba(255,255,255,.82);font-weight:800}.sidebar a:hover{background:rgba(255,255,255,.1);color:#fff}.sidebar .danger{margin-top:16px;color:#fecaca}.content{margin-left:260px;padding:30px;min-height:100vh}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{margin:0 0 6px;color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.top h1{margin:0;font-size:38px;color:var(--navy)}.user-pill{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.user-pill i{color:var(--orange)}.user-pill small{display:block;color:#64748b;text-transform:capitalize}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 18px 45px rgba(15,23,42,.06);display:grid;gap:8px}.stat i{font-size:28px;color:var(--orange)}.stat span{color:#64748b;font-weight:800}.stat strong{font-size:38px;color:var(--navy)}.stat.ok i{color:var(--green)}.stat.warn i{color:var(--yellow)}.stat.danger-stat i{color:var(--red)}.quick-grid,.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.quick,.project-card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 18px 45px rgba(15,23,42,.06)}.quick i,.project-card>i{font-size:32px;color:var(--orange)}.quick h3,.project-card h3,.panel h2{color:var(--navy);margin:12px 0 8px}.panel{margin-bottom:22px}.narrow{max-width:760px}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}.form-stack{display:grid;gap:15px}input,select,textarea{width:100%;border:1px solid #d8e0ea;border-radius:12px;padding:12px 14px;font:inherit;background:#fff}textarea{min-height:110px}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#e8edf3;color:var(--navy);cursor:pointer}.btn.primary{background:var(--orange);color:#fff}.btn.danger{background:#fee2e2;color:#991b1b}.btn.small{padding:8px 11px;font-size:13px}.alert{padding:14px 16px;border-radius:14px;margin-bottom:18px;font-weight:800}.alert.ok{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}td small{display:block;color:#64748b;margin-top:3px}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;background:#e8edf3;font-size:12px;font-weight:900;text-transform:uppercase}.badge.libre,.lot.libre b{background:#dcfce7;color:#166534}.badge.reservado,.lot.reservado b{background:#fef3c7;color:#92400e}.badge.vendido,.lot.vendido b{background:#fee2e2;color:#991b1b}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:10px}.check,.checks label{display:flex;gap:8px;align-items:center;font-weight:700}.check input,.checks input{width:auto}.edit-box{display:grid;gap:10px;min-width:320px;margin-top:12px;padding:14px;background:#f8fafc;border-radius:14px}.filters{display:flex;gap:12px}.lot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.lot{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:10px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.lot strong{display:block;font-size:24px;color:var(--navy)}.lot b{justify-self:start;border-radius:999px;padding:5px 9px;font-size:11px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#061d35,#0f4c81 55%,#ff6200);padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:24px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.28);text-align:center}.brand-mark{width:70px;height:70px;margin:0 auto 18px;border-radius:20px;background:#ff6200;color:#fff;display:grid;place-items:center;font-size:30px}.hint{margin-top:18px;color:#64748b;font-size:13px}@media(max-width:860px){.sidebar{position:static;width:auto}.content{margin-left:0;padding:18px}.top{align-items:flex-start;gap:14px;flex-direction:column}.grid-form{grid-template-columns:1fr}.filters{flex-direction:column}}
.filters-panel{padding:18px}.dulce-board{overflow:hidden}.dulce-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.dulce-head h2{font-size:30px;margin:4px 0 6px;color:var(--navy)}.dulce-head p{margin:0;color:#64748b;font-weight:700}.map-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.map-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.map-legend span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 11px;font-size:12px;font-weight:900;text-transform:uppercase}.legend{width:18px;height:18px;border-radius:5px;border:2px solid #94a3b8;display:inline-block}.legend.libre{background:#fff}.legend.reservado{background:#16a34a;border-color:#15803d}.legend.vendido{background:#2563eb;border-color:#1d4ed8}.dulce-map-shell{width:100%;overflow:auto;border:1px solid #d8e0ea;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#eef4fa);padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.dulce-map{width:100%;min-width:980px;height:auto;display:block}.map-bg{fill:#f8fafc}.map-lot{stroke:#26364a;stroke-width:22;vector-effect:non-scaling-stroke;transition:fill .18s ease,stroke .18s ease,filter .18s ease}.map-lot.libre{fill:#fff}.map-lot.reservado{fill:#16a34a}.map-lot.vendido{fill:#2563eb}.map-lot-link:hover .map-lot{stroke:#ff6200;filter:drop-shadow(0 10px 14px rgba(15,23,42,.22))}.map-label{font-size:175px;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none;fill:#0f172a;paint-order:stroke;stroke:#fff;stroke-width:18;letter-spacing:0}.map-label.reservado,.map-label.vendido{fill:#fff;stroke:rgba(15,23,42,.42)}.lot-summary h2{margin-top:0}.lot-grid.compact{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.lot-grid.compact .lot{padding:13px}.lot-grid.compact .lot strong{font-size:20px}.lot.reservado b,.badge.reservado{background:#16a34a;color:#fff}.lot.vendido b,.badge.vendido{background:#2563eb;color:#fff}.lot.libre b,.badge.libre{background:#fff;color:#0f172a;border:1px solid #cbd5e1}@media(max-width:860px){.dulce-head{flex-direction:column}.map-legend{justify-content:flex-start}.dulce-map-shell{padding:10px;border-radius:12px}.dulce-map{min-width:760px}.map-label{font-size:210px}.lot-grid.compact{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}

.lot-detail-modal{position:fixed;inset:0;background:rgba(6,29,53,.58);display:none;align-items:center;justify-content:center;padding:22px;z-index:50}.lot-detail-modal[aria-hidden="false"]{display:flex}.lot-detail-card{width:min(860px,100%);background:#fff;border-radius:18px;box-shadow:0 34px 90px rgba(0,0,0,.34);padding:22px;display:grid;grid-template-columns:minmax(260px,.9fr) 1fr;gap:22px;position:relative}.lot-detail-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:999px;background:#eef2f7;color:#0f172a;font-size:26px;line-height:1;cursor:pointer}.lot-detail-preview{min-height:320px;border:1px solid #d8e0ea;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#eef4fa);display:grid;place-items:center;padding:18px}.lot-detail-preview svg{width:100%;height:300px;display:block}.lot-detail-info{display:grid;align-content:center;gap:14px;padding-right:28px}.lot-detail-info h2{margin:0;color:var(--navy);font-size:32px}.detail-state{justify-self:start;border-radius:999px;padding:8px 12px;background:#fff;border:1px solid #cbd5e1;color:#0f172a;font-weight:900;text-transform:uppercase;font-size:12px}.detail-state.separado{background:#16a34a;color:#fff;border-color:#15803d}.detail-state.vendido{background:#2563eb;color:#fff;border-color:#1d4ed8}.lot-detail-info dl{display:grid;gap:10px;margin:0}.lot-detail-info dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.lot-detail-info dt{font-weight:900;color:#64748b;text-transform:uppercase;font-size:12px}.lot-detail-info dd{margin:0;font-weight:900;color:#0f172a}@media(max-width:760px){.lot-detail-card{grid-template-columns:1fr;padding:18px}.lot-detail-preview{min-height:220px}.lot-detail-preview svg{height:220px}.lot-detail-info{padding-right:0}.lot-detail-info h2{font-size:26px}.lot-detail-info dl div{grid-template-columns:1fr;gap:3px}}

.operation-layout{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:22px;align-items:start}.operation-lot-card h2,.operation-form-card h2{margin:8px 0 10px}.operation-meta{display:grid;gap:10px;margin-bottom:14px}.operation-meta strong{font-size:24px;color:var(--navy)}.operation-shape{min-height:290px;border:1px solid #d8e0ea;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#eef4fa);display:grid;place-items:center;padding:18px;margin:14px 0}.operation-shape svg{width:100%;height:270px;display:block}.shape-empty{color:#64748b;font-weight:900;text-align:center}.operation-data{display:grid;gap:10px;margin:0}.operation-data div{display:grid;grid-template-columns:105px 1fr;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.operation-data dt{font-size:12px;color:#64748b;text-transform:uppercase;font-weight:900}.operation-data dd{margin:0;color:#0f172a;font-weight:900}.operation-form-card p{margin-top:0;color:#64748b;font-weight:700}@media(max-width:920px){.operation-layout{grid-template-columns:1fr}.operation-shape{min-height:230px}.operation-shape svg{height:230px}}

.pdf-plan-shell{width:100%;height:72vh;min-height:560px;border:1px solid #d8e0ea;border-radius:16px;background:#f8fafc;overflow:hidden}.pdf-plan-shell object{width:100%;height:100%;display:block}.operation-shape.pdf-mini{padding:0;overflow:hidden}.operation-shape.pdf-mini object{width:100%;height:290px;display:block;border:0}.lot-summary .lot small{line-height:1.45}@media(max-width:860px){.pdf-plan-shell{height:68vh;min-height:430px}.operation-shape.pdf-mini object{height:230px}}

.mz-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:18px}.mz-card{display:grid;gap:6px;border:1px solid #d8e0ea;border-radius:14px;background:#fff;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.mz-card:hover{border-color:#ff6200;transform:translateY(-1px)}.mz-card strong{font-size:24px;color:var(--navy)}.mz-card span{font-weight:900;color:#0f172a}.mz-card small{color:#64748b;font-weight:800}.operation-lot-visual{min-height:250px;border:1px solid #d8e0ea;border-radius:16px;background:#fff;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;margin:14px 0;color:#0f172a}.operation-lot-visual.reservado{background:#16a34a;color:#fff}.operation-lot-visual.vendido{background:#2563eb;color:#fff}.operation-lot-visual span{font-size:28px;font-weight:900}.operation-lot-visual strong{font-size:58px;line-height:1}.operation-lot-visual small{font-size:18px;font-weight:900}.operation-lot-visual.libre{background:#fff}.operation-lot-visual.libre strong,.operation-lot-visual.libre span{color:#0f172a}

.svg-plan-shell{width:100%;max-height:72vh;min-height:520px;overflow:auto;border:1px solid #d8e0ea;border-radius:16px;background:#fff;margin:18px 0;padding:10px}.svg-plan-shell img{display:block;width:100%;min-width:920px;height:auto}.operation-plan-ref{height:240px;overflow:auto;border:1px solid #d8e0ea;border-radius:14px;background:#fff;margin:12px 0;padding:8px}.operation-plan-ref img{display:block;width:100%;min-width:620px;height:auto}@media(max-width:860px){.svg-plan-shell{min-height:420px}.svg-plan-shell img{min-width:760px}.operation-plan-ref{height:210px}.operation-plan-ref img{min-width:560px}}

.lot.selectable{position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.lot.selectable:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.16);border-color:#ff6200}.lot.selectable.libre{background:#fff;color:#0f172a}.lot.selectable.reservado{background:#16a34a;color:#fff;border-color:#15803d}.lot.selectable.vendido{background:#2563eb;color:#fff;border-color:#1d4ed8}.lot.selectable.reservado strong,.lot.selectable.vendido strong,.lot.selectable.reservado small,.lot.selectable.vendido small{color:#fff}.lot.selectable.libre strong{color:var(--navy)}.lot.selectable.reservado b,.lot.selectable.vendido b{background:rgba(255,255,255,.18);color:#fff}.lot.selectable.libre b{background:#fff;color:#0f172a;border:1px solid #cbd5e1}.lot-select-label{justify-self:stretch;background:rgba(15,23,42,.08)}.lot.selectable.reservado .lot-select-label,.lot.selectable.vendido .lot-select-label{background:rgba(255,255,255,.18);color:#fff}.lot.selectable.libre .lot-select-label{background:#e8edf3;color:var(--navy)}

/* Estado final solicitado para Dulce Naranjal */
.map-lot.vendido{fill:#ef4444!important}.legend.vendido{background:#ef4444!important;border-color:#dc2626!important}.lot.selectable.vendido{background:#ef4444!important;border-color:#dc2626!important;color:#fff}.lot.vendido b,.badge.vendido{background:#ef4444!important;color:#fff!important}.operation-lot-visual.vendido{background:#ef4444!important;color:#fff}.detail-state.vendido{background:#ef4444!important;border-color:#dc2626!important;color:#fff}.map-lot.reservado{fill:#16a34a!important}.lot.selectable.reservado{background:#16a34a!important;border-color:#15803d!important;color:#fff}.operation-lot-visual.reservado{background:#16a34a!important;color:#fff}.map-lot.libre{fill:#fff!important}.map-lot-link{cursor:pointer}.dulce-map-shell{max-height:76vh;overflow:auto}.dulce-map{min-width:980px}.map-lot-link:hover .map-lot{stroke:#ff6200!important;stroke-width:34;filter:drop-shadow(0 10px 14px rgba(15,23,42,.24))}

.operation-selected-lot{min-height:300px;border:1px solid #d8e0ea;border-radius:16px;background:#f8fafc;display:grid;place-items:center;padding:18px;margin:14px 0}.operation-selected-lot svg{width:100%;height:290px;display:block}.selected-lot-fallback{width:100%;min-height:250px;border-radius:14px;display:grid;place-items:center;align-content:center;gap:10px;background:#fff;color:#0f172a;border:1px solid #cbd5e1}.operation-selected-lot.reservado .selected-lot-fallback{background:#16a34a;color:#fff}.operation-selected-lot.vendido .selected-lot-fallback{background:#ef4444;color:#fff}.selected-lot-fallback span{font-size:30px;font-weight:900}.selected-lot-fallback strong{font-size:62px;line-height:1}@media(max-width:860px){.operation-selected-lot{min-height:230px}.operation-selected-lot svg{height:230px}.selected-lot-fallback{min-height:210px}}

.reference-plan-shell{width:100%;max-height:78vh;overflow:auto;border:1px solid #d8e0ea;border-radius:16px;background:#fff;margin:18px 0;padding:10px}.reference-plan-shell img{display:block;width:100%;min-width:900px;height:auto}.reference-plan-shell + .mz-summary-grid{margin-top:18px}@media(max-width:860px){.reference-plan-shell{max-height:68vh}.reference-plan-shell img{min-width:760px}}

.interactive-plan-shell{width:100%;max-height:78vh;overflow:auto;border:1px solid #d8e0ea;border-radius:16px;background:#fff;margin:18px 0;padding:10px}.interactive-plan{display:block;width:100%;min-width:900px;height:auto}.overlay-lot-link{cursor:pointer}.overlay-lot{transition:fill-opacity .15s ease,stroke-width .15s ease,filter .15s ease}.overlay-lot-link:hover .overlay-lot{fill-opacity:.88!important;stroke:#ff6200!important;stroke-width:4!important;filter:drop-shadow(0 6px 8px rgba(15,23,42,.28))}.overlay-lot.reservado{fill:#16a34a!important}.overlay-lot.vendido{fill:#ef4444!important}.overlay-lot.libre{fill:#fff!important}@media(max-width:860px){.interactive-plan-shell{max-height:68vh}.interactive-plan{min-width:760px}}

.operation-selected-lot.plan-context{height:520px;min-height:520px;overflow:auto;background:#fff;align-items:start;justify-items:center;padding:10px}.operation-selected-lot.plan-context svg{display:block;width:100%;min-width:560px;height:auto}.operation-lot-card{max-width:none}.operation-layout{grid-template-columns:minmax(420px,560px) 1fr}@media(max-width:920px){.operation-selected-lot.plan-context{height:430px;min-height:430px}.operation-selected-lot.plan-context svg{min-width:520px}.operation-layout{grid-template-columns:1fr}}

/* Los lotes libres no dibujan una segunda capa sobre la imagen del plano. */
.overlay-lot.libre {
    fill-opacity: 0 !important;
    stroke: transparent !important;
    stroke-width: 0 !important;
}

.overlay-lot-link:hover .overlay-lot.libre {
    fill-opacity: .16 !important;
    stroke: #ff6200 !important;
    stroke-width: 3 !important;
}

.overlay-click-area {
    pointer-events: all;
}

.overlay-lot.reservado,
.overlay-lot.vendido,
.overlay-lot-link:hover .overlay-lot.reservado,
.overlay-lot-link:hover .overlay-lot.vendido {
    fill-opacity: 1 !important;
}

/* Estado por texto: sin relleno de color en el plano. */
.overlay-lot.reservado,
.overlay-lot.vendido,
.overlay-lot-link:hover .overlay-lot.reservado,
.overlay-lot-link:hover .overlay-lot.vendido {
    fill: transparent !important;
    fill-opacity: 0 !important;
    stroke: transparent !important;
    stroke-width: 0 !important;
    filter: none !important;
}

.lot-status-text,
.lot-number-text {
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 3px;
    stroke-linejoin: round;
    pointer-events: none;
}


/* Texto de estado compacto dentro del lote. */
.lot-status-text {
    stroke-width: 1.1px !important;
}
.lot-number-text {
    display: none !important;
}
.operation-lock-note {
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #991b1b;
    border-radius: 12px;
    padding: 14px 16px;
    font-weight: 800;
}
.form-stack.is-locked {
    opacity: .62;
}

/* Demo lotes: proyectos plegables con manzanas asignadas. */
.demo-project-folders {
    display: grid;
    gap: 16px;
}
.demo-fold-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 14px;
}
.demo-fold-head h2 {
    margin: 4px 0 0;
}
.demo-fold-head p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}
.demo-fold-list {
    display: grid;
    gap: 10px;
}
.demo-project-fold {
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.demo-project-fold summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    cursor: pointer;
    padding: 14px 16px;
    list-style: none;
}
.demo-project-fold summary::-webkit-details-marker {
    display: none;
}
.demo-project-fold summary span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #0f172a;
}
.demo-project-fold summary i {
    color: #ff6200;
}
.demo-project-fold summary small {
    color: #64748b;
    font-weight: 800;
}
.demo-mz-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
    padding: 0 14px 14px;
}
.demo-mz-row {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
    text-decoration: none;
    color: #0f172a;
    display: grid;
    gap: 5px;
    background: #f8fafc;
}
.demo-mz-row:hover,
.demo-mz-row.active {
    border-color: #ff6200;
    background: #fff7ed;
}
.demo-mz-row strong {
    font-size: 15px;
}
.demo-mz-row span,
.demo-mz-row small,
.empty-mz {
    color: #64748b;
    font-weight: 700;
}
.empty-mz {
    margin: 0;
    padding: 12px;
}
@media (max-width: 760px) {
    .demo-fold-head,
    .demo-project-fold summary {
        align-items: start;
        flex-direction: column;
    }
}

.plano-link-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.plano-link-panel h2 {
    margin: 4px 0;
}
.plano-link-panel p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}
.plano-filter-panel .filters {
    align-items: center;
}
.plano-comercial-board {
    margin-top: 16px;
}
@media (max-width: 760px) {
    .plano-link-panel {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Lotes principal: acceso por proyecto hacia el modulo de seleccion. */
.project-lotes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 300px));
    gap: 14px;
    justify-content: start;
}
.project-lotes-card {
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    background: #ffffff;
    padding: 16px;
    display: grid;
    gap: 12px;
}
.project-lotes-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff7ed;
    color: #ff6200;
    font-size: 18px;
}
.project-lotes-card h3 {
    margin: 0 0 4px;
    color: #0f172a;
}
.project-lotes-card p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}
.project-lotes-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.project-lotes-stats span {
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 5px 9px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    background: #f8fafc;
}
.project-lotes-stats span.free{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.project-lotes-stats span.reserved{border-color:#fde68a;background:#fffbeb;color:#b45309}.project-lotes-stats span.sold{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.project-lotes-stats span i{font-size:11px}
.project-open-btn{min-height:48px;border-radius:11px!important;box-shadow:0 12px 22px rgba(255,98,0,.22);transition:transform .18s ease,box-shadow .18s ease}.project-open-btn:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(255,98,0,.28)}.project-open-btn .fa-arrow-right{font-size:12px;opacity:.9}

.project-selection-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.project-selection-head h2 {
    margin: 4px 0;
}
.project-selection-head p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}
@media (max-width: 760px) {
    .project-selection-head {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Responsive final para Proyecto, seleccion, demo y operacion. */
html {
    overflow-x: hidden;
}
body {
    overflow-x: hidden;
}
img, svg, table {
    max-width: 100%;
}
.project-lotes-card,
.demo-mz-row,
.lot,
.panel,
.quick,
.stat {
    min-width: 0;
}
.project-lotes-card h3,
.demo-mz-row strong,
.lot strong,
.panel h2,
.top h1 {
    overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
    .sidebar {
        width: 220px;
        padding: 18px;
    }
    .content {
        margin-left: 220px;
        padding: 22px;
    }
    .top h1 {
        font-size: 32px;
    }
    .quick-grid,
    .project-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
    .project-lotes-grid {
        grid-template-columns: repeat(auto-fill, minmax(230px, 300px));
        justify-content: start;
    }
    .demo-mz-list {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .lot-grid.compact {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
}

@media (max-width: 860px) {
    .sidebar {
        position: sticky;
        top: 0;
        z-index: 20;
        width: 100%;
        padding: 12px;
        gap: 12px;
        border-radius: 0;
    }
    .side-brand {
        font-size: 16px;
    }
    .side-brand i {
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }
    .sidebar nav {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: thin;
    }
    .sidebar a {
        flex: 0 0 auto;
        min-height: 40px;
        padding: 10px 12px;
        border-radius: 10px;
        white-space: nowrap;
        font-size: 13px;
    }
    .sidebar .danger {
        margin-top: 0;
    }
    .content {
        margin-left: 0;
        padding: 14px;
    }
    .top {
        margin-bottom: 16px;
    }
    .top h1 {
        font-size: 28px;
        line-height: 1.1;
    }
    .user-pill {
        width: 100%;
        justify-content: flex-start;
        padding: 10px 12px;
        border-radius: 12px;
    }
    .panel,
    .quick,
    .project-card,
    .stat {
        border-radius: 14px;
        padding: 16px;
        margin-bottom: 14px;
    }
    .demo-fold-head,
    .project-selection-head,
    .plano-link-panel,
    .dulce-head {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }
    .demo-fold-head h2,
    .project-selection-head h2,
    .plano-link-panel h2,
    .dulce-head h2 {
        font-size: 24px;
        line-height: 1.15;
    }
    .filters {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .filters .btn,
    .project-selection-head .btn,
    .plano-link-panel .btn,
    .project-lotes-card .btn,
    .lot-select-label {
        width: 100%;
    }
    .project-lotes-grid,
    .quick-grid,
    .project-grid,
    .stats-grid,
    .demo-mz-list,
    .mz-summary-grid {
        grid-template-columns: 1fr;
    }
    .project-lotes-card {
        padding: 14px;
        gap: 10px;
    }
    .project-lotes-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }
    .project-lotes-stats span {
        text-align: center;
        font-size: 11px;
        padding: 6px 5px;
    }
    .demo-mz-list {
        padding: 0;
    }
    .demo-mz-row {
        padding: 12px;
    }
    .lot-grid,
    .lot-grid.compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .lot,
    .lot-grid.compact .lot {
        padding: 12px;
        border-radius: 12px;
    }
    .lot strong,
    .lot-grid.compact .lot strong {
        font-size: 18px;
    }
    .lot small {
        font-size: 12px;
        line-height: 1.35;
    }
    .operation-layout {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }
    .operation-selected-lot.plan-context {
        height: 360px;
        min-height: 360px;
    }
    .operation-selected-lot.plan-context svg {
        min-width: 460px;
    }
    .operation-data div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
    .interactive-plan-shell,
    .reference-plan-shell,
    .svg-plan-shell {
        max-height: 62vh;
        padding: 8px;
        border-radius: 12px;
    }
    .interactive-plan,
    .reference-plan-shell img,
    .svg-plan-shell img {
        min-width: 680px;
    }
}

@media (max-width: 520px) {
    .content {
        padding: 10px;
    }
    .top h1 {
        font-size: 24px;
    }
    .eyebrow,
    .map-kicker {
        font-size: 10px;
        letter-spacing: .06em;
    }
    .panel,
    .quick,
    .project-card,
    .stat {
        padding: 13px;
    }
    .project-lotes-stats {
        grid-template-columns: 1fr;
    }
    .lot-grid,
    .lot-grid.compact {
        grid-template-columns: 1fr;
    }
    .btn {
        width: 100%;
        min-height: 42px;
    }
    input,
    select,
    textarea {
        min-height: 42px;
        border-radius: 10px;
        padding: 10px 12px;
    }
    .table-wrap {
        margin: 0 -4px;
    }
    th,
    td {
        padding: 10px;
        font-size: 13px;
    }
    .interactive-plan,
    .reference-plan-shell img,
    .svg-plan-shell img {
        min-width: 560px;
    }
    .operation-selected-lot.plan-context {
        height: 300px;
        min-height: 300px;
    }
    .operation-selected-lot.plan-context svg {
        min-width: 420px;
    }
}
.lot-admin-edit{display:grid;grid-template-columns:150px 170px auto;gap:8px;align-items:center}.lot-admin-edit input{min-width:0;padding:8px 10px}.lot-admin-edit .btn{white-space:nowrap}
@media(max-width:760px){.lot-admin-edit{grid-template-columns:1fr;gap:8px}.lot-admin-edit .btn{width:100%}}
.lot-admin-edit.is-locked{opacity:.72}
.lot-admin-edit.is-locked input{background:#f1f5f9;color:#64748b;cursor:not-allowed}
.lot-admin-edit.is-locked .btn{background:#e2e8f0;color:#64748b;cursor:not-allowed}
input[type="number"]{-moz-appearance:textfield}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.expiry-wrap{width:110px;height:8px;overflow:hidden;border-radius:99px;background:#e2e8f0}
.expiry-wrap span{display:block;height:100%;border-radius:inherit;background:#16a34a}
.expiry-wrap.urgent span{background:#f59e0b}
.expiry-wrap.expired span{background:#ef4444;width:100%!important}
.report-filter .report-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto auto auto}
@media (max-width:1200px) and (min-width:761px){.report-filter .report-filters{grid-template-columns:repeat(4,minmax(0,1fr));}.report-filter .report-filters .btn{width:100%}}
@media (max-width:760px){.report-filter .report-filters{grid-template-columns:1fr}.expiry-wrap{width:100%;max-width:140px}}
.lotes-admin-page{width:min(1080px,100%);margin:0 auto;display:grid;gap:18px}
.lotes-admin-page>.panel{margin-bottom:0;border-radius:14px}
.lotes-admin-toolbar{background:linear-gradient(135deg,#fff,#f8fbff);border-color:#d8e5f1}
.lotes-admin-toolbar .project-selection-head{margin-bottom:16px}
.lotes-admin-toolbar .project-selection-head h2{font-size:24px}
.lotes-admin-toolbar .project-selection-head p{font-size:14px}
.lotes-admin-toolbar .grid-form{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end}
.lotes-admin-create-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.lotes-admin-create{display:grid;align-content:start;gap:14px}
.lotes-admin-create h2,.lotes-admin-list h2{display:flex;align-items:center;gap:9px;font-size:20px;margin:0}
.lotes-admin-create h2 i,.lotes-admin-list h2 i{color:var(--orange)}
.lotes-admin-create .grid-form{grid-template-columns:1fr 1fr;gap:10px}
.lotes-admin-create .grid-form .btn{grid-column:1/-1}
.lotes-admin-create .hint{margin:0;font-size:12px}
.lotes-admin-list{overflow:hidden}
.lotes-admin-list .table-wrap{margin-top:14px}
.lotes-admin-list table{font-size:13px}
.lotes-admin-list th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc}
.lotes-admin-list td,.lotes-admin-list th{padding:11px 12px}
@media(max-width:860px){
    .lotes-admin-page{width:min(680px,100%);gap:14px}
    .lotes-admin-toolbar .grid-form{grid-template-columns:1fr 1fr}
    .lotes-admin-toolbar .grid-form .btn{grid-column:1/-1}
}
@media(max-width:620px){
    .lotes-admin-page{width:100%;gap:12px}
    .lotes-admin-create-grid{grid-template-columns:1fr;gap:12px}
    .lotes-admin-toolbar .grid-form,.lotes-admin-create .grid-form{grid-template-columns:1fr}
    .lotes-admin-create .grid-form .btn{grid-column:auto}
    .lotes-admin-toolbar .grid-form .btn{grid-column:auto}
    .lotes-admin-page>.panel{padding:14px;border-radius:12px}
    .lotes-admin-toolbar .project-selection-head h2{font-size:21px}
    .lotes-admin-list .table-wrap{overflow-x:auto}
    .lotes-admin-list table{min-width:650px}
}
.report-help{margin:-4px 0 14px;color:#64748b;font-weight:700;font-size:13px}
.report-filter{display:flex;align-items:end;justify-content:flex-start;gap:18px}
.report-filter .filters{align-items:end}
.report-filter-head{min-width:230px;max-width:360px}
.report-filter-head h2{margin-top:8px}
.report-filter-head p{margin-bottom:0;color:#64748b}
.report-filters{display:grid;grid-template-columns:130px 170px 190px auto auto auto;gap:10px;align-items:end;flex:1;max-width:none}
.report-filters label{display:grid;gap:5px;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}
.report-filters .btn{height:45px;white-space:nowrap}
.lot-summary-empty{border:1px dashed #cbd5e1;background:#f8fafc}
.lot-summary-empty h2{margin-top:0}
.lot-summary-empty p{margin:0;color:#64748b;font-weight:700}
@media (max-width:1200px) and (min-width:761px){
    .report-filter{display:grid;grid-template-columns:1fr;align-items:stretch}
    .report-filter-head{max-width:none}
    .report-filters{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}
    .report-filters .btn{width:100%}
}
@media(max-width:760px){.report-filter{align-items:stretch;flex-direction:column}.report-filter .filters{display:grid;grid-template-columns:1fr;gap:10px}.report-filter .filters .btn{width:100%}}

/* Identidad Vivaldi y usuario visible en el encabezado. */
.side-brand{justify-content:center}.side-brand-logo{width:128px;height:auto;border-radius:0;background:transparent;object-fit:contain;padding:0;flex:0 0 auto;border:0;filter:drop-shadow(0 0 1px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.65)) drop-shadow(0 8px 12px rgba(0,0,0,.18))}
.user-pill-avatar{width:32px;height:32px;border-radius:10px;background:#fff3eb;display:grid;place-items:center;color:var(--orange);flex:0 0 auto}
.user-pill strong{display:block;color:var(--navy);font-size:14px}
.login-logo{display:block;width:min(260px,80%);height:90px;object-fit:contain;margin:0 auto 16px}
.reservation-photo-field{padding:14px;border:1px dashed #94a3b8;border-radius:12px;background:#f8fafc}
.reservation-photo-title{display:block;margin-bottom:10px;color:var(--navy);font-size:14px;font-weight:800}
.reservation-photo-actions{display:flex;flex-wrap:wrap;gap:10px}
.photo-source-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border-radius:9px;background:#e8f0f9;color:#06284a;font-size:13px;font-weight:800;cursor:pointer}
.photo-source-button.camera{background:#ff6500;color:#fff}
.photo-source-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.reservation-photo-field small{display:block;margin-top:7px;color:#64748b;font-size:12px;font-weight:700}
.reservation-photo-field small.photo-required-message{color:#c62828}
.photo-modal{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(6,29,53,.72)}
.photo-modal[aria-hidden="false"]{display:flex}
.photo-modal-card{position:relative;width:min(760px,100%);max-height:90vh;padding:12px;border-radius:14px;background:#fff}
.photo-modal-card img{display:block;width:100%;max-height:calc(90vh - 24px);object-fit:contain;border-radius:9px}
.photo-modal-close{position:absolute;right:20px;top:20px;width:36px;height:36px;border:0;border-radius:50%;background:#061d35;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.camera-modal{position:fixed;inset:0;z-index:310;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(6,29,53,.76)}
.camera-modal[aria-hidden="false"]{display:flex}
.camera-modal-card{width:min(600px,100%);padding:16px;border-radius:14px;background:#fff}
.camera-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--navy)}
.camera-modal-header button{width:34px;height:34px;border:0;border-radius:50%;background:#e8f0f9;color:var(--navy);font-size:24px;cursor:pointer}
.camera-modal video{display:block;width:100%;max-height:62vh;object-fit:cover;border-radius:10px;background:#10263d}
.camera-modal p{margin:10px 0;color:#52657b;font-size:13px;font-weight:700}

/* Tarjetas compactas para dashboards y reportes en telefonos. */
@media (max-width:760px) {
    .stats-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-bottom:16px;
    }
    .stats-grid .stat {
        min-height:102px;
        padding:12px;
        border-radius:12px;
        gap:3px;
    }
    .stats-grid .stat i {
        width:30px;
        height:30px;
        font-size:16px;
    }
    .stats-grid .stat span {
        font-size:11px;
        line-height:1.1;
    }
    .stats-grid .stat strong {
        font-size:27px;
        line-height:1;
    }
}

/* La lista de lotes se convierte en fichas sin scroll horizontal. */
@media (max-width:620px) {
    .lotes-admin-list .table-wrap {
        overflow:visible;
    }
    .lotes-admin-list table,
    .lotes-admin-list tbody,
    .lotes-admin-list tr,
    .lotes-admin-list td {
        display:block;
        width:100%;
    }
    .lotes-admin-list table {
        min-width:0;
    }
    .lotes-admin-list thead {
        display:none;
    }
    .lotes-admin-list tr {
        margin-bottom:10px;
        padding:10px;
        border:1px solid #e2e8f0;
        border-radius:10px;
        background:#fff;
    }
    .lotes-admin-list td {
        min-height:0;
        padding:4px 0;
        border:0;
    }
    .lotes-admin-list td:nth-child(1)::before,
    .lotes-admin-list td:nth-child(2)::before {
        display:inline-block;
        min-width:58px;
        margin-right:8px;
        color:#64748b;
        font-size:10px;
        font-weight:900;
        text-transform:uppercase;
    }
    .lotes-admin-list td:nth-child(1)::before{content:"Lote";}
    .lotes-admin-list td:nth-child(2)::before{content:"Estado";}
    .lotes-admin-list td[colspan] {
        padding-top:8px;
    }
    .lot-admin-edit {
        grid-template-columns:1fr 1fr;
        width:100%;
    }
    .lot-admin-edit .btn {
        grid-column:1/-1;
        width:100%;
    }
}

/* Sidebar desplegable para telefonos y tablets. */
.sidebar-toggle,
.sidebar-close,
.sidebar-backdrop {
    display: none;
}
@media (max-width: 860px) {
    .sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 100;
        width: min(290px, 84vw);
        height: 100vh;
        padding: 22px 16px;
        border-radius: 0 18px 18px 0;
        transform: translateX(-105%);
        transition: transform .24s ease;
        overflow-y: auto;
        gap: 26px;
        box-shadow: 18px 0 45px rgba(2, 12, 27, .25);
    }
    .sidebar nav {
        display: grid;
        gap: 8px;
        overflow: visible;
    }
    .sidebar a {
        width: 100%;
        min-height: 48px;
        white-space: normal;
        font-size: 15px;
    }
    .sidebar .danger {
        margin-top: 16px;
    }
    .sidebar-open .sidebar {
        transform: translateX(0);
    }
    .sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 90;
        background: rgba(2, 12, 27, .55);
    }
    .sidebar-open .sidebar-backdrop {
        display: block;
    }
    .sidebar-toggle {
        position: fixed;
        top: 12px;
        left: 12px;
        z-index: 80;
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 12px;
        display: grid;
        place-items: center;
        background: var(--orange);
        color: #fff;
        font-size: 19px;
        box-shadow: 0 8px 18px rgba(255, 98, 0, .3);
        cursor: pointer;
    }
    .sidebar-close {
        margin-left: auto;
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 10px;
        display: grid;
        place-items: center;
        background: rgba(255,255,255,.12);
        color: #fff;
        cursor: pointer;
    }
    .side-brand {
        width: 100%;
    }
    .content {
        margin-left: 0;
        padding: 72px 14px 18px;
    }
    .top {
        margin-bottom: 18px;
    }
}

/* El menú puede tener más opciones que el alto disponible. */
@media (min-width: 861px) {
    .sidebar { overflow-y: auto; }
    .sidebar nav { padding-bottom: 18px; }
}

.dashboard-expiry-alert{border-color:#fed7aa;background:#fffdf9}.dashboard-expiry-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.dashboard-expiry-head h2{margin:5px 0;color:#7c2d12}.dashboard-expiry-head p{margin:0;color:#7c2d12}.dashboard-expiry-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.dashboard-expiry-item{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb}.dashboard-expiry-item.expired{border-color:#fecaca;background:#fff1f2}.dashboard-expiry-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#f59e0b;color:#fff}.dashboard-expiry-item.expired .dashboard-expiry-icon{background:#ef4444}.dashboard-expiry-item strong,.dashboard-expiry-item small{display:block}.dashboard-expiry-item strong{color:#1f2937;font-size:13px}.dashboard-expiry-item small{color:#64748b;margin-top:2px;font-size:12px}.dashboard-expiry-item b{font-size:11px;color:#92400e;text-align:right}.dashboard-expiry-item.expired b{color:#b91c1c}@media(max-width:680px){.dashboard-expiry-head{align-items:stretch;flex-direction:column}.dashboard-expiry-head .btn{width:100%}.dashboard-expiry-list{grid-template-columns:1fr}.dashboard-expiry-item{grid-template-columns:36px 1fr}.dashboard-expiry-item b{grid-column:2;text-align:left}}
.dashboard-communications{padding:0;overflow:hidden;border-color:#d7e3f0;background:#fff}.dashboard-communications-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 24px;border-bottom:1px solid #e4ebf2;background:#f8fbfe}.dashboard-communications-head h2{margin:4px 0 3px;color:#061d35;font-size:24px}.dashboard-communications-head p{margin:0;color:#64748b;font-size:13px}.dashboard-communications-actions{display:flex;align-items:center;gap:10px}.communication-counter{padding:7px 10px;border-radius:99px;background:#e9f1f8;color:#31536f;font-size:12px;font-weight:900}.dashboard-communications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,360px));gap:13px;padding:18px 24px}.dashboard-communication{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;min-height:152px;border:1px solid #dce6f0;border-radius:8px;padding:15px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.04)}.dashboard-communication.remate{border-color:#fecaca;background:#fffafa}.dashboard-communication.baja_precio{border-color:#fde68a;background:#fffdf7}.dashboard-communication.promocion{border-color:#bbf7d0;background:#f8fffb}.dashboard-communication-icon{display:grid;place-items:center;align-self:start;width:42px;height:42px;border-radius:9px;background:#eaf2f9;color:#0f4c81}.dashboard-communication.remate .dashboard-communication-icon{background:#fee2e2;color:#dc2626}.dashboard-communication.baja_precio .dashboard-communication-icon{background:#fef3c7;color:#b45309}.dashboard-communication.promocion .dashboard-communication-icon{background:#dcfce7;color:#15803d}.communication-label{display:block;color:#0f4c81;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dashboard-communication.remate .communication-label{color:#b91c1c}.dashboard-communication.baja_precio .communication-label{color:#b45309}.dashboard-communication.promocion .communication-label{color:#15803d}.dashboard-communication h3{margin:5px 0 5px;color:#061d35;font-size:16px;line-height:1.25}.dashboard-communication p{margin:0;color:#516276;font-size:13px;line-height:1.42}.dashboard-communication small{display:block;margin-top:11px;color:#64748b;font-size:11px;line-height:1.35}.dashboard-communication small i{color:#ff6200;margin-right:4px}.dashboard-communication small b{color:#40556b}@media(max-width:680px){.dashboard-communications-head{align-items:flex-start;flex-direction:column;padding:18px}.dashboard-communications-actions{width:100%;justify-content:space-between}.dashboard-communications-grid{grid-template-columns:1fr;padding:14px}.dashboard-communication{min-height:0}}
.communications-workspace{padding:0;overflow:hidden}.communications-hero{display:flex;align-items:center;gap:15px;padding:24px 26px;background:#08243f;color:#fff}.communications-hero-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:10px;background:#ff6200;font-size:20px}.communications-hero .map-kicker{color:#ffd0af}.communications-hero h2{margin:3px 0 4px;font-size:24px;color:#fff}.communications-hero p{margin:0;color:#d7e3ee;font-size:14px}.communications-hero .btn{margin-left:auto}.communications-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px 26px;background:#fff}.communications-form label{display:grid;gap:7px;color:#40556b;font-size:12px;font-weight:900}.communications-form input,.communications-form select,.communications-form textarea{border-radius:8px}.communications-title-field,.communications-message-field{grid-column:span 2}.communications-message-field textarea{min-height:130px;resize:vertical}.communication-toggle{grid-template-columns:auto 1fr;align-items:center;gap:10px!important;padding:12px;border:1px solid #d9e4ee;border-radius:8px;background:#f7fafc}.communication-toggle input{width:auto}.communication-toggle small{display:block;margin-top:2px;color:#718096;font-weight:600}.communications-actions{display:flex;align-items:end;gap:10px}.communications-register{padding:24px 26px}.communications-register-head{display:flex;justify-content:space-between;align-items:end;gap:12px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.communications-register-head h2{margin:4px 0 0;color:#061d35}.communications-register-head>b{color:#64748b;font-size:13px}.communications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;padding-top:18px}.communication-item{display:flex;flex-direction:column;min-height:245px;border:1px solid #dce6f0;border-top:4px solid #0f4c81;border-radius:8px;padding:17px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05)}.communication-item.remate{border-top-color:#dc2626}.communication-item.baja_precio{border-top-color:#f59e0b}.communication-item.promocion{border-top-color:#16a34a}.communication-item-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.communication-type{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;color:#0f4c81;text-transform:uppercase}.communication-item.remate .communication-type{color:#b91c1c}.communication-item.baja_precio .communication-type{color:#b45309}.communication-item.promocion .communication-type{color:#15803d}.communication-status{font-size:11px;font-weight:800;color:#9f1239}.communication-status.active{color:#15803d}.communication-item h3{margin:15px 0 7px;color:#061d35;font-size:18px;line-height:1.25}.communication-item p{margin:0;color:#4b5e72;font-size:13px;line-height:1.5}.communication-meta{display:grid;gap:6px;margin-top:auto;padding-top:14px;color:#64748b;font-size:11px}.communication-meta span{display:flex;align-items:center;gap:6px}.communication-meta i{width:12px;color:#ff6200}.communication-item-actions{display:flex;gap:8px;margin-top:14px}.communication-item-actions form{margin:0}.communication-item-actions .danger{min-width:38px}.communications-empty{grid-column:1/-1;display:grid;place-items:center;gap:8px;min-height:170px;border:1px dashed #cbd5e1;color:#64748b}.communications-empty i{font-size:26px;color:#94a3b8}.communications-empty p{margin:0}@media(max-width:900px){.communications-form{grid-template-columns:1fr 1fr}.communications-title-field,.communications-message-field{grid-column:span 2}}@media(max-width:680px){.communications-hero{align-items:flex-start;padding:20px;flex-wrap:wrap}.communications-hero .btn{margin-left:63px}.communications-form,.communications-register{padding:18px}.communications-form{grid-template-columns:1fr}.communications-title-field,.communications-message-field{grid-column:auto}.communications-actions{align-items:stretch}.communications-actions .btn{flex:1}.communications-grid{grid-template-columns:1fr}.communication-item{min-height:0}}
/* Apariencia premium para los comunicados del Dashboard. */
.dashboard-communications{position:relative;border:0!important;border-radius:14px!important;background:#071f38!important;box-shadow:0 18px 40px rgba(3,19,34,.16)!important}.dashboard-communications:before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:#ff6200}.dashboard-communications-head{position:relative;border-bottom:1px solid rgba(255,255,255,.12)!important;background:transparent!important;padding:25px 28px!important}.dashboard-communications-head .map-kicker{color:#ff9b58}.dashboard-communications-head h2{color:#fff!important;font-size:26px!important;letter-spacing:0}.dashboard-communications-head p{color:#b8c8d8!important}.dashboard-communications-actions{flex-wrap:wrap;justify-content:flex-end}.communication-live{display:inline-flex;align-items:center;gap:6px;color:#a7f3d0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.communication-live i{font-size:8px;animation:communication-pulse 1.7s ease-in-out infinite}.communication-counter{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)}.dashboard-communications-head .btn{background:#fff!important;color:#08243f!important;box-shadow:0 6px 16px rgba(0,0,0,.14)}.dashboard-communications-grid{grid-template-columns:repeat(auto-fill,minmax(285px,360px))!important;padding:21px 28px 27px!important}.dashboard-communication{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.13)!important;background:#fff!important;border-radius:11px!important;box-shadow:0 12px 24px rgba(0,0,0,.16)!important;transition:transform .25s ease,box-shadow .25s ease;animation:communication-card-in .55s cubic-bezier(.2,.85,.3,1) both}.dashboard-communication:after{content:'';position:absolute;left:0;bottom:0;width:0;height:3px;background:#0f4c81;transition:width .35s ease}.dashboard-communication:hover{transform:translateY(-5px);box-shadow:0 19px 30px rgba(0,0,0,.22)!important}.dashboard-communication:hover:after{width:100%}.dashboard-communication:nth-child(2){animation-delay:.08s}.dashboard-communication:nth-child(3){animation-delay:.16s}.dashboard-communication:nth-child(4){animation-delay:.24s}.dashboard-communication.remate:after{background:#dc2626}.dashboard-communication.baja_precio:after{background:#f59e0b}.dashboard-communication.promocion:after{background:#16a34a}.dashboard-communication-icon{box-shadow:inset 0 0 0 1px rgba(15,76,129,.1);transition:transform .3s ease}.dashboard-communication:hover .dashboard-communication-icon{transform:rotate(-5deg) scale(1.08)}.dashboard-communication-content{min-width:0}.dashboard-communication h3{font-size:17px!important}.dashboard-communication p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.dashboard-communication small{padding-top:10px;border-top:1px solid #edf1f5}.dashboard-communication.remate .communication-label{color:#c81e1e}.dashboard-communication.baja_precio .communication-label{color:#a16207}.dashboard-communication.promocion .communication-label{color:#15803d}@keyframes communication-card-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes communication-pulse{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}@media(max-width:680px){.dashboard-communications-head{padding:20px!important}.dashboard-communications-head h2{font-size:23px!important}.dashboard-communications-grid{padding:15px!important}.dashboard-communications-actions{justify-content:flex-start}.dashboard-communications-actions .btn{width:auto!important}}
.promotion-price-field{display:grid}.dashboard-promo-price,.communication-promo-price{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:#087443;font-size:17px;font-weight:900}.dashboard-promo-price i,.communication-promo-price i{color:#16a34a}.dashboard-communication.is-linked{cursor:pointer}.dashboard-communication.is-linked:focus-visible{outline:3px solid #ff6200;outline-offset:3px}.dashboard-communication-open{display:inline-flex;align-items:center;gap:6px;margin-top:11px;color:#0f4c81;font-size:11px;font-weight:900}.dashboard-communication-open i{color:#ff6200}.dashboard-communication.is-linked:hover .dashboard-communication-open{color:#ff6200}
.communication-bell{position:relative;width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:16px;cursor:default}.communication-bell b{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #071f38;border-radius:99px;background:#ff6200;color:#fff;font-size:10px;line-height:1}.dashboard-communications-carousel{position:relative;display:block;padding:18px 66px 24px}.dashboard-communications-viewport{width:100%;overflow-x:auto;overflow-y:hidden;padding:3px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.dashboard-communications-viewport::-webkit-scrollbar{display:none}.dashboard-communications-carousel .dashboard-communications-grid{display:flex!important;gap:14px;width:max-content;min-width:100%;padding:0!important;transform:none!important;transition:none!important;will-change:auto}.dashboard-communications-carousel .dashboard-communication{flex:0 0 min(360px,calc(100vw - 150px));scroll-snap-align:start;animation:none}.communication-carousel-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(7,31,56,.9);color:#fff;cursor:pointer;transform:translateY(-50%);transition:background .2s ease,scale .2s ease}.communication-carousel-arrow.previous{left:17px}.communication-carousel-arrow.next{right:17px}.communication-carousel-arrow:hover{background:#ff6200;scale:1.06}@media(max-width:680px){.communication-bell{margin-right:2px}.dashboard-communications-carousel{padding:14px 47px 18px}.communication-carousel-arrow{width:30px;height:30px;border-radius:8px}.communication-carousel-arrow.previous{left:9px}.communication-carousel-arrow.next{right:9px}.dashboard-communications-carousel .dashboard-communication{flex-basis:calc(100vw - 100px)}}
.communications-modal{position:fixed;z-index:80;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(3,14,27,.68);backdrop-filter:blur(3px)}.communications-modal.is-open{display:flex}.communications-modal-card{width:min(1120px,100%);max-height:min(860px,92vh);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 32px 90px rgba(0,0,0,.36)}.communications-modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 30px;border-bottom:1px solid #e6edf4;background:linear-gradient(135deg,#fff,#f4f8fc)}.communications-modal-head h2{margin:4px 0 3px;color:#061d35;font-size:30px}.communications-modal-head p{margin:0;color:#64748b;font-size:14px;font-weight:750}.communications-modal-close{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:10px;background:#e8edf3;color:#061d35;font-size:30px;line-height:1;cursor:pointer}.communications-modal-close:hover{background:#ff6200;color:#fff}.communications-modal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:17px;max-height:calc(92vh - 112px);overflow:auto;padding:24px 30px 30px}.communications-modal-list .dashboard-communication{grid-template-columns:54px minmax(0,1fr);gap:16px;min-height:220px;padding:20px!important;border-radius:13px!important}.communications-modal-list .dashboard-communication:hover{transform:none}.communications-modal-list .dashboard-communication-icon{width:54px;height:54px;border-radius:12px;font-size:21px}.communications-modal-list .dashboard-communication h3{margin-top:9px!important;font-size:21px!important;line-height:1.22}.communications-modal-list .dashboard-communication p{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;margin-top:8px;color:#334155;font-size:15px;line-height:1.55}.communication-modal-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.communication-modal-meta time{color:#64748b;font-size:12px;font-weight:900}.communication-detail-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;padding-top:13px;border-top:1px solid #edf2f7}.communication-detail-row span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:99px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:850}.communication-detail-row i{color:#ff6200}.communications-modal-list .dashboard-communication-open{margin-top:14px;font-size:12px}@media(max-width:680px){.communications-modal{align-items:stretch;padding:10px}.communications-modal-card{max-height:94vh}.communications-modal-list{grid-template-columns:1fr;max-height:calc(94vh - 104px);padding:14px}.communications-modal-head{padding:18px}.communications-modal-head h2{font-size:23px}.communications-modal-head p{font-size:12px}.communications-modal-list .dashboard-communication{grid-template-columns:44px minmax(0,1fr);min-height:0;padding:16px!important}.communications-modal-list .dashboard-communication-icon{width:44px;height:44px}.communications-modal-list .dashboard-communication h3{font-size:18px!important}.communications-modal-list .dashboard-communication p{font-size:14px}}
.communications-modal{align-items:center!important;justify-content:center!important}.communications-modal-card{width:min(980px,calc(100vw - 54px))!important;min-height:min(520px,86vh);display:flex;flex-direction:column}.communications-modal-head{text-align:left}.communications-modal-list{display:flex!important;align-items:center;justify-content:center;flex:1;max-height:none!important;overflow:auto;padding:34px 42px!important}.communications-modal-list .dashboard-communication{width:min(760px,100%)!important;min-height:255px;grid-template-columns:70px minmax(0,1fr)!important;align-items:start;margin:0 auto;padding:26px!important}.communications-modal-list .dashboard-communication-icon{width:58px!important;height:58px!important}.communications-modal-list .dashboard-communication h3{font-size:24px!important}.communications-modal-list .dashboard-communication p{font-size:16px!important;line-height:1.6}.communications-modal-list .dashboard-communication-open{font-size:13px}.communication-detail-row span{font-size:13px;padding:8px 10px}@media(max-width:680px){.communications-modal{align-items:center!important;padding:12px!important}.communications-modal-card{width:100%!important;min-height:0;max-height:92vh}.communications-modal-list{padding:16px!important}.communications-modal-list .dashboard-communication{grid-template-columns:48px minmax(0,1fr)!important;min-height:0;padding:18px!important}.communications-modal-list .dashboard-communication h3{font-size:20px!important}.communications-modal-list .dashboard-communication p{font-size:14px!important}}
.communications-modal-card{border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,#f8fbff,#fff)!important}.communications-modal-head{position:relative;overflow:hidden;background:linear-gradient(135deg,#071f38,#0f3b66)!important;color:#fff;border-bottom:0!important}.communications-modal-head:after{content:'';position:absolute;left:30px;right:30px;bottom:0;height:3px;border-radius:99px;background:#ff6200}.communications-modal-head .map-kicker{color:#ffb27a!important}.communications-modal-head h2{color:#fff!important}.communications-modal-head p{color:#cbd8e5!important}.communications-modal-close{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important}.communications-modal-close:hover{background:#ff6200!important}.communications-modal-list{background:radial-gradient(circle at 50% 0,rgba(255,98,0,.08),transparent 36%),#f7fafc}.communications-modal-list .dashboard-communication{position:relative;overflow:hidden;border:0!important;border-top:6px solid #0f4c81!important;background:#fff!important;box-shadow:0 24px 55px rgba(6,29,53,.18)!important}.communications-modal-list .dashboard-communication:before{content:'';position:absolute;inset:0 auto 0 0;width:7px;background:#0f4c81}.communications-modal-list .dashboard-communication.remate{border-top-color:#dc2626!important}.communications-modal-list .dashboard-communication.remate:before{background:#dc2626}.communications-modal-list .dashboard-communication.baja_precio{border-top-color:#f59e0b!important}.communications-modal-list .dashboard-communication.baja_precio:before{background:#f59e0b}.communications-modal-list .dashboard-communication.promocion{border-top-color:#16a34a!important}.communications-modal-list .dashboard-communication.promocion:before{background:#16a34a}.communications-modal-list .dashboard-communication-icon{border-radius:18px!important;font-size:25px!important;box-shadow:0 14px 26px rgba(15,23,42,.12),inset 0 0 0 1px rgba(255,255,255,.45)!important}.communications-modal-list .dashboard-communication.remate .dashboard-communication-icon{background:#dc2626!important;color:#fff!important}.communications-modal-list .dashboard-communication.baja_precio .dashboard-communication-icon{background:#f59e0b!important;color:#fff!important}.communications-modal-list .dashboard-communication.promocion .dashboard-communication-icon{background:#16a34a!important;color:#fff!important}.communications-modal-list .dashboard-communication:not(.remate):not(.baja_precio):not(.promocion) .dashboard-communication-icon{background:#0f4c81!important;color:#fff!important}.communications-modal-list .communication-label{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef4fb;color:#0f4c81;font-size:11px!important}.communications-modal-list .dashboard-communication.remate .communication-label{background:#fee2e2;color:#b91c1c}.communications-modal-list .dashboard-communication.baja_precio .communication-label{background:#fef3c7;color:#92400e}.communications-modal-list .dashboard-communication.promocion .communication-label{background:#dcfce7;color:#166534}.communications-modal-list .dashboard-communication-open{padding:10px 12px;border-radius:10px;background:#fff3eb;color:#ff6200!important}.communications-modal-list .dashboard-communication-open i{color:#ff6200!important}
.sidebar-section-title{display:block;margin:10px 4px 2px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.48);font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.sidebar-section-title:first-child{margin-top:0;padding-top:0;border-top:0}.sidebar nav a.sidebar-notifications{position:relative;padding-right:48px}.sidebar-notification-count{position:absolute;right:15px;top:50%;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border:2px solid #082e54;border-radius:99px;background:#ff6200;color:#fff;font-size:10px;font-weight:900;line-height:1;transform:translateY(-50%)}
.stat i{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#fff3eb;color:#ff6200!important;border:1px solid #fed7aa;font-size:21px!important;box-shadow:0 8px 18px rgba(15,23,42,.06)}.stat.ok i{background:#ecfdf5;color:#10b981!important;border-color:#bbf7d0}.stat.warn i{background:#fffbeb;color:#f59e0b!important;border-color:#fde68a}.stat.danger-stat i{background:#fef2f2;color:#ef4444!important;border-color:#fecaca}
.demo-mz-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.demo-mz-row{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #e6edf5;border-radius:12px;background:#fff;color:#061d35;box-shadow:0 6px 16px rgba(15,23,42,.035);transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.demo-mz-row:not(.active){background:#fff;border-color:#e8eef6}.demo-mz-row:not(.active) .demo-mz-icon{background:#fff;color:#94a3b8;border-color:#e2e8f0}.demo-mz-row:not(.active) .demo-mz-info em,.demo-mz-row:not(.active) .demo-mz-states b{color:#64748b}.demo-mz-row:hover{border-color:#ffb078;background:#fffdfb;transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.06)}.demo-mz-row.active{border-color:#ff6200;background:#fff7ed;box-shadow:inset 4px 0 0 #ff6200,0 12px 26px rgba(255,98,0,.12)}.demo-mz-row.active:after{content:'Seleccionada';position:absolute;top:10px;right:10px;padding:3px 7px;border-radius:999px;background:#ff6200;color:#fff;font-size:10px;font-weight:950;text-transform:uppercase}.demo-mz-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.demo-mz-info{display:grid;gap:3px;min-width:0}.demo-mz-info strong{font-size:16px;color:#001b36}.demo-mz-info em{font-style:normal;color:#64748b;font-size:13px;font-weight:850}.demo-mz-states{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.demo-mz-states b{padding:5px 7px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-size:11px;font-weight:900}.demo-mz-states .free{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.demo-mz-states .reserved{border-color:#fde68a;background:#fffbeb;color:#b45309}.demo-mz-states .sold{border-color:#fecaca;background:#fef2f2;color:#b91c1c}@media(max-width:680px){.demo-mz-list{grid-template-columns:1fr}.demo-mz-row{grid-template-columns:38px minmax(0,1fr)}.demo-mz-row.active:after{position:static;grid-column:1/-1;justify-self:start}}
.project-lotes-title{text-align:center;display:grid;gap:8px}.project-lotes-title h3{margin:0;color:#001b36;text-transform:uppercase;line-height:1.1}.project-lotes-title p{margin:0;display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;color:#536883;font-weight:900}.project-lotes-title p span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-size:13px;line-height:1}.project-lotes-title p i{color:#ff6200;font-size:13px}.project-lotes-card .project-lotes-title + .project-lotes-stats{justify-content:center}
.stats-grid .stat{position:relative;overflow:hidden;min-height:158px;padding:24px 18px;text-align:center;justify-items:center;align-content:center;gap:11px;background:linear-gradient(180deg,#fff,#fbfdff);border-color:#dce5ef;box-shadow:0 16px 34px rgba(6,29,53,.08)}.stats-grid .stat:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:#ff6200}.stats-grid .stat.ok:before{background:#10b981}.stats-grid .stat.warn:before{background:#f59e0b}.stats-grid .stat.danger-stat:before{background:#ef4444}.stats-grid .stat i{margin:0 auto;width:46px;height:46px;border-radius:14px;background:#fff3eb;color:#ff6200!important;border:1px solid #fed7aa;font-size:22px!important;box-shadow:0 10px 20px rgba(255,98,0,.12)}.stats-grid .stat.ok i{background:#ecfdf5;color:#10b981!important;border-color:#bbf7d0;box-shadow:0 10px 20px rgba(16,185,129,.12)}.stats-grid .stat.warn i{background:#fffbeb;color:#f59e0b!important;border-color:#fde68a;box-shadow:0 10px 20px rgba(245,158,11,.12)}.stats-grid .stat.danger-stat i{background:#fef2f2;color:#ef4444!important;border-color:#fecaca;box-shadow:0 10px 20px rgba(239,68,68,.12)}.stats-grid .stat span{line-height:1;color:#536883;font-size:15px}.stats-grid .stat strong{line-height:1;margin-top:2px;color:#001b36;font-size:40px;letter-spacing:0}
.sidebar .side-brand{justify-content:center}.sidebar .side-brand-logo{width:128px;height:auto;border-radius:0;background:transparent;object-fit:contain;padding:0;border:0;box-shadow:none;filter:drop-shadow(0 0 1px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.65)) drop-shadow(0 8px 12px rgba(0,0,0,.18))}
.notification-permission{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-8px 0 18px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#0f3761;font-weight:850}.notification-permission span{display:flex;align-items:center;gap:9px}.notification-permission i{color:#0f4c81}.notification-permission[hidden]{display:none}@media(max-width:680px){.notification-permission{align-items:stretch;flex-direction:column}.notification-permission .btn{width:100%}}
.project-lotes-card.project-image-card{overflow:hidden;padding:0}.project-image-card .project-lotes-cover{display:block;width:100%;aspect-ratio:16/8.5;object-fit:cover;background:#e8edf3}.project-image-card>div:not(.project-lotes-stats),.project-image-card .project-lotes-stats,.project-image-card .project-cover-form,.project-image-card .btn{margin-left:16px;margin-right:16px}.project-image-card>div:not(.project-lotes-stats){margin-top:18px}.project-image-card>.btn{margin-bottom:16px;width:calc(100% - 32px)}.project-cover-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.project-cover-form label{display:grid;gap:6px;min-width:0;color:#475569;font-size:12px;font-weight:900}.project-cover-form input[type=file]{height:38px;padding:7px 9px;border-radius:9px;font-size:12px}.project-cover-form .btn{width:auto;margin:0}@media(max-width:680px){.project-cover-form{grid-template-columns:1fr}.project-cover-form .btn{width:100%}}
.project-lotes-card.project-image-card{position:relative;border-radius:14px;border-color:#d8e3ef;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 14px 30px rgba(6,29,53,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.project-lotes-card.project-image-card:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:#ff6200;z-index:1}.project-lotes-card.project-image-card:hover{transform:translateY(-2px);border-color:#ffc49d;box-shadow:0 18px 38px rgba(6,29,53,.12)}.project-image-card .project-lotes-cover{height:160px;aspect-ratio:auto;object-fit:cover;border-bottom:1px solid #e2e8f0}.project-image-card .project-lotes-title{margin-top:20px!important;margin-bottom:2px}.project-image-card .project-lotes-title h3{font-size:27px;font-weight:950;letter-spacing:0}.project-image-card .project-lotes-title p span{background:#fff;border-color:#dce6f0;box-shadow:0 4px 10px rgba(15,23,42,.04)}.project-image-card .project-lotes-stats{display:grid;grid-template-columns:repeat(2,minmax(0,auto));justify-content:center;gap:8px 10px;margin-top:12px;margin-bottom:12px}.project-image-card .project-lotes-stats span{justify-content:center;padding:7px 11px;font-size:12px;box-shadow:0 4px 10px rgba(15,23,42,.04)}.project-image-card .project-lotes-stats span.sold{grid-column:1/-1;justify-self:center}.project-image-card>.project-open-btn{margin-top:0;margin-bottom:16px;height:48px}
.project-image-card .project-lotes-cover{height:128px}.project-image-card .project-lotes-title{margin-top:14px!important;gap:6px}.project-image-card .project-lotes-title h3{font-size:25px}.project-image-card .project-lotes-title p span{padding:5px 9px;font-size:12px}.project-image-card .project-lotes-stats{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:10px;margin-bottom:10px}.project-image-card .project-lotes-stats span{padding:6px 9px;font-size:11px}.project-image-card .project-lotes-stats span.sold{grid-column:auto;justify-self:auto}.project-image-card>.project-open-btn{height:46px;margin-bottom:14px}
.project-image-card .project-lotes-cover{height:160px}.project-image-card .project-lotes-title{margin-top:16px!important;gap:9px}.project-image-card .project-lotes-title h3{font-size:25px}.project-image-card .project-lotes-title p{gap:8px}.project-image-card .project-lotes-title p span{min-width:118px;justify-content:center;padding:7px 10px;border-radius:10px;background:#f8fafc;font-size:12px}.project-image-card .project-lotes-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;margin-bottom:13px}.project-image-card .project-lotes-stats span{width:100%;justify-content:center;padding:8px 6px;border-radius:10px;font-size:11px;white-space:nowrap}.project-image-card .project-lotes-stats span.sold{grid-column:auto}.project-image-card>.project-open-btn{height:46px;margin-bottom:14px}
.demo-mz-row{border-left:5px solid var(--mz-accent,#d8e3ef)}.demo-mz-row:not(.active){background:linear-gradient(135deg,var(--mz-bg,#fff),#fff 58%);border-color:var(--mz-border,#e8eef6);border-left-color:var(--mz-accent,#d8e3ef)}.demo-mz-row:not(.active) .demo-mz-icon{background:#fff;color:var(--mz-accent,#94a3b8);border-color:var(--mz-border,#e2e8f0)}.demo-mz-row.mz-tone-1{--mz-bg:#f8fbff;--mz-border:#bfdbfe;--mz-accent:#3b82f6}.demo-mz-row.mz-tone-2{--mz-bg:#f7fef9;--mz-border:#bbf7d0;--mz-accent:#22c55e}.demo-mz-row.mz-tone-3{--mz-bg:#fffaf0;--mz-border:#fde68a;--mz-accent:#f59e0b}.demo-mz-row.mz-tone-4{--mz-bg:#fff7f7;--mz-border:#fecaca;--mz-accent:#ef4444}.demo-mz-row.mz-tone-5{--mz-bg:#f8f7ff;--mz-border:#ddd6fe;--mz-accent:#8b5cf6}.demo-mz-row.mz-tone-6{--mz-bg:#f0fdfa;--mz-border:#99f6e4;--mz-accent:#14b8a6}.demo-mz-row.active{border-left-color:#ff6200}
.demo-mz-row:not(.active){background:var(--mz-bg,#fff);box-shadow:0 10px 22px rgba(15,23,42,.055)}.demo-mz-row:not(.active):hover{background:var(--mz-bg,#fff);filter:saturate(1.04);box-shadow:0 14px 28px rgba(15,23,42,.09)}.demo-mz-row.mz-tone-1{--mz-bg:#eaf3ff;--mz-border:#93c5fd;--mz-accent:#2563eb}.demo-mz-row.mz-tone-2{--mz-bg:#e8fbea;--mz-border:#86efac;--mz-accent:#16a34a}.demo-mz-row.mz-tone-3{--mz-bg:#fff2cf;--mz-border:#facc15;--mz-accent:#ca8a04}.demo-mz-row.mz-tone-4{--mz-bg:#ffe8e8;--mz-border:#fca5a5;--mz-accent:#dc2626}.demo-mz-row.mz-tone-5{--mz-bg:#f0eaff;--mz-border:#c4b5fd;--mz-accent:#7c3aed}.demo-mz-row.mz-tone-6{--mz-bg:#dcfbf5;--mz-border:#5eead4;--mz-accent:#0f766e}.demo-mz-row:not(.active) .demo-mz-states b{background:rgba(255,255,255,.62)}
.demo-mz-row:not(.active){background:linear-gradient(135deg,var(--mz-bg,#123),var(--mz-bg-2,#234));border-color:var(--mz-border,#123);color:#fff;box-shadow:0 12px 24px rgba(6,29,53,.16)}.demo-mz-row:not(.active):hover{background:linear-gradient(135deg,var(--mz-bg,#123),var(--mz-bg-2,#234));filter:brightness(1.05);box-shadow:0 16px 30px rgba(6,29,53,.22)}.demo-mz-row.mz-tone-1{--mz-bg:#0f3b66;--mz-bg-2:#14558c;--mz-border:#1d6aa8;--mz-accent:#7dd3fc}.demo-mz-row.mz-tone-2{--mz-bg:#14532d;--mz-bg-2:#166534;--mz-border:#15803d;--mz-accent:#86efac}.demo-mz-row.mz-tone-3{--mz-bg:#78350f;--mz-bg-2:#92400e;--mz-border:#b45309;--mz-accent:#fcd34d}.demo-mz-row.mz-tone-4{--mz-bg:#7f1d1d;--mz-bg-2:#991b1b;--mz-border:#b91c1c;--mz-accent:#fca5a5}.demo-mz-row.mz-tone-5{--mz-bg:#3b0764;--mz-bg-2:#581c87;--mz-border:#6d28d9;--mz-accent:#c4b5fd}.demo-mz-row.mz-tone-6{--mz-bg:#134e4a;--mz-bg-2:#115e59;--mz-border:#0f766e;--mz-accent:#5eead4}.demo-mz-row:not(.active) .demo-mz-info strong,.demo-mz-row:not(.active) .demo-mz-info em{color:#fff}.demo-mz-row:not(.active) .demo-mz-icon{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.28)}.demo-mz-row:not(.active) .demo-mz-states b{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}
.demo-mz-row:not(.active){background:#fff;border-color:var(--mz-border,#e2e8f0);border-left:0;box-shadow:0 10px 22px rgba(15,23,42,.055);color:#061d35}.demo-mz-row:not(.active):before{content:'';position:absolute;top:0;left:0;right:0;height:7px;background:var(--mz-accent,#64748b)}.demo-mz-row:not(.active):hover{background:#fff;filter:none;transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.09)}.demo-mz-row.mz-tone-1{--mz-border:#9cc9f3;--mz-accent:#1d6aa8}.demo-mz-row.mz-tone-2{--mz-border:#8dd8ad;--mz-accent:#16834a}.demo-mz-row.mz-tone-3{--mz-border:#e8bd60;--mz-accent:#b7791f}.demo-mz-row.mz-tone-4{--mz-border:#e9a3a3;--mz-accent:#b91c1c}.demo-mz-row.mz-tone-5{--mz-border:#b8a5e8;--mz-accent:#6d28d9}.demo-mz-row.mz-tone-6{--mz-border:#7ed6cb;--mz-accent:#0f766e}.demo-mz-row:not(.active) .demo-mz-info strong{color:#001b36}.demo-mz-row:not(.active) .demo-mz-info em{color:#536883}.demo-mz-row:not(.active) .demo-mz-icon{background:var(--mz-accent,#64748b);color:#fff;border-color:var(--mz-accent,#64748b)}.demo-mz-row:not(.active) .demo-mz-states b{background:#fff;border-color:#e2e8f0;color:#334155}.demo-mz-row.active:before{display:none}
.demo-mz-row.active{background:#fff4e8;border:2px solid #ff6200;border-left:7px solid #ff6200;box-shadow:0 16px 32px rgba(255,98,0,.18)}.demo-mz-row.active .demo-mz-icon{background:#ff6200;color:#fff;border-color:#ff6200}.demo-mz-row.active .demo-mz-info strong{color:#001b36}.demo-mz-row.active .demo-mz-info em{color:#334155}.demo-mz-row .demo-mz-states .free{background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important}.demo-mz-row .demo-mz-states .reserved{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}.demo-mz-row .demo-mz-states .sold{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.demo-mz-row.active .demo-mz-states b{box-shadow:0 6px 14px rgba(15,23,42,.14)}
.demo-mz-row.active{z-index:2;transform:scale(1.025);transform-origin:center}.demo-mz-row.active:hover{transform:scale(1.03)}
.demo-mz-row.active{z-index:5;transform:none;outline:3px solid rgba(255,98,0,.24);outline-offset:3px;box-shadow:0 26px 52px rgba(6,29,53,.24),0 0 0 9999px rgba(6,29,53,.015)}.demo-mz-row.active:hover{transform:none}.demo-mz-row.active:after{box-shadow:0 8px 18px rgba(255,98,0,.22)}
.demo-mz-row.active{z-index:3;transform:none;outline:0;padding:20px 18px;min-height:126px;box-shadow:inset 0 0 0 3px #ff6200,0 18px 34px rgba(255,98,0,.18)}.demo-mz-row.active:hover{transform:none}.demo-mz-row.active .demo-mz-info strong{font-size:18px}.demo-mz-row.active .demo-mz-icon{width:42px;height:42px}.demo-mz-row.active:after{top:12px;right:12px;box-shadow:none}
.demo-mz-row{transform-origin:center;will-change:transform}.demo-mz-row:not(.active):hover{z-index:4;transform:scale(1.035);box-shadow:0 18px 36px rgba(6,29,53,.16)}.demo-mz-row.active:hover{z-index:6;transform:scale(1.02);box-shadow:inset 0 0 0 3px #ff6200,0 22px 42px rgba(255,98,0,.22)}
.demo-mz-list.has-active .demo-mz-row:not(.active){background:#f3f6fa;border-color:#d8e1ec;opacity:.66;filter:grayscale(.75);box-shadow:0 6px 14px rgba(15,23,42,.035)}.demo-mz-list.has-active .demo-mz-row:not(.active):before{background:#b7c2d0}.demo-mz-list.has-active .demo-mz-row:not(.active) .demo-mz-icon{background:#e2e8f0;color:#64748b;border-color:#cbd5e1}.demo-mz-list.has-active .demo-mz-row:not(.active) .demo-mz-states b{background:#fff;color:#64748b!important;border-color:#d8e1ec!important}.demo-mz-list.has-active .demo-mz-row:not(.active):hover{opacity:1;filter:none;background:#fff;border-color:var(--mz-border,#e2e8f0);transform:scale(1.035);box-shadow:0 18px 36px rgba(6,29,53,.16)}.demo-mz-list.has-active .demo-mz-row:not(.active):hover:before{background:var(--mz-accent,#64748b)}.demo-mz-list.has-active .demo-mz-row:not(.active):hover .demo-mz-icon{background:var(--mz-accent,#64748b);color:#fff;border-color:var(--mz-accent,#64748b)}.demo-mz-list.has-active .demo-mz-row:not(.active):hover .demo-mz-states .free{background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important}.demo-mz-list.has-active .demo-mz-row:not(.active):hover .demo-mz-states .reserved{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}.demo-mz-list.has-active .demo-mz-row:not(.active):hover .demo-mz-states .sold{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
.demo-mz-lotes-btn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border-radius:10px;background:#ff6200;color:#fff!important;font-size:13px;font-weight:950;box-shadow:0 10px 20px rgba(255,98,0,.22)}@media(max-width:680px){.demo-mz-list.has-active .demo-mz-row:not(.active){opacity:1;filter:none;background:#fff;border-color:var(--mz-border,#e2e8f0);box-shadow:0 10px 22px rgba(15,23,42,.055)}.demo-mz-list.has-active .demo-mz-row:not(.active):before{background:var(--mz-accent,#64748b)}.demo-mz-list.has-active .demo-mz-row:not(.active) .demo-mz-icon{background:var(--mz-accent,#64748b);color:#fff;border-color:var(--mz-accent,#64748b)}.demo-mz-list.has-active .demo-mz-row:not(.active) .demo-mz-states .free{background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important}.demo-mz-list.has-active .demo-mz-row:not(.active) .demo-mz-states .reserved{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}.demo-mz-list.has-active .demo-mz-row:not(.active) .demo-mz-states .sold{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.demo-mz-row:not(.active):hover,.demo-mz-list.has-active .demo-mz-row:not(.active):hover,.demo-mz-row.active:hover{transform:none}}
.communication-attachment{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid #dce6f0;border-radius:10px;background:#f8fafc;color:#0f4c81;font-size:12px;font-weight:900}.communication-attachment i{color:#ff6200}.communication-attachment:hover{border-color:#ff6200;color:#ff6200}.modal-attachment.image{display:block;overflow:hidden;padding:0;border-radius:12px;background:#eef3f8}.modal-attachment.image img{display:block;width:100%;max-height:230px;object-fit:cover}.modal-attachment.pdf{width:max-content;max-width:100%;background:#fff3f3;color:#b91c1c;border-color:#fecaca}.modal-attachment.pdf i{color:#dc2626}
.operation-lot-card{overflow:hidden;padding:0;background:#fff;border-color:#dce6f0;box-shadow:0 16px 34px rgba(6,29,53,.08)}
.operation-project-cover{height:112px!important;border-top:5px solid #ff6200;border-bottom:1px solid #e2e8f0;background:#fff!important}.operation-project-cover img{width:72%!important;height:96px!important;object-fit:cover!important;object-position:center!important;transform:scale(2.05);filter:none!important}.operation-project-cover span{display:none!important}@media(max-width:680px){.operation-project-cover{height:100px!important}.operation-project-cover img{height:84px!important;transform:scale(1.85)}}
.operation-layout{grid-template-columns:minmax(320px,390px) minmax(0,1fr)!important}.operation-project-cover{height:164px!important}.operation-project-cover img{width:84%!important;height:136px!important;object-fit:contain!important;transform:scale(1.52)!important}@media(max-width:920px){.operation-layout{grid-template-columns:1fr!important}.operation-lot-card{max-width:520px;margin-inline:auto;width:100%}}@media(max-width:680px){.operation-project-cover{height:148px!important}.operation-project-cover img{height:122px!important;transform:scale(1.4)!important}}
.operation-lot-heading{justify-content:center;margin-top:16px!important;text-align:center}.operation-lot-heading-icon{display:none}.operation-lot-heading .map-kicker{display:none}.operation-lot-heading h2{font-size:24px!important;font-weight:950;text-transform:uppercase}.operation-lot-card .operation-meta{text-align:center}.operation-lot-card .operation-meta strong{justify-content:center}.operation-lot-card .operation-meta .badge{justify-self:center}
.operation-lot-card .operation-meta strong{font-size:24px!important;font-weight:950;letter-spacing:0}.operation-lot-card .operation-meta .badge{padding:5px 12px;font-size:24px!important;font-weight:950;line-height:1;border-radius:8px}
.operation-project-cover img{transform:scale(1.52)!important}.operation-lot-card .operation-meta .badge{display:flex!important;width:max-content;margin:0 auto!important;justify-self:center!important;align-items:center;justify-content:center}.operation-action-hints{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.operation-action-hints b{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;color:#475569;font-size:10px;font-weight:900}.operation-action-hints .release{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.operation-action-hints .reserve{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.operation-action-hints .sell{border-color:#fecaca;background:#fef2f2;color:#b91c1c}@media(max-width:680px){.operation-project-cover img{transform:scale(1.4)!important}}
.operation-action-select{position:relative}.operation-action-native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.operation-action-toggle{display:grid;grid-template-columns:24px 1fr auto;align-items:center;width:100%;min-height:48px;padding:0 14px;border:1px solid #cfddeb;border-radius:10px;background:#fff;color:#102f50;text-align:left;font:inherit;font-weight:900}.operation-action-toggle>i{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#eff6ff;color:#1d4ed8;font-size:12px}.operation-action-toggle b{padding-left:9px}.operation-action-toggle em{font-size:12px;font-style:normal;color:#64748b}.operation-action-toggle[data-value=reservar]>i{background:#f0fdf4;color:#15803d}.operation-action-toggle[data-value=vender]>i{background:#fef2f2;color:#b91c1c}.operation-action-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;overflow:hidden;border:1px solid #cfddeb;border-radius:10px;background:#fff;box-shadow:0 14px 28px rgba(6,29,53,.16)}.operation-action-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:11px 14px;border:0;border-bottom:1px solid #edf2f7;background:#fff;color:#17395b;font:inherit;font-size:13px;font-weight:900;text-align:left}.operation-action-menu button:last-child{border-bottom:0}.operation-action-menu button:hover{background:#f8fafc}.operation-action-menu button i{width:23px;color:#1d4ed8}.operation-action-menu button[data-action-value=reservar] i{color:#15803d}.operation-action-menu button[data-action-value=vender] i{color:#b91c1c}.operation-action-hints{display:none!important}
section.separated-report:not(.enhanced-report){display:none!important}.enhanced-report{padding:0;overflow:hidden;border-color:#dce6f0}.separated-report-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 26px;border-bottom:1px solid #e4ebf2;background:linear-gradient(135deg,#fff,#f7fbff)}.separated-report-head h2{margin:4px 0 5px;color:#001b36;font-size:27px}.separated-report-head h2 i{color:#ff6200;margin-right:7px}.separated-report-head .report-help{margin:0;color:#60758b;font-weight:750}.separated-summary{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.separated-summary span{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #dce6f0;border-radius:10px;background:#fff;color:#496078;font-size:12px;font-weight:850}.separated-summary i{color:#ff6200}.separated-summary b{color:#001b36;font-size:17px}.separated-table{min-width:1080px}.separated-table thead th{padding:14px 16px;background:#0c3459;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}.separated-table thead th i{margin-right:6px;color:#ffb078}.separated-table tbody td{padding:15px 16px;vertical-align:middle;border-bottom:1px solid #e8eef5}.separated-table tbody tr:hover{background:#fbfdff}.reserved-project-cell strong,.reserved-lot-cell strong,.reserved-client-cell strong{display:flex;align-items:center;gap:7px;color:#102f50;font-size:14px}.reserved-lot-cell strong em{width:4px;height:4px;border-radius:50%;background:#94a3b8}.reserved-project-cell small,.reserved-lot-cell small,.reserved-client-cell small{display:block;margin-top:6px;color:#64748b;font-weight:750}.advisor-chip{display:flex;align-items:center;min-width:175px;padding-left:10px;border-left:4px solid #0f4c81}.advisor-chip strong{display:block;margin-top:3px;color:#102f50;font-size:13px}.advisor-chip small{display:block;color:#718096;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.advisor-chip.tone-2{border-color:#16834a}.advisor-chip.tone-3{border-color:#b7791f}.advisor-chip.tone-4{border-color:#b91c1c}.advisor-chip.tone-5{border-color:#6d28d9}.advisor-chip.tone-6{border-color:#0f766e}.date-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid #dbe7f2;border-radius:8px;background:#f8fbfe;color:#31516f;font-size:12px;font-weight:850;white-space:nowrap}.date-chip.due{border-color:#fde68a;background:#fffbeb;color:#92400e}.expiry-label{display:block;margin-top:7px;color:#64748b;font-size:11px;font-weight:850}.separated-empty{text-align:center!important;padding:35px!important;color:#64748b;font-weight:850}.separated-empty i{display:block;margin-bottom:8px;color:#94a3b8;font-size:23px}@media(max-width:760px){.separated-report-head{align-items:flex-start;flex-direction:column;padding:20px}.separated-summary{justify-content:flex-start}.separated-report-head h2{font-size:24px}}
section.separated-report:not(.enhanced-report){display:none!important}.enhanced-report{padding:0;overflow:hidden;border-color:#dce6f0}.separated-report-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 26px;border-bottom:1px solid #e4ebf2;background:linear-gradient(135deg,#fff,#f7fbff)}.separated-report-head h2{margin:4px 0 5px;color:#001b36;font-size:27px}.separated-report-head h2 i{color:#ff6200;margin-right:7px}.separated-report-head .report-help{margin:0;color:#60758b;font-weight:750}.separated-summary{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.separated-summary span{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #dce6f0;border-radius:10px;background:#fff;color:#496078;font-size:12px;font-weight:850}.separated-summary i{color:#ff6200}.separated-summary b{color:#001b36;font-size:17px}.separated-table{min-width:1080px;border-collapse:separate;border-spacing:0 5px}.separated-table thead th{padding:14px 16px;background:#0c3459;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}.separated-table thead th i{margin-right:6px;color:#ffb078}.separated-table tbody td{padding:15px 16px;vertical-align:middle;border-top:1px solid #e8eef5;border-bottom:1px solid #e8eef5;background:#fff;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.separated-table tbody td:first-child{border-left:1px solid #e8eef5;border-radius:9px 0 0 9px}.separated-table tbody td:last-child{border-right:1px solid #e8eef5;border-radius:0 9px 9px 0}.separated-table tbody tr{cursor:default}.separated-table tbody tr:hover td{background:#eef1f4;border-top-color:#a8b1bd;border-bottom-color:#a8b1bd;box-shadow:inset 0 1px 0 #a8b1bd,inset 0 -1px 0 #a8b1bd}.separated-table tbody tr:hover td:first-child{border-left:5px solid #64748b;padding-left:12px}.separated-table tbody tr:hover td:last-child{border-right-color:#a8b1bd}.separated-table tbody tr:hover strong{color:#172033}.reserved-project-cell strong,.reserved-lot-cell strong,.reserved-client-cell strong{display:flex;align-items:center;gap:7px;color:#102f50;font-size:14px}.reserved-lot-cell strong em{width:4px;height:4px;border-radius:50%;background:#94a3b8}.reserved-project-cell small,.reserved-lot-cell small,.reserved-client-cell small{display:block;margin-top:6px;color:#64748b;font-weight:750}.advisor-chip{display:flex;align-items:center;min-width:175px;padding-left:10px;border-left:4px solid #0f4c81}.advisor-chip strong{display:block;margin-top:3px;color:#102f50;font-size:13px}.advisor-chip small{display:block;color:#718096;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.advisor-chip.tone-2{border-color:#16834a}.advisor-chip.tone-3{border-color:#b7791f}.advisor-chip.tone-4{border-color:#b91c1c}.advisor-chip.tone-5{border-color:#6d28d9}.advisor-chip.tone-6{border-color:#0f766e}.date-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid #dbe7f2;border-radius:8px;background:#f8fbfe;color:#31516f;font-size:12px;font-weight:850;white-space:nowrap}.date-chip.due{border-color:#fde68a;background:#fffbeb;color:#92400e}.expiry-label{display:block;margin-top:7px;color:#64748b;font-size:11px;font-weight:850}.separated-empty{text-align:center!important;padding:35px!important;color:#64748b;font-weight:850}.separated-empty i{display:block;margin-bottom:8px;color:#94a3b8;font-size:23px}@media(max-width:760px){.separated-report-head{align-items:flex-start;flex-direction:column;padding:20px}.separated-summary{justify-content:flex-start}.separated-report-head h2{font-size:24px}}
.operation-form-label>span{display:flex;align-items:center;gap:8px;color:#183858;font-weight:900}.operation-form-label>span i{display:grid;place-items:center;width:23px;height:23px;border:1px solid #dce6f0;border-radius:7px;background:#f8fafc;color:#ff6200;font-size:11px}.operation-form-label:focus-within>span{color:#ff6200}.operation-form-label:focus-within>span i{border-color:#fed7aa;background:#fff3eb}
.operation-project-cover{position:relative;height:106px;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid #e6edf5;background:linear-gradient(135deg,#f8fafc,#eef4fa)}.operation-project-cover:after{display:none}.operation-project-cover img{display:block;width:82%;height:76px;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(6,29,53,.1))}.operation-project-cover span{position:absolute;z-index:1;right:14px;bottom:12px;left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d7e3ef;border-radius:8px;background:#fff;color:#0f3b66;font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 5px 13px rgba(6,29,53,.08)}.operation-project-cover span i{color:#ff6200}.operation-lot-heading{display:flex;align-items:center;gap:11px;margin:15px 20px 10px}.operation-lot-heading-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #fed7aa;border-radius:11px;background:#fff3eb;color:#ff6200;font-size:18px}.operation-lot-heading .map-kicker{font-size:10px}.operation-lot-heading h2{margin:2px 0 0;font-size:23px;color:#001b36}.operation-lot-card .operation-meta{margin:0 20px 13px;padding:11px 13px;border:1px solid #e1eaf3;border-radius:11px;background:#f8fafc}.operation-lot-card .operation-meta strong{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:17px;color:#0f2f50}.operation-lot-card .operation-meta strong>span{width:4px;height:4px;border-radius:50%;background:#94a3b8}.operation-lot-card .operation-meta strong i{color:#ff6200;font-size:14px}.operation-lot-card .operation-meta .badge{justify-self:start;margin-top:1px;font-size:11px}.operation-lot-card .operation-data{margin:0 20px 18px;gap:0;border-top:1px solid #e6edf5}.operation-lot-card .operation-data div{grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-color:#e6edf5}.operation-lot-card .operation-data dt{display:flex;align-items:center;gap:7px;color:#61748a}.operation-lot-card .operation-data dt i{width:15px;color:#ff6200;text-align:center}.operation-lot-card .operation-data dd{text-align:right;color:#001b36}.operation-form-card h2{display:flex;align-items:center;gap:10px}.operation-form-card h2>i{display:grid;place-items:center;width:42px;height:42px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1d4ed8;font-size:19px}@media(max-width:680px){.operation-project-cover{height:94px}.operation-project-cover img{height:63px}.operation-project-cover span{right:10px;bottom:9px}.operation-lot-heading{margin:14px 16px 10px}.operation-lot-card .operation-meta,.operation-lot-card .operation-data{margin-left:16px;margin-right:16px}.operation-lot-card .operation-data div{grid-template-columns:1fr}.operation-lot-card .operation-data dd{text-align:left}.operation-lot-heading h2{font-size:21px}}
