:root{--color-bg:#f6f7fb;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-border:#e4e7ee;--color-text:#171a23;--color-text-muted:#6b7280;--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-primary-light:#eef2ff;--radius-sm:7px;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #171a230f;--shadow:0 2px 8px #171a230f, 0 1px 2px #171a230d;--shadow-md:0 8px 24px #171a2317, 0 2px 6px #171a230f;--shadow-primary:0 4px 12px #4f46e540;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}h1{letter-spacing:-.02em;margin:0 0 1.2rem;font-size:1.6rem;font-weight:700}.page-header h1,.auth-card h1{margin-bottom:0}.page-header h3{margin:0;font-size:1rem}h2{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.15rem;font-weight:700}button{cursor:pointer;font-family:inherit}input,select,textarea{font-size:1rem}a{color:var(--color-primary)}::selection{background:var(--color-primary-light);color:var(--color-primary-dark)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.auth-screen{background:radial-gradient(circle at top, #eef1ff 0%, var(--color-bg) 55%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-md);flex-direction:column;gap:.4rem;padding:2.2rem;display:flex}.auth-card__subtitle{color:var(--color-text-muted);margin:0 0 1rem;font-size:.9rem}.auth-card label{margin-top:.6rem;font-size:.85rem;font-weight:600}.auth-card input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .75rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.auth-card button{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary);border:none;margin-top:1.2rem;padding:.65rem;font-weight:600;transition:background .15s,transform .1s}.auth-card button:hover{background:var(--color-primary-dark)}.auth-card button:active{transform:translateY(1px)}.auth-card__error{color:#c0392b;margin:.5rem 0 0;font-size:.85rem}.form-success{color:#065f46;border-radius:var(--radius-sm);background:#d1fae5;margin:.5rem 0 0;padding:.55rem .8rem;font-size:.85rem;font-weight:600}.perfil-card{flex-direction:column;gap:1.1rem;display:flex}.perfil-field{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.3rem;padding-bottom:.9rem;display:flex}.perfil-field:last-child{border-bottom:none;padding-bottom:0}.perfil-field__label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.perfil-field__value{color:var(--color-text);font-size:1.05rem}.perfil-form{flex-direction:column;gap:1.1rem;display:flex}.perfil-form label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:700;display:flex}.perfil-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);text-transform:none;letter-spacing:normal;color:var(--color-text);padding:.65rem .8rem;font-family:inherit;font-size:.95rem;font-weight:400}.perfil-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.perfil-form button{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary);border:none;align-self:flex-start;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600}.perfil-form button:hover{background:var(--color-primary-dark)}.perfil-form button:disabled{opacity:.6;box-shadow:none}.auth-card__footer{text-align:center;color:var(--color-text-muted);margin-top:1rem;font-size:.85rem}.layout__header{background:linear-gradient(120deg, #4338ca, var(--color-primary) 55%, #8b5cf6);z-index:10;align-items:center;gap:1.5rem;padding:.9rem 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 4px 16px #4338ca40}.layout__brand{letter-spacing:-.01em;color:#fff;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.layout__logo{background:#fff;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;box-shadow:0 2px 6px #00000026}.layout__logo svg{width:17px;height:17px}.layout__nav{flex:1;gap:.3rem;display:flex}.layout__nav a{color:#ffffffc7;border-radius:999px;padding:.5rem .9rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.layout__nav a:hover{color:#fff;background:#ffffff24}.layout__nav a.active{color:var(--color-primary-dark);background:#fff;font-weight:700}.user-menu{position:relative}.user-menu__trigger{border-radius:var(--radius-sm);color:#fff;background:#ffffff1a;border:1px solid #fff6;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.user-menu__trigger:hover{background:#fff3;border-color:#fff9}.user-menu__arrow{color:#fffc;font-size:.7rem}.user-menu__backdrop{z-index:15;position:fixed;inset:0}.user-menu__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:20;flex-direction:column;min-width:160px;margin-top:.4rem;padding:.4rem;display:flex;position:absolute;top:100%;right:0}.user-menu__panel a,.user-menu__panel button{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.5rem .7rem;font-size:.88rem;font-weight:500;text-decoration:none;display:block}.user-menu__panel a:hover,.user-menu__panel button:hover{background:var(--color-bg);color:var(--color-primary)}.layout__content{max-width:1900px;margin:0 auto;padding:1.75rem 2rem}section+section{margin-top:2rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.page-header select{border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:.5rem .7rem;font-weight:500}.page-header__actions{align-items:center;gap:.6rem;display:flex}.error-text{color:#c0392b}.empty-state{color:var(--color-text-muted)}.back-link{color:var(--color-primary);margin-bottom:1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.proveedores-panel{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;margin-top:.9rem;padding-top:.9rem;display:flex}.proveedores-panel__grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;display:grid}.proveedores-panel__row{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:.3rem;padding:.8rem .9rem;font-size:.85rem;display:flex}.proveedores-panel__tipo{color:var(--color-text);font-weight:700}.proveedores-panel__row-actions{gap:.4rem;margin-top:.4rem;display:flex}.proveedores-panel__row-actions button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.proveedores-panel__row-actions .danger--small{color:#c0392b}.proveedores-panel__add{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.proveedores-panel__add select,.proveedores-panel__add input{border:1px solid var(--color-border);border-radius:6px;padding:.4rem .5rem;font-size:.85rem}.proveedores-panel__add button{background:var(--color-primary);color:#fff;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.82rem;font-weight:600}.button-like{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;padding:.4rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.button-like:hover{background:var(--color-primary-dark)}.fotos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.fotos-grid__item{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:.35rem;padding:.6rem;font-size:.8rem;display:flex}.fotos-grid__item img{object-fit:cover;border-radius:var(--radius-sm);background:var(--color-border);width:100%;height:110px}.inline-form__fieldset{border:1px solid var(--color-border);border-radius:8px;min-width:0;padding:.8rem 1rem 1rem}.inline-form__fieldset>*+*{margin-top:.75rem}.inline-form__fieldset legend{color:var(--color-text-muted);padding:0 .3rem;font-size:.8rem;font-weight:600}.fieldset-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.fieldset-header legend{padding:0}.fieldset-header button{align-self:auto;padding:.4rem .9rem;font-size:.85rem}.inline-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.9rem;margin-bottom:1.2rem;padding:1.3rem;display:flex}.inline-form__grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;display:grid}.inline-form label{flex-direction:column;gap:.3rem;font-size:.95rem;font-weight:600;display:flex}.inline-form__fotos{border:2px dashed var(--color-border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:.5rem;padding:.9rem;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.inline-form__fotos--arrastrando{border-color:var(--color-primary);background:var(--color-primary-light)}.inline-form__fotos .button-like{align-self:flex-start}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:.5rem;padding:.9rem;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.dropzone--arrastrando{border-color:var(--color-primary);background:var(--color-primary-light)}.dropzone .button-like{align-self:flex-start}.inline-form input,.inline-form select,.inline-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .6rem;font-family:inherit;font-size:.9rem;font-weight:400;transition:border-color .15s,box-shadow .15s}.inline-form input:focus,.inline-form select:focus,.inline-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.inline-form textarea{resize:vertical;min-height:70px}.inline-form__checks{flex-wrap:wrap;gap:1.2rem;display:flex}.checkbox{align-items:center;flex-direction:row!important;gap:.4rem!important}.checkbox input{width:auto}.tipo-mantencion-checks{flex-wrap:wrap;align-items:center;gap:1rem;font-size:.85rem;display:flex}.inline-form button,.page-header button{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--color-primary), #7c73f0);color:#fff;box-shadow:var(--shadow-primary);border:none;align-self:flex-start;padding:.6rem 1.3rem;font-size:.95rem;font-weight:600;transition:filter .15s,transform .1s}.inline-form button:hover,.page-header button:hover{filter:brightness(1.08)}.inline-form button:active,.page-header button:active{transform:translateY(1px)}.inline-form button:disabled,.page-header button:disabled{opacity:.6;box-shadow:none;cursor:default}.badge{letter-spacing:.02em;text-transform:uppercase;color:#374151;background:#e5e7eb;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.badge--activo,.badge--pagado{color:#065f46;background:#d1fae5}.badge--inactivo{color:#374151;background:#e5e7eb}.badge--terminado,.badge--rechazado{color:#991b1b;background:#fee2e2}.badge--pendiente{color:#92400e;background:#fef3c7}.badge--reabierto{color:#1e40af;background:#dbeafe}.badge--vencido{color:#991b1b;background:#fee2e2}.badge--proximo{color:#92400e;background:#fef3c7}.alza-banner{color:#92400e;border-radius:var(--radius);background:#fef3c7;border:1px solid #fde68a;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.alza-banner:before{content:"⚠"}.badge--atrasado{color:#92400e;background:#fde68a}.badge--abono{color:#1e40af;background:#dbeafe}.badge--completo{color:#065f46;background:#d1fae5}.badge--parcial{color:#9a3412;background:#ffedd5}.badge--final{color:#5b21b6;background:#ede9fe}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.1rem 1.3rem}.detail-card p{color:var(--color-text-muted);margin:.2rem 0;font-size:.9rem}.detail-card__grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.9rem;margin-top:.7rem;display:grid}.detail-card__item{flex-direction:column;gap:.15rem;display:flex}.detail-card__label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.detail-card__value{color:var(--color-text);font-size:1rem;font-weight:600}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);scrollbar-width:auto;overflow-x:auto}.table-wrap::-webkit-scrollbar{height:12px}.table-wrap::-webkit-scrollbar-track{background:var(--color-bg)}.table-wrap::-webkit-scrollbar-thumb{border:3px solid var(--color-bg);background:#c7cad3;border-radius:999px}.table-wrap::-webkit-scrollbar-thumb:hover{background:#a6aab5}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:.65rem .9rem;font-size:.95rem}.table th{color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;background:var(--color-surface-muted);font-size:.75rem;font-weight:700}.table__filter-row th{background:var(--color-surface);padding:.4rem .6rem}.table__filter-row input,.table__filter-row select{border:1px solid var(--color-border);border-radius:var(--radius-sm);text-transform:none;letter-spacing:normal;width:100%;color:var(--color-text);padding:.4rem .55rem;font-family:inherit;font-size:.9rem;font-weight:400}.table__filter-row input:focus,.table__filter-row select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--color-surface-muted)}.table tr:last-child td{border-bottom:none}.table th:last-child,.table td:last-child{background:var(--color-surface);position:sticky;right:0;box-shadow:-6px 0 6px -4px #171a2314}.table th:last-child,.table tbody tr:hover td:last-child,.table__historial-row td:last-child{background:var(--color-surface-muted)}.table td.table__historial-cell{box-shadow:none;background:var(--color-surface-muted);padding:0;position:static}.historial-detalle{padding:.9rem 1rem .9rem 2.2rem}.historial-tabla{border-collapse:collapse;width:100%;font-size:.8rem}.historial-tabla th,.historial-tabla td{text-align:left;border-bottom:1px solid var(--color-border);white-space:normal;color:var(--color-text-muted);padding:.45rem .6rem}.historial-tabla th{text-transform:uppercase;letter-spacing:.02em;font-size:.7rem;font-weight:600}.historial-tabla tbody tr:last-child td{border-bottom:none}.table__actions{flex-wrap:wrap;gap:.4rem;display:flex}.table__actions button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:.3rem .7rem;font-size:.8rem;font-weight:600}.table__actions button:hover{border-color:var(--color-primary);color:var(--color-primary)}.table__actions button.danger{color:#c0392b}.table__actions button.danger:hover{background:#fee2e2;border-color:#c0392b}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-muted);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button svg{width:20px;height:20px}.icon-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.icon-button--danger{color:#c0392b}.icon-button--danger:hover{color:#c0392b;background:#fee2e2;border-color:#c0392b}.icon-button--small{width:28px;height:28px}.icon-button--small svg{width:17px;height:17px}.icono-revision{border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.icono-revision svg{width:15px;height:15px}.icono-revision--pendiente{color:#92400e;background:#fef3c7}.icono-revision--aprobado{color:#065f46;background:#d1fae5}.table__note{color:var(--color-text-muted,#6b7280);margin:.25rem 0 0;font-size:.75rem}.date-input{align-items:center;gap:.4rem;display:flex;position:relative}.date-input input[type=text]{flex:1;min-width:0}.date-input button.date-input__calendario{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;box-shadow:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.date-input button.date-input__calendario:hover{border-color:var(--color-primary);color:var(--color-primary);filter:none}.date-input__calendario svg{width:18px;height:18px}.date-input__nativo{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute}.link-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.historial-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted,#6b7280);cursor:pointer;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.historial-toggle svg{width:14px;height:14px}.historial-toggle:hover,.historial-toggle--abierto{border-color:var(--color-primary);color:var(--color-primary)}.table__historial-row td{background:var(--color-surface-muted,#f8fafc);color:var(--color-text-muted,#6b7280);white-space:normal;font-size:.8rem}.table__historial-row td:first-child{padding-left:1.6rem}.table__cell-truncate{text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:260px;overflow:hidden}.table__historial-row .table__cell-truncate{white-space:nowrap}.table td.table__cell-wrap{white-space:normal;overflow-wrap:break-word;word-break:break-word}.table--fixed{table-layout:fixed}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sortable:hover{color:var(--color-primary)}.th-sortable__arrow{color:var(--color-primary);font-size:.7rem}.cell-editable{cursor:text}.cell-editable:hover{background:var(--color-bg)}.cell-input{border:1px solid var(--color-primary);border-radius:4px;width:100%;min-width:60px;padding:.3rem .4rem;font-family:inherit;font-size:.95rem}.cell-select{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.2rem .3rem;font-family:inherit;font-size:.95rem;font-weight:600}.cell-select:hover{border-color:var(--color-border)}.cell-select.badge{border-radius:999px}.badge--disponible{color:#065f46;background:#d1fae5}.badge--arrendada,.badge--arrendado{color:#1e40af;background:#dbeafe}.badge--en_mantencion{color:#92400e;background:#fef3c7}.badge--usufructo{color:#5b21b6;background:#ede9fe}.badge--casa{color:#075985;background:#e0f2fe}.badge--departamento{color:#6b21a8;background:#f3e8ff}.badge--habitacion{color:#9d174d;background:#fce7f3}.badge--terreno{color:#3f6212;background:#ecfccb}.badge--critica{color:#991b1b;background:#fee2e2}.badge--media{color:#9a3412;background:#ffedd5}.badge--baja{color:#854d0e;background:#fef9c3}.badge--estructural{color:#5b21b6;background:#ede9fe}.badge--locativa{color:#075985;background:#e0f2fe}.badge--pendiente_revision{color:#92400e;background:#fef3c7}.badge--revision_agendada{color:#155e75;background:#cffafe}.badge--en_revision{color:#3730a3;background:#e0e7ff}.badge--resuelto{color:#065f46;background:#d1fae5}.badge--administrador{color:#5b21b6;background:#ede9fe}.badge--propietario{color:#1e40af;background:#dbeafe}.badge--tecnico{color:#9a3412;background:#ffedd5}.badge--arrendatario{color:#065f46;background:#d1fae5}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.2rem;display:grid}.pagos-arrendatario__bloque{margin-bottom:1.5rem}.pagos-arrendatario__bloque h2 a{color:inherit;text-decoration:none}.pagos-arrendatario__bloque h2 a:hover{color:var(--color-primary)}.pagos-arrendatario__categoria{border-top:1px solid var(--color-border);margin-top:1.2rem;padding-top:1.2rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.3rem;padding:1.2rem;display:flex}.stat-card--total{background:linear-gradient(135deg, var(--color-primary), #6f66ec);color:#fff;box-shadow:var(--shadow-primary);border:none}.stat-card--total .stat-card__label{color:#ffffffd9}.stat-card__label{color:var(--color-text-muted);text-transform:uppercase;font-size:.8rem;font-weight:600}.stat-card__value{font-size:1.4rem;font-weight:700}.stat-card__count{color:var(--color-text-muted);font-size:.8rem}.stat-card--total .stat-card__count{color:#ffffffd9}.public-page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 3rem}.public-page__header{text-align:center;margin-bottom:2rem}.public-page__header h1{margin-bottom:0;font-size:2rem}.public-page__header p{color:var(--color-text-muted);margin:.4rem 0 0}.public-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.public-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);flex-direction:column;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.public-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.public-card__foto{background:var(--color-surface-muted);height:170px}.public-card__foto img{object-fit:cover;width:100%;height:100%}.public-card__foto-vacia{height:100%;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.public-card__body{flex-direction:column;gap:.3rem;padding:1rem 1.1rem 1.2rem;display:flex}.public-card__body h2{margin:.3rem 0 0}.public-card__ubicacion{color:var(--color-text-muted);margin:0;font-size:.9rem}.public-card__ubicacion--detalle{margin:.3rem 0 1rem;font-size:1rem}.public-card__caracteristicas{color:var(--color-text-muted);margin:.2rem 0 0;font-size:.85rem}.public-card__precio{color:var(--color-primary-dark);margin:.4rem 0 0;font-weight:700}.public-card__precio--grande{font-size:1.3rem}.public-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.public-gallery img{object-fit:cover;border-radius:var(--radius);width:100%;height:200px}.modal__backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:flex-start;padding:4rem 1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal__panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:640px;padding:1.5rem}.modal__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal__header h2{margin:0}.modal__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:6px;padding:.1rem .5rem;font-size:1.5rem;line-height:1}.modal__close:hover{background:var(--color-bg);color:var(--color-text)}.modal__body .inline-form{box-shadow:none;border:none;margin-bottom:0;padding:0}@media (width<=768px){.layout__header{flex-wrap:wrap;row-gap:.6rem;padding:.7rem 1rem}.layout__brand{font-size:.95rem}.layout__nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;margin:0 -1rem;padding:0 1rem;overflow-x:auto}.layout__nav::-webkit-scrollbar{display:none}.layout__nav a{white-space:nowrap;flex:none}.user-menu__nombre{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:32vw;display:inline-block;overflow:hidden}.layout__content{padding:1.1rem .9rem}h1{font-size:1.35rem}.page-header{flex-wrap:wrap;row-gap:.6rem}.page-header__actions{flex-wrap:wrap}.modal__backdrop{align-items:flex-start;padding:.75rem}.modal__panel{max-height:calc(100vh - 1.5rem);padding:1.1rem;overflow-y:auto}.table th,.table td{padding:.55rem .65rem}.detail-card,.stat-card,.inline-form{padding:1rem}.public-page{padding:1.25rem 1rem 2rem}.public-page__header h1{font-size:1.5rem}.public-gallery img{height:160px}}
