:root{--ecf-font: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--ecf-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ecf-ink: #0f172a;--ecf-ink-soft: #334155;--ecf-muted: #64748b;--ecf-faint: #94a3b8;--ecf-canvas: #f5f7fa;--ecf-canvas-soft: #f1f4f8;--ecf-card: #ffffff;--ecf-subtle: #f8fafc;--ecf-border: #e4e8ee;--ecf-border-strong: #cfd6e0;--ecf-sidebar: #ffffff;--ecf-accent: #2563eb;--ecf-accent-strong: #1d4ed8;--ecf-accent-soft: #eef4ff;--ecf-accent-bright: #3b82f6;--ecf-accent-ring: rgba(37, 99, 235, .18);--ecf-blue: #2563eb;--ecf-success: #059669;--ecf-success-soft: #ecfdf5;--ecf-success-border: #a7f3d0;--ecf-warning: #b45309;--ecf-warning-soft: #fffbeb;--ecf-warning-border: #fde68a;--ecf-danger: #dc2626;--ecf-danger-strong: #b91c1c;--ecf-danger-soft: #fef2f2;--ecf-danger-border: #fecaca;--ecf-radius-sm: 8px;--ecf-radius: 10px;--ecf-radius-lg: 14px;--ecf-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .04);--ecf-shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .05);--ecf-shadow-lg: 0 20px 48px rgba(15, 23, 42, .16), 0 4px 12px rgba(15, 23, 42, .08);--ecf-control-h: 38px;--ecf-sidebar-w: 256px;--ecf-sidebar-w-collapsed: 72px;--ecf-topbar-h: 56px;--ecf-page-max: 1440px;font-family:var(--ecf-font);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ecf-accent);outline-offset:2px}:where(table){font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{height:100dvh;display:flex;background:var(--ecf-canvas);overflow:hidden}.sb{position:relative;flex:none;width:var(--ecf-sidebar-w);height:100dvh;display:flex;flex-direction:column;background:var(--ecf-sidebar);border-right:1px solid var(--ecf-border);transition:width .2s ease;z-index:60}.sb-head{display:flex;align-items:center;gap:.5rem;height:64px;padding:0 1rem 0 1.25rem;flex:none}.sb-brand{display:flex;align-items:center;min-width:0;border-radius:8px;text-decoration:none}.sb-logo{height:26px;width:auto;display:block}.sb-brand-mark{display:none;width:34px;height:34px;border-radius:10px;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;background:linear-gradient(135deg,#22d3ee,#6366f1 55%,#a21caf);box-shadow:0 4px 10px #6366f14d}.sb-env{margin-left:auto;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ecf-warning);background:var(--ecf-warning-soft);border:1px solid var(--ecf-warning-border);white-space:nowrap}.sb-close{display:none;margin-left:auto;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--ecf-muted);cursor:pointer;align-items:center;justify-content:center}.sb-close:hover{background:var(--ecf-canvas-soft);color:var(--ecf-ink)}.sb-search{position:relative;margin:.25rem .85rem .5rem;flex:none}.sb-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--ecf-faint);pointer-events:none}.sb .sb-search input{width:100%;height:36px;padding:0 .75rem 0 2.1rem;border:1px solid var(--ecf-border);border-radius:9px;background:var(--ecf-subtle);font:inherit;font-size:.85rem;color:var(--ecf-ink);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.sb .sb-search input::placeholder{color:var(--ecf-faint)}.sb .sb-search input:focus{background:#fff;border-color:var(--ecf-accent);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.sb-body{flex:1;min-height:0;overflow-y:auto;padding:.25rem .75rem 1rem;scrollbar-width:thin;scrollbar-color:var(--ecf-border-strong) transparent}.sb-group+.sb-group{margin-top:1rem}.sb-group-label{margin:0 0 .3rem;padding:0 .6rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ecf-faint);white-space:nowrap}.sb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sb-link{position:relative;display:flex;align-items:center;gap:.7rem;height:38px;padding:0 .65rem;border-radius:9px;color:var(--ecf-ink-soft);font-size:.9rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}.sb-link-icon{flex:none;color:var(--ecf-faint);transition:color .12s}.sb-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.sb-link:hover{background:var(--ecf-canvas-soft);color:var(--ecf-ink)}.sb-link:hover .sb-link-icon{color:var(--ecf-ink-soft)}.sb-link.is-active{background:var(--ecf-accent-soft);color:var(--ecf-accent-strong);font-weight:600}.sb-link.is-active .sb-link-icon{color:var(--ecf-accent)}.sb-link.is-active:before{content:"";position:absolute;left:-.75rem;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--ecf-accent)}.sb-empty{margin:1rem .6rem;font-size:.85rem;color:var(--ecf-muted)}.sb-foot{flex:none;display:flex;align-items:center;gap:.5rem;padding:.75rem .85rem;border-top:1px solid var(--ecf-border)}.sb-user{flex:1;min-width:0;display:flex;align-items:center;gap:.65rem}.sb-avatar{flex:none;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.sb-user-text{min-width:0;display:flex;flex-direction:column;line-height:1.25}.sb-user-name{font-size:.85rem;font-weight:600;color:var(--ecf-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-user-role{font-size:.72rem;color:var(--ecf-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-icon-btn{flex:none;width:34px;height:34px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ecf-muted);cursor:pointer;transition:background .12s,color .12s}.sb-icon-btn:hover{background:var(--ecf-danger-soft);color:var(--ecf-danger)}.sb-collapse{position:absolute;top:20px;right:-12px;width:24px;height:24px;border-radius:50%;border:1px solid var(--ecf-border);background:#fff;color:var(--ecf-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--ecf-shadow);opacity:0;transition:opacity .15s,color .15s,border-color .15s}.sb:hover .sb-collapse,.sb-collapse:focus-visible,.shell--collapsed .sb-collapse{opacity:1}.sb-collapse:hover{color:var(--ecf-accent);border-color:var(--ecf-accent)}.shell--collapsed .sb{width:var(--ecf-sidebar-w-collapsed)}.shell--collapsed .sb-head{justify-content:center;padding:0}.shell--collapsed .sb-logo,.shell--collapsed .sb-head .sb-env,.shell--collapsed .sb-search,.shell--collapsed .sb-link-label,.shell--collapsed .sb-user-text{display:none}.shell--collapsed .sb-brand-mark{display:inline-flex}.shell--collapsed .sb-group-label{height:1px;margin:0 .6rem .5rem;padding:0;overflow:hidden;color:transparent;background:var(--ecf-border)}.shell--collapsed .sb-group+.sb-group{margin-top:.75rem}.shell--collapsed .sb-link{justify-content:center;padding:0}.shell--collapsed .sb-foot{flex-direction:column;padding:.75rem 0}.shell--collapsed .sb-user{flex:none}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh}.layout-main{flex:1;min-height:0;overflow:auto;background:var(--ecf-canvas)}.dev-banner{flex:none;display:flex;align-items:center;gap:.6rem;padding:.5rem 1.5rem;font-size:.8rem;line-height:1.4;color:#78350f;background:linear-gradient(90deg,#fffbeb,#fef3c7);border-bottom:1px solid var(--ecf-warning-border)}.dev-banner strong{font-weight:700}.dev-banner code{padding:.05em .35em;border-radius:4px;font-family:var(--ecf-mono);font-size:.92em;background:#b453091a}.dev-banner-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.mbar{display:none;flex:none;align-items:center;gap:.75rem;height:var(--ecf-topbar-h);padding:0 1rem;background:#fff;border-bottom:1px solid var(--ecf-border)}.mbar-burger{width:38px;height:38px;border:1px solid var(--ecf-border);border-radius:9px;background:#fff;color:var(--ecf-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mbar-logo{height:24px;width:auto}.mbar .sb-env{margin-left:auto}.sb-backdrop{display:none}@media(max-width:1023px){.mbar{display:flex}.sb{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--ecf-shadow-lg)}.sb.is-open{transform:translate(0)}.shell--collapsed .sb{width:min(300px,86vw)}.sb-close{display:inline-flex}.sb-head .sb-env{margin-left:0}.sb-collapse{display:none}.sb-backdrop{display:block;position:fixed;inset:0;z-index:55;background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dev-banner{padding:.5rem 1rem}}body.ecf-nav-lock{overflow:hidden}.lp{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;overflow:hidden;background:#f5f7fa;font-family:var(--ecf-font);color:var(--ecf-ink)}.lp-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 420px at 12% 8%,rgba(34,211,238,.18),transparent 60%),radial-gradient(760px 480px at 92% 12%,rgba(99,102,241,.16),transparent 60%),radial-gradient(640px 420px at 70% 100%,rgba(37,99,235,.12),transparent 60%)}.lp-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.045) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}.lp-main{position:relative;width:100%;max-width:420px}.lp-card{padding:2.25rem 2rem 1.75rem;border:1px solid rgba(228,232,238,.9);border-radius:18px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px #0f172a1f,0 4px 14px #0f172a0f}.lp-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.5rem}.lp-logo{height:40px;width:auto;margin-bottom:1.25rem}.lp-env{margin:-.5rem 0 1rem;padding:.15rem .6rem;border-radius:999px;border:1px solid #fde68a;background:#fffbeb;color:#b45309;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lp-title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.lp-subtitle{margin:.35rem 0 0;font-size:.9rem;color:#64748b}.lp-error{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:1rem;padding:.7rem .85rem;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:.85rem;line-height:1.45}.lp-error svg{flex:none;margin-top:1px}.lp-form{display:flex;flex-direction:column;gap:1.1rem}.lp-field label{display:block;margin-bottom:.4rem;font-size:.82rem;font-weight:600;color:#334155}.lp-input{position:relative;display:flex;align-items:center}.lp-input-icon{position:absolute;left:.85rem;color:#94a3b8;pointer-events:none;transition:color .15s}.lp-input input{width:100%;height:44px;padding:0 2.75rem 0 2.6rem;border:1px solid #cfd6e0;border-radius:10px;background:#fff;color:#0f172a;font-family:inherit;font-size:.95rem;outline:none;transition:border-color .15s,box-shadow .15s}.lp-input input::placeholder{color:#94a3b8}.lp-input input:hover:not(:focus){border-color:#b9c3d0}.lp-input input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.lp-input:focus-within .lp-input-icon{color:#2563eb}.lp-reveal{position:absolute;right:.4rem;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer}.lp-reveal:hover{background:#f1f4f8;color:#334155}.lp-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:46px;margin-top:.35rem;border:0;border-radius:10px;background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 6px 16px #2563eb4d,inset 0 1px #ffffff2e;transition:transform .12s,box-shadow .12s,filter .12s}.lp-submit:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 10px 22px #2563eb57,inset 0 1px #ffffff2e}.lp-submit:active:not(:disabled){transform:translateY(1px)}.lp-submit:disabled{opacity:.7;cursor:progress}.lp-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:lp-spin .7s linear infinite}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-foot{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:1.5rem 0 0;padding-top:1.1rem;border-top:1px solid #eef1f5;font-size:.78rem;color:#94a3b8}@media(max-width:480px){.lp-card{padding:1.75rem 1.25rem 1.4rem}}.shell .portal-page--building-detail .bd-hero{align-items:flex-end}.shell .portal-page--building-detail .bd-title-row{display:flex;align-items:center;gap:.9rem}.shell .portal-page--building-detail .bd-avatar{flex:none;width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-accent);background:linear-gradient(135deg,#eef4ff,#e0e9ff);border:1px solid #d6e2fd}.shell .portal-page--building-detail .bd-title-text{min-width:0}.shell .portal-page--building-detail .bd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;font-size:.875rem;color:var(--ecf-muted)}.shell .portal-page--building-detail .bd-meta-sep{color:var(--ecf-faint)}.shell .portal-page--building-detail .bd-meta-badges{display:inline-flex;flex-wrap:wrap;gap:.35rem;margin-left:.35rem}.shell .portal-page--building-detail .dashboard-tabs{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}.shell .portal-page--building-detail .tabs-list{padding:0;gap:0;background:none;border-bottom:1px solid var(--ecf-border)}.shell .portal-page--building-detail .tab-btn{display:inline-flex;align-items:center;gap:.45rem;height:44px;padding:0 .6rem;font-size:.85rem}.shell .portal-page--building-detail .tab-btn:after{left:.4rem;right:.4rem}.shell .portal-page--building-detail .bd-tab-icon{color:var(--ecf-faint)}.shell .portal-page--building-detail .tab-btn.active .bd-tab-icon{color:var(--ecf-accent)}.shell .portal-page--building-detail .tab-panels{padding:1.5rem 0 0}.shell .portal-page--building-detail .tab-panel>.portal-card:last-child{margin-bottom:0}.shell .portal-page--building-detail .bd-kpi-text{font-size:1.15rem;line-height:1.3}.shell .portal-page--building-detail .bd-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.25rem;align-items:start}.shell .portal-page--building-detail .bd-columns>.portal-card{margin-bottom:0}.shell .portal-page--building-detail .bd-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 1.5rem;margin:0}.shell .portal-page--building-detail .bd-fields--stack{grid-template-columns:1fr;gap:1rem}.shell .portal-page--building-detail .bd-fields-wide{grid-column:1 / -1}.shell .portal-page--building-detail .bd-fields dt{margin:0 0 .25rem;font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted)}.shell .portal-page--building-detail .bd-fields dd{margin:0;font-size:.95rem;font-weight:500;color:var(--ecf-ink);overflow-wrap:anywhere}.shell .portal-page--building-detail .bd-dd-sub{display:block;margin-top:.1rem;font-size:.85rem;font-weight:400;color:var(--ecf-muted)}.shell .portal-page--building-detail .bd-dd-note{font-weight:400;font-size:.875rem;color:var(--ecf-ink-soft);white-space:pre-wrap}.shell .portal-page--building-detail .bd-count{display:inline-flex;align-items:center;height:20px;margin-left:.5rem;padding:0 .5rem;border-radius:999px;vertical-align:.1em;font-size:.72rem;font-weight:650;color:var(--ecf-muted);background:var(--ecf-canvas-soft)}.shell .portal-page--building-detail .portal-card-header .portal-card-meta{display:block;margin-top:.15rem}.shell .portal-page--building-detail .bd-note{margin:.85rem 0 0}.shell .portal-page--building-detail .bd-muted{color:var(--ecf-faint);font-size:.85rem}.shell .portal-page--building-detail .bd-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.shell .portal-page--building-detail .bd-search{max-width:none}.shell .portal-page--building-detail .bd-results{list-style:none;margin:.85rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}.shell .portal-page--building-detail .bd-result{width:100%;display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.shell .portal-page--building-detail .bd-result:hover{border-color:var(--ecf-border-strong);background:var(--ecf-subtle)}.shell .portal-page--building-detail .bd-result.is-selected{border-color:var(--ecf-accent);background:var(--ecf-accent-soft);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.shell .portal-page--building-detail .bd-result-radio{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--ecf-border-strong);background:#fff}.shell .portal-page--building-detail .bd-result.is-selected .bd-result-radio{border:5px solid var(--ecf-accent)}.shell .portal-page--building-detail .bd-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:.9rem 1.35rem;border-bottom:1px solid var(--ecf-border);background:var(--ecf-subtle)}.shell .portal-page--building-detail .bd-legend>div{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;line-height:1.45;color:var(--ecf-muted)}.shell .portal-page--building-detail .bd-legend strong{font-size:.8rem;color:var(--ecf-ink-soft)}.shell .portal-page--building-detail .building-admins-flags{display:flex;flex-wrap:wrap;gap:.35rem}.shell .portal-page--building-detail .building-admins-flag{display:inline-flex;align-items:center;gap:.4rem;height:28px;padding:0 .7rem;border-radius:999px;border:1px solid var(--ecf-border);background:#fff;color:var(--ecf-muted);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.shell .portal-page--building-detail .building-admins-flag:hover:not(:disabled){border-color:var(--ecf-border-strong);color:var(--ecf-ink)}.shell .portal-page--building-detail .building-admins-flag.is-on{border-color:var(--ecf-success-border);background:var(--ecf-success-soft);color:#047857;font-weight:600}.shell .portal-page--building-detail .building-admins-flag:disabled{opacity:.55;cursor:not-allowed}.shell .portal-page--building-detail .building-admins-flag-dot{width:7px;height:7px;border-radius:50%;background:var(--ecf-border-strong)}.shell .portal-page--building-detail .building-admins-flag.is-on .building-admins-flag-dot{background:var(--ecf-success);box-shadow:0 0 0 3px #05966926}.shell .portal-page--building-detail .building-modules-plan-apply{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.shell .portal-page--building-detail .building-modules-plan-apply select{min-width:200px}.shell .portal-page--building-detail .building-modules-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}.shell .portal-page--building-detail .building-modules-subtitle{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.9rem;font-weight:650;color:var(--ecf-ink)}.shell .portal-page--building-detail .building-modules-count{display:inline-flex;align-items:center;height:20px;padding:0 .5rem;border-radius:999px;font-size:.72rem;font-weight:650;color:var(--ecf-muted);background:var(--ecf-canvas-soft)}.shell .portal-page--building-detail .building-modules-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem .75rem;max-height:420px;overflow-y:auto;margin-top:.75rem;padding:.5rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:#fff}.shell .portal-page--building-detail .building-modules-check-label{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem;border-radius:7px;font-size:.85rem;color:var(--ecf-ink-soft);cursor:pointer}.shell .portal-page--building-detail .building-modules-check-label:hover{background:var(--ecf-subtle)}.shell .portal-page--building-detail .building-modules-check-label:has(input:checked){background:var(--ecf-accent-soft);color:var(--ecf-accent-strong);font-weight:600}.shell .portal-page--building-detail .building-modules-empty{grid-column:1 / -1;margin:.5rem;font-size:.85rem;color:var(--ecf-muted)}.shell .portal-page--building-detail .building-modules-form-actions{margin-top:.85rem;padding-top:0;border-top:0}.shell .portal-page--building-detail .bd-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.shell .portal-page--building-detail .bd-chip{display:inline-flex;align-items:center;gap:.15rem;height:30px;padding:0 .25rem 0 .7rem;border:1px solid var(--ecf-border);border-radius:999px;background:#fff;font-size:.82rem;font-weight:500;color:var(--ecf-ink-soft)}.shell .portal-page--building-detail .bd-chip-remove{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--ecf-faint);font:inherit;font-size:.7rem;cursor:pointer;transition:background .12s,color .12s}.shell .portal-page--building-detail .bd-chip-remove:hover:not(:disabled){background:var(--ecf-danger-soft);color:var(--ecf-danger)}.shell .portal-page--building-detail .building-modules-legacy{margin-top:1rem;padding:.75rem .9rem;border:1px dashed var(--ecf-border-strong);border-radius:var(--ecf-radius);background:var(--ecf-subtle)}.shell .portal-page--building-detail .building-modules-legacy summary{font-size:.85rem;font-weight:600;color:var(--ecf-muted);cursor:pointer}.shell .portal-page--building-detail .building-modules-legacy[open] .bd-chips{margin-top:.5rem}.shell .portal-page--building-detail .bd-owners{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.shell .portal-page--building-detail .bd-owners li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem}.shell .portal-page--building-detail .bd-owner-name{font-weight:500;color:var(--ecf-ink)}.shell .portal-page--building-detail .bd-owner-mail{font-size:.78rem;color:var(--ecf-muted)}.shell .bd-danger-modal .bd-danger-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:.85rem;border-radius:50%;color:var(--ecf-danger);background:var(--ecf-danger-soft)}.shell .bd-danger-modal h3{margin-bottom:.4rem}.shell .bd-danger-modal .bd-confirm-name{font-family:var(--ecf-mono);font-weight:600;color:var(--ecf-ink)}.shell .bd-danger-modal .bd-modal-error{margin-top:.75rem}@media(max-width:1100px){.shell .portal-page--building-detail .bd-columns,.shell .portal-page--building-detail .building-modules-grid,.shell .portal-page--building-detail .bd-legend{grid-template-columns:1fr}}@media(max-width:720px){.shell .portal-page--building-detail .bd-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.shell .portal-page--building-detail .bd-kpis .ui-kpi{padding:.85rem}.shell .portal-page--building-detail .bd-title-row{align-items:flex-start}.shell .portal-page--building-detail .bd-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.shell .portal-page--building-detail .bd-avatar{width:42px;height:42px}.shell .portal-page--building-detail .bd-meta-badges{margin-left:0}.shell .portal-page--building-detail .building-modules-checkboxes{grid-template-columns:1fr}.shell .portal-page--building-detail .bd-legend{padding:.85rem 1rem}}.shell .portal-page--building-edit .portal-page-inner{max-width:1080px}.shell .portal-page--building-edit .be-form>.portal-card{margin-bottom:1.25rem}.shell .portal-page--building-edit .portal-card-header .portal-card-meta{display:block;margin-top:.15rem}.shell .portal-page--building-edit .be-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem 1.25rem}.shell .portal-page--building-edit .be-grid .form-row{margin:0;min-width:0}.shell .portal-page--building-edit .be-span-2{grid-column:span 2}.shell .portal-page--building-edit .be-span-all{grid-column:1 / -1}.shell .portal-page--building-edit .be-hint{margin:-.35rem 0 0}.shell .portal-page--building-edit .be-money{display:flex;align-items:stretch}.shell .portal-page--building-edit .be-money>span{display:inline-flex;align-items:center;padding:0 .75rem;border:1px solid var(--ecf-border-strong);border-right:0;border-radius:var(--ecf-radius-sm) 0 0 var(--ecf-radius-sm);background:var(--ecf-subtle);font-size:.8rem;font-weight:650;color:var(--ecf-muted)}.shell .portal-page--building-edit .be-money input{flex:1;min-width:0;border-radius:0 var(--ecf-radius-sm) var(--ecf-radius-sm) 0}.shell .portal-page--building-edit .be-actions{position:sticky;bottom:1rem;z-index:5;display:flex;justify-content:flex-end;gap:.6rem;padding:.75rem 1rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius-lg);background:#fffffff0;box-shadow:var(--ecf-shadow-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shell .portal-page--building-form .buildings-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:.9rem}@media(max-width:860px){.shell .portal-page--building-edit .be-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.shell .portal-page--building-edit .be-grid{grid-template-columns:1fr}.shell .portal-page--building-edit .be-span-2{grid-column:auto}.shell .portal-page--building-edit .be-actions{bottom:.5rem;padding:.65rem}.shell .portal-page--building-edit .be-actions>*{flex:1}}.wiz-steps{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.wiz-step button{width:100%;display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border:1px solid var(--ecf-border, #e3e8ef);border-radius:10px;background:#fff;color:var(--ecf-muted, #64748b);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.wiz-step-num{flex:none;width:1.6rem;height:1.6rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;background:#f1f5f9;color:#475569}.wiz-step-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiz-step.is-current button{border-color:#2563eb;color:#0f172a;font-weight:600;box-shadow:0 0 0 1px #2563eb}.wiz-step.is-current .wiz-step-num{background:#2563eb;color:#fff}.wiz-step.is-done .wiz-step-num{background:#dcfce7;color:#15803d}.wiz-card .portal-card-body>.form-row+.form-row,.wiz-card .portal-card-body>.form-row+.form-grid,.wiz-card .portal-card-body>.form-grid+.form-row{margin-top:1.1rem}.wiz-label{display:block;font-size:.875rem;font-weight:500;color:#334155;margin-bottom:.4rem}.wiz-choices{display:grid;gap:.75rem}.wiz-choices--2{grid-template-columns:repeat(2,minmax(0,1fr))}.wiz-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.buildings-form .form-row .wiz-choice{position:relative;display:flex;flex-direction:column;gap:.3rem;margin:0;padding:.85rem 1rem;border:1px solid var(--ecf-border, #e3e8ef);border-radius:10px;background:#fff;cursor:pointer;font-weight:400}.wiz-choice input[type=radio]{position:absolute;opacity:0;pointer-events:none}.wiz-choice strong{font-size:.95rem;color:#0f172a}.wiz-choice small{font-size:.8rem;color:#64748b;line-height:1.35}.buildings-form .form-row .wiz-choice:hover{border-color:#93c5fd}.buildings-form .form-row .wiz-choice.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.wiz-choice:has(input:focus-visible){outline:2px solid #2563eb;outline-offset:2px}.wiz-plan-count{font-size:.75rem;font-weight:500;color:#64748b}.wiz-plan-chips{display:flex;flex-wrap:wrap;gap:.3rem}.wiz-plan-chip{font-size:.72rem;padding:.1rem .45rem;border-radius:999px;background:#f1f5f9;color:#334155}.wiz-summary{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .9rem;margin-bottom:1.1rem;border-radius:8px;background:#f8fafc;border:1px solid var(--ecf-border, #e3e8ef);font-size:.85rem;color:#475569}.buildings-form .form-grid-3{grid-template-columns:repeat(3,1fr)}.wiz-actions{display:flex;justify-content:space-between;margin-top:1.5rem}@media(max-width:600px){.wiz-steps,.wiz-choices--2,.buildings-form .form-grid-3{grid-template-columns:1fr}}.shell .portal-page--wizard .portal-page-inner{max-width:920px}.shell .portal-page--wizard .wiz-steps{position:relative;gap:0;margin-bottom:1.25rem}.shell .portal-page--wizard .wiz-step{position:relative}.shell .portal-page--wizard .wiz-step+.wiz-step:before{content:"";position:absolute;top:50%;left:-.5rem;width:1rem;height:2px;background:var(--ecf-border-strong);transform:translateY(-50%)}.shell .portal-page--wizard .wiz-step.is-done+.wiz-step:before{background:var(--ecf-success)}.shell .portal-page--wizard .wiz-step button{height:48px;margin:0 .5rem;width:calc(100% - 1rem);border-radius:12px;border-color:var(--ecf-border);box-shadow:var(--ecf-shadow);transition:border-color .12s,box-shadow .12s}.shell .portal-page--wizard .wiz-step:first-child button{margin-left:0;width:calc(100% - .5rem)}.shell .portal-page--wizard .wiz-step:last-child button{margin-right:0;width:calc(100% - .5rem)}.shell .portal-page--wizard .wiz-step button:hover:not(:disabled){border-color:var(--ecf-border-strong)}.shell .portal-page--wizard .wiz-step.is-current button{border-color:var(--ecf-accent);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.shell .portal-page--wizard .wiz-step.is-done .wiz-step-num{background:var(--ecf-success);color:#fff}.shell .portal-page--wizard .wiz-card{overflow:visible}.shell .portal-page--wizard .wiz-card>.portal-card-body{padding:1.5rem}.shell .portal-page--wizard .wiz-choices--2 .wiz-choice{flex-direction:row;align-items:flex-start;gap:.85rem;padding:1rem}.shell .portal-page--wizard .wiz-choice-icon{flex:none;width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-muted);background:var(--ecf-canvas-soft);transition:background .12s,color .12s}.shell .portal-page--wizard .wiz-choice-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.shell .portal-page--wizard .wiz-choice-check{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--ecf-border-strong);color:transparent;background:#fff;transition:background .12s,border-color .12s}.shell .portal-page--wizard .wiz-choice.is-selected .wiz-choice-icon{color:#fff;background:var(--ecf-accent)}.shell .portal-page--wizard .wiz-choice.is-selected .wiz-choice-check{border-color:var(--ecf-accent);background:var(--ecf-accent);color:#fff}.shell .portal-page--wizard .wiz-plan strong{display:inline-flex;align-items:center;gap:.35rem}.shell .portal-page--wizard .wiz-plan-none-icon{color:var(--ecf-faint)}.shell .portal-page--wizard .wiz-summary{border-radius:10px;background:var(--ecf-accent-soft);border-color:#d6e2fd;color:var(--ecf-ink-soft)}.shell .portal-page--wizard .wiz-actions{margin:1.5rem -1.5rem -1.5rem;padding:1rem 1.5rem;border-top:1px solid var(--ecf-border);background:var(--ecf-subtle);border-radius:0 0 var(--ecf-radius-lg) var(--ecf-radius-lg)}@media(max-width:600px){.shell .portal-page--wizard .wiz-step+.wiz-step:before{display:none}.shell .portal-page--wizard .wiz-steps{display:flex;gap:.4rem}.shell .portal-page--wizard .wiz-step{flex:none;width:52px}.shell .portal-page--wizard .wiz-step.is-current{flex:1;width:auto;min-width:0}.shell .portal-page--wizard .wiz-step:not(.is-current) .wiz-step-title{display:none}.shell .portal-page--wizard .wiz-step button{height:42px;justify-content:center}.shell .portal-page--wizard .wiz-step button,.shell .portal-page--wizard .wiz-step:first-child button,.shell .portal-page--wizard .wiz-step:last-child button{margin:0;width:100%}.shell .portal-page--wizard .wiz-card>.portal-card-body{padding:1.15rem}.shell .portal-page--wizard .wiz-actions{margin:1.25rem -1.15rem -1.15rem;padding:.85rem 1.15rem}}.shell .portal-page--delete-building .portal-page-inner{max-width:980px}.shell .portal-page--delete-building .portal-card-header .portal-card-meta{display:block;margin-top:.15rem}.shell .portal-page--delete-building .bdel-warning{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.25rem;padding:1rem 1.15rem;border:1px solid var(--ecf-danger-border);border-radius:var(--ecf-radius-lg);background:var(--ecf-danger-soft);color:#7f1d1d;font-size:.9rem;line-height:1.5}.shell .portal-page--delete-building .bdel-warning>div{display:flex;flex-direction:column;gap:.15rem}.shell .portal-page--delete-building .bdel-warning>div>strong{color:var(--ecf-danger-strong);font-size:.95rem}.shell .portal-page--delete-building .bdel-warning-icon{flex:none;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--ecf-danger);box-shadow:0 4px 12px #dc262640}.shell .portal-page--delete-building .bdel-confirm{border-color:var(--ecf-danger-border)}.shell .portal-page--delete-building .bdel-confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.shell .portal-page--delete-building .bdel-confirm-grid .form-row{margin:0}.shell .portal-page--delete-building .bdel-span{grid-column:1 / -1;margin:0}.shell .portal-page--delete-building .bdel-ref{margin-left:.35rem;padding:.05rem .4rem;border-radius:5px;font-family:var(--ecf-mono);font-size:.78rem;font-weight:500;color:var(--ecf-ink);background:var(--ecf-canvas-soft)}.shell .portal-page--delete-building .bdel-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.35rem;border-top:1px solid var(--ecf-border);background:var(--ecf-subtle)}@media(max-width:720px){.shell .portal-page--delete-building .bdel-confirm-grid{grid-template-columns:1fr}.shell .portal-page--delete-building .bdel-actions{flex-direction:column-reverse}}.shell .adm-person{display:flex;align-items:center;gap:.7rem;min-width:13rem}.shell .adm-avatar{flex:none;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--ecf-accent-strong);background:var(--ecf-accent-soft);border:1px solid #d6e2fd}.shell .adm-avatar--lg{width:52px;height:52px;font-size:1.05rem}.shell .inactive-row .adm-avatar{color:var(--ecf-muted);background:var(--ecf-canvas-soft);border-color:var(--ecf-border)}.shell .adm-chips{display:flex;flex-wrap:wrap;gap:.3rem;max-width:340px}.shell .adm-chip{display:inline-block;max-width:200px;height:24px;line-height:22px;padding:0 .55rem;border-radius:6px;border:1px solid var(--ecf-border);background:var(--ecf-subtle);color:var(--ecf-ink-soft);font-size:.76rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}a.adm-chip:hover{border-color:#c7d7fe;background:var(--ecf-accent-soft);color:var(--ecf-accent-strong)}.shell .adm-chip--more{color:var(--ecf-muted);background:#fff;border-style:dashed}.shell .adm-wa{display:inline-flex;align-items:center;gap:.35rem;height:28px;padding:0 .6rem;border:1px solid var(--ecf-border);border-radius:999px;background:#fff;color:var(--ecf-ink-soft);font-family:var(--ecf-mono);font-size:.78rem;white-space:nowrap;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.shell .adm-wa svg{color:#16a34a}.shell .adm-wa:hover{border-color:var(--ecf-border-strong);background:var(--ecf-subtle);color:var(--ecf-ink)}.shell .adm-wa--empty{font-family:inherit;font-weight:500;color:var(--ecf-muted);border-style:dashed}.shell .adm-wa--empty svg{color:currentColor}.shell .adm-wa--empty:hover{color:var(--ecf-accent);border-color:var(--ecf-accent);background:var(--ecf-accent-soft)}.shell .admin-whatsapp-hint{margin:-.4rem 0 1rem;font-size:.85rem;color:var(--ecf-muted)}.shell .admin-whatsapp-input-wrap{display:flex;align-items:stretch;margin:0;border:1px solid var(--ecf-border-strong);border-radius:var(--ecf-radius-sm);overflow:hidden;transition:border-color .12s,box-shadow .12s}.shell .admin-whatsapp-input-wrap:focus-within{border-color:var(--ecf-accent);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.shell .admin-whatsapp-prefix{display:inline-flex;align-items:center;padding:0 .85rem;background:var(--ecf-subtle);border-right:1px solid var(--ecf-border);font-family:var(--ecf-mono);font-weight:600;color:var(--ecf-ink-soft)}.shell .layout-main .admin-whatsapp-input-wrap .admin-whatsapp-input{flex:1;min-width:0;margin:0;border:0;border-radius:0;box-shadow:none;font-family:var(--ecf-mono)}.shell .modal-card .form-row+.form-row{margin-top:.85rem}.shell .modal-card .modal-input{width:100%;margin:0}.shell .admin-password-quick{margin:.6rem 0 0}.shell .adm-detail-head{display:flex;align-items:center;gap:1rem}.shell .adm-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.1rem 1.5rem;margin:0}.shell .adm-dl dt{margin:0 0 .2rem;font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted)}.shell .adm-dl dd{margin:0;font-size:.92rem;color:var(--ecf-ink);overflow-wrap:anywhere}.shell .adm-form .form-grid{display:grid;gap:1.1rem 1.25rem;margin-bottom:1.1rem}.shell .adm-form .form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.shell .adm-form .form-actions{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--ecf-border)}@media(max-width:720px){.shell .adm-form .form-grid-2{grid-template-columns:1fr}}.shell .adm-input-action{display:flex;gap:.5rem}.shell .adm-input-action input{flex:1;min-width:0}.shell .adm-form .form-actions{justify-content:flex-end}.shell .form-hint.adm-hint-ok{color:var(--ecf-success);font-weight:600}.shell .form-hint.adm-hint-error{color:var(--ecf-danger-strong);font-weight:600}.shell .ui-search.prop-wa-search{flex:0 1 260px}.shell .plat-mono{font-family:var(--ecf-mono);font-size:.85rem}.shell .plat-gap.plat-gap{margin-top:1.25rem}.shell .plat-note{margin:0;font-size:.82rem;line-height:1.5;color:var(--ecf-muted)}.shell .plat-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin:0}.shell .plat-facts>div{padding:.8rem .95rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:var(--ecf-subtle);min-width:0}.shell .plat-facts dt{margin:0 0 .35rem;font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted)}.shell .plat-facts dd{margin:0;font-size:.92rem;font-weight:500;color:var(--ecf-ink);overflow-wrap:anywhere}.shell .plat-service-head{display:flex;align-items:center;gap:.75rem}.shell .plat-service-head .portal-card-meta{display:block;margin-top:.1rem}.shell .plat-service-icon{flex:none;width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-accent);background:var(--ecf-accent-soft)}.shell .plat-ping{padding:1rem 1.15rem;border:1px solid var(--ecf-success-border);border-radius:var(--ecf-radius);background:var(--ecf-success-soft);color:#065f46}.shell .plat-ping-head{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.shell .plat-ping-latency{margin-left:auto;font-family:var(--ecf-mono);font-size:.8rem;padding:.1rem .5rem;border-radius:999px;background:#ffffffb3}.shell .plat-ping-grid{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:.75rem 0 0}.shell .plat-ping-grid dt{font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;opacity:.75}.shell .plat-ping-grid dd{margin:.1rem 0 0;font-weight:600}.shell .plat-ping-reply{margin:.75rem 0 0;padding:.6rem .8rem;border-radius:8px;background:#ffffffb3;font-size:.875rem;font-style:italic}.shell .plat-slug{display:inline-block;padding:.15rem .45rem;border-radius:6px;border:1px solid var(--ecf-border);background:var(--ecf-subtle);font-family:var(--ecf-mono);font-size:.78rem;color:var(--ecf-ink-soft);white-space:nowrap}.shell .plat-modules-table .plat-modules-name{min-width:18rem;max-width:40rem}.shell .plat-modules-desc{margin-top:.2rem;white-space:pre-line;line-height:1.45}.shell .plat-modules-desc.is-empty{font-style:italic;color:var(--ecf-faint)}.shell .plat-badge-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.shell .plat-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.shell .plat-two-col>.portal-card{margin-bottom:0}@media(max-width:900px){.shell .plat-two-col{grid-template-columns:minmax(0,1fr)}}.shell .plat-dl{display:flex;flex-direction:column;gap:1.1rem;margin:0}.shell .plat-dl dt{margin:0 0 .3rem;font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted)}.shell .plat-dl dd{margin:0;font-size:.92rem;line-height:1.55;color:var(--ecf-ink-soft)}.shell .plat-pre{white-space:pre-line}.shell .plat-empty{font-style:italic;color:var(--ecf-faint)}.shell .plat-copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.shell .plat-slug--lg{padding:.3rem .6rem;font-size:.88rem}.shell .portal-page-inner.plat-narrow{max-width:880px}.shell .buildings-form .form-grid{display:grid;gap:1rem 1.25rem;margin-bottom:1rem}.shell .buildings-form .form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){.shell .buildings-form .form-grid-2{grid-template-columns:minmax(0,1fr)}}.shell .plat-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.1rem}@media(max-width:640px){.shell .plat-checks{grid-template-columns:minmax(0,1fr)}}.shell .plat-check{display:flex;align-items:flex-start;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:#fff;cursor:pointer;transition:border-color .12s,background .12s}.shell .plat-check:hover{border-color:var(--ecf-border-strong)}.shell .plat-check.is-on{border-color:#bfd0fb;background:var(--ecf-accent-soft)}.shell .plat-check input{margin-top:.15rem;flex:none}.shell .plat-check strong{display:block;font-size:.9rem;color:var(--ecf-ink)}.shell .plat-check small{display:block;margin-top:.15rem;font-size:.8rem;line-height:1.45;color:var(--ecf-muted)}.shell .plat-card-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem;padding:.9rem 1.35rem;border-top:1px solid var(--ecf-border);background:var(--ecf-subtle)}.shell .plat-seg{display:inline-flex;gap:.25rem;margin-bottom:1.25rem;padding:.25rem;border:1px solid var(--ecf-border);border-radius:11px;background:var(--ecf-canvas-soft)}.shell .plat-seg-btn{display:inline-flex;align-items:center;gap:.5rem;height:34px;padding:0 .95rem;border:0;border-radius:8px;background:transparent;font-family:inherit;font-size:.875rem;font-weight:550;color:var(--ecf-muted);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}.shell .plat-seg-btn:hover{color:var(--ecf-ink)}.shell .plat-seg-btn.is-active{background:#fff;color:var(--ecf-ink);font-weight:650;box-shadow:0 1px 2px #0f172a14,0 1px 3px #0f172a0f}.shell .plat-seg-count{min-width:20px;height:20px;padding:0 .4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:650;color:var(--ecf-muted);background:#64748b1f}.shell .plat-seg-btn.is-active .plat-seg-count{color:var(--ecf-accent-strong);background:var(--ecf-accent-soft)}.shell .plat-empty-state{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:2.25rem 1rem;text-align:center;font-size:.875rem;color:var(--ecf-muted)}.shell .plat-empty-state strong{font-size:.98rem;color:var(--ecf-ink)}.shell .plat-empty-state .btn-secondary{margin-top:.6rem}.shell .plat-empty-icon{width:48px;height:48px;margin-bottom:.35rem;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-accent);background:var(--ecf-accent-soft)}.shell .plat-state-main{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.25rem;padding:1.35rem}.shell .plat-state-icon{flex:none;width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center}.shell .plat-state.is-open .plat-state-icon{color:var(--ecf-success);background:var(--ecf-success-soft)}.shell .plat-state.is-closed .plat-state-icon{color:var(--ecf-danger);background:var(--ecf-danger-soft)}.shell .plat-state.is-closed{border-color:var(--ecf-danger-border)}.shell .plat-state-text{flex:1 1 260px;min-width:0}.shell .plat-state-title{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:650;color:var(--ecf-ink)}.shell .plat-state-text p{margin:.2rem 0 0;font-size:.88rem;color:var(--ecf-muted)}.shell .plat-state-foot{padding:1rem 1.35rem 1.15rem;border-top:1px solid var(--ecf-border);background:var(--ecf-subtle)}.shell .plat-state-foot .buildings-error{margin-bottom:.75rem}.shell .plat-meta-block{display:block;margin-top:.2rem;max-width:46rem;line-height:1.5}.shell .plat-count-flat{margin-left:0;vertical-align:0}.shell .plat-list{list-style:none;margin:0;padding:0}.shell .plat-list li{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.35rem;border-bottom:1px solid var(--ecf-border)}.shell .plat-list li:last-child{border-bottom:0}.shell .plat-list li:hover{background:#fafbfd}.shell .plat-list-avatar{flex:none;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-muted);background:var(--ecf-canvas-soft)}.shell .plat-list-text{flex:1;min-width:0}.shell .plat-list-empty{margin:0;padding:1.5rem 1.35rem;font-size:.9rem;color:var(--ecf-muted)}.shell .plat-add{padding:1rem 1.35rem 1.15rem;border-top:1px solid var(--ecf-border);background:var(--ecf-subtle)}.shell .plat-add-form{display:flex;flex-wrap:wrap;gap:.6rem}.shell .plat-add .plat-note{margin-top:.75rem}.shell .plat-list--results{margin-top:.75rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:#fff;overflow:hidden}.shell .plat-list--results li{padding:.6rem .9rem}.shell .plat-form .portal-card-body>.form-row+.form-row,.shell .plat-form .portal-card-body>.form-row+.plat-grid-2,.shell .plat-form .portal-card-body>.plat-grid-2+.form-row{margin-top:1rem}.shell .plat-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}@media(max-width:640px){.shell .plat-grid-2{grid-template-columns:minmax(0,1fr)}}.shell .plat-card-foot .btn-ghost{margin-right:auto}.shell .plat-dates{align-items:center}.shell .plat-date{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:var(--ecf-muted)}@media(max-width:720px){.shell .plat-date{flex-direction:column;align-items:stretch;gap:.25rem}}@media(max-width:720px){.shell .portal-page--plat-modules .ui-toolbar-end>*{flex:1 1 calc(50% - .3rem)}.shell .plat-modules-table .plat-modules-name{min-width:14rem}}.shell .planes-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}.shell .planes-layout>.portal-card{margin-bottom:0}@media(min-width:1100px){.shell .planes-layout--editing{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shell .planes-layout--editing>.portal-card:last-child{position:sticky;top:1rem}}.shell .planes-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.85rem}.shell .planes-layout--editing .planes-list{grid-template-columns:minmax(0,1fr)}.shell .planes-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:#fff;transition:border-color .12s,box-shadow .12s}.shell .planes-item:hover{border-color:var(--ecf-border-strong);box-shadow:var(--ecf-shadow-md)}.shell .planes-item.is-active{border-color:var(--ecf-accent);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.shell .planes-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.shell .planes-item-name{font-size:.98rem;font-weight:650;color:var(--ecf-ink)}.shell .planes-item-count{font-size:.78rem;font-weight:500;color:var(--ecf-muted);white-space:nowrap}.shell .planes-item-noapp{margin-left:.5rem;padding:.1rem .45rem;border-radius:999px;vertical-align:.1em;font-size:.68rem;font-weight:650;color:var(--ecf-warning);background:var(--ecf-warning-soft);border:1px solid var(--ecf-warning-border)}.shell .planes-chips{display:flex;flex-wrap:wrap;gap:.35rem}.shell .planes-chip{font-size:.75rem;font-weight:500;line-height:1;padding:.3rem .55rem;border-radius:999px;border:1px solid #dbe5fb;background:var(--ecf-accent-soft);color:var(--ecf-accent-strong)}.shell .planes-chip--missing{border-color:var(--ecf-danger-border);background:var(--ecf-danger-soft);color:var(--ecf-danger-strong)}.shell .planes-item-actions{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--ecf-border);justify-content:flex-end}.shell .ui-search.plan-mods-search{max-width:none}.shell .planes-layout .buildings-form .form-row+.form-row{margin-top:1rem}.shell .plan-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.4rem;max-height:420px;overflow-y:auto;margin:.5rem 0 1rem;padding:.6rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:var(--ecf-subtle)}.shell .plan-mod{display:flex;align-items:center;gap:.55rem;min-height:36px;padding:.35rem .6rem;border:1px solid transparent;border-radius:8px;background:#fff;font-size:.85rem;color:var(--ecf-ink-soft);cursor:pointer;transition:border-color .12s,background .12s}.shell .plan-mod:hover{border-color:var(--ecf-border-strong)}.shell .plan-mod.is-on{border-color:#bfd0fb;background:var(--ecf-accent-soft);color:var(--ecf-accent-strong);font-weight:600}.shell .plan-mod input{flex:none}.shell .plan-form-actions{justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--ecf-border)}.shell .portal-page--email-logs .email-logs-filters-card{overflow:visible}.shell .portal-page--email-logs .email-logs-filters-card .ui-toolbar{border-bottom:0}.shell .portal-page--email-logs .email-logs-building-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,560px),1fr));gap:1.25rem}.shell .portal-page--email-logs .email-logs-building-card-header{align-items:center}.shell .portal-page--email-logs .email-logs-building-name{font-size:1rem;padding-right:0}.shell .portal-page--email-logs .email-logs-building-card-body{padding-top:1.1rem}.shell .portal-page--email-logs .email-logs-metrics{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.6rem}.shell .portal-page--email-logs .email-logs-metric{padding:.65rem .75rem;background:var(--ecf-subtle);border:1px solid var(--ecf-border);border-radius:var(--ecf-radius-sm)}.shell .portal-page--email-logs .email-logs-metric-label{font-size:.68rem;letter-spacing:.04em}.shell .portal-page--email-logs .email-logs-metric-value{font-size:1.2rem;letter-spacing:-.01em}.shell .portal-page--email-logs .email-logs-quota{--quota-accent: var(--ecf-accent);border-top-color:var(--ecf-border)}.shell .portal-page--email-logs .email-logs-quota--warn{--quota-accent: #d97706}.shell .portal-page--email-logs .email-logs-quota--full{--quota-accent: var(--ecf-danger)}.shell .portal-page--email-logs .email-logs-quota-meter{height:8px;background:var(--ecf-canvas-soft)}.shell .portal-page--email-logs .email-logs-empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:3rem 1.5rem;text-align:center;color:var(--ecf-faint)}.shell .portal-page--email-logs .email-logs-empty strong{margin-top:.3rem;font-size:.95rem;color:var(--ecf-ink)}.shell .portal-page--email-logs .email-logs-empty span{font-size:.875rem;color:var(--ecf-muted)}.shell .portal-page--facturacion .fact-tabs{margin-bottom:1.25rem;overflow:hidden}.shell .portal-page--facturacion .fact-tabs .tabs-list{border-bottom:0}.shell .portal-page--facturacion .fact-kpis{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.shell .portal-page--facturacion .fact-kpi--total{background:linear-gradient(135deg,#1d4ed8,#2563eb 60%,#3b82f6);border-color:#1d4ed8;box-shadow:0 6px 18px #2563eb38}.shell .portal-page--facturacion .fact-kpi--total :is(.ui-kpi-label,.ui-kpi-hint){color:#ffffffc7}.shell .portal-page--facturacion .fact-kpi--total .ui-kpi-value{color:#fff}.shell .portal-page--facturacion .fact-kpi-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0;font-size:.8rem}.shell .portal-page--facturacion .fact-chips-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem 1.35rem;border-bottom:1px solid var(--ecf-border);background:var(--ecf-subtle)}.shell .portal-page--facturacion .fact-chips-label{font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted)}.shell .portal-page--facturacion .fact-chips{display:flex;flex-wrap:wrap;gap:.4rem}.shell .portal-page--facturacion .fact-chip{--chip: #64748b;display:inline-flex;align-items:center;gap:.4rem;height:30px;padding:0 .4rem 0 .7rem;border:1px solid var(--ecf-border-strong);border-radius:999px;background:#fff;color:var(--ecf-ink-soft);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.shell .portal-page--facturacion .fact-chip:hover{border-color:var(--chip);color:var(--ecf-ink)}.shell .portal-page--facturacion .fact-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--chip)}.shell .portal-page--facturacion .fact-chip-count{min-width:20px;height:20px;padding:0 .35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:650;background:var(--ecf-canvas-soft);color:var(--ecf-muted)}.shell .portal-page--facturacion .fact-chip.is-on{border-color:var(--chip);background:color-mix(in srgb,var(--chip) 10%,#fff);color:color-mix(in srgb,var(--chip) 75%,#0f172a);font-weight:600;box-shadow:0 0 0 1px var(--chip)}.shell .portal-page--facturacion .fact-chip.is-on .fact-chip-count{background:var(--chip);color:#fff}.shell .portal-page--facturacion :is(.fact-chip--gratis,.fact-estado--gratis){--chip: #0891b2}.shell .portal-page--facturacion :is(.fact-chip--combo,.fact-estado--combo){--chip: #7c3aed}.shell .portal-page--facturacion :is(.fact-chip--paga_admin,.fact-estado--paga_admin){--chip: #059669}.shell .portal-page--facturacion :is(.fact-chip--pago_propio,.fact-estado--pago_propio){--chip: #2563eb}.shell .portal-page--facturacion :is(.fact-chip--pendiente_borrado,.fact-estado--pendiente_borrado){--chip: #dc2626}.shell .portal-page--facturacion :is(.fact-chip--pendiente_definicion,.fact-estado--pendiente_definicion){--chip: #d97706}.shell .portal-page--facturacion .fact-clear{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;height:30px;padding:0 .6rem;border:0;border-radius:7px;background:transparent;color:var(--ecf-muted);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer}.shell .portal-page--facturacion .fact-clear:hover{background:var(--ecf-canvas-soft);color:var(--ecf-ink)}.shell .portal-page--facturacion .fact-error-wrap{padding:.85rem 1.35rem 0}.shell .portal-page--facturacion .fact-table :is(th,td){padding:.55rem .6rem}.shell .portal-page--facturacion .fact-table :is(th,td):first-child{padding-left:1.35rem}.shell .portal-page--facturacion .fact-table :is(th,td):last-child{padding-right:1.35rem}.shell .portal-page--facturacion .fact-col-name{min-width:170px}.shell .layout-main .portal-page--facturacion .fact-input{min-height:32px;height:32px;padding-top:0;padding-bottom:0;font-size:.82rem;border-color:var(--ecf-border);background-color:#fff}.shell .layout-main .portal-page--facturacion select.fact-input{min-width:130px;max-width:170px;width:100%}.shell .portal-page--facturacion .fact-estado-select{position:relative;display:block}.shell .portal-page--facturacion .fact-estado-select:before{content:"";position:absolute;left:.65rem;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--chip);pointer-events:none;z-index:1}.shell .layout-main .portal-page--facturacion .fact-estado-select select.fact-input{padding-left:1.5rem;min-width:160px}.shell .portal-page--facturacion .fact-money{position:relative;display:inline-block;width:124px}.shell .portal-page--facturacion .fact-money-prefix{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);font-size:.72rem;font-weight:600;color:var(--ecf-faint);pointer-events:none}.shell .layout-main .portal-page--facturacion .fact-input--money{width:100%;padding-left:2.2rem;text-align:right;font-variant-numeric:tabular-nums}.shell .portal-page--facturacion .fact-switch{position:relative;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.shell .portal-page--facturacion .fact-switch input{position:absolute;opacity:0;width:1px;height:1px}.shell .portal-page--facturacion .fact-switch-track{position:relative;width:34px;height:20px;border-radius:999px;background:var(--ecf-border-strong);transition:background .15s}.shell .portal-page--facturacion .fact-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a40;transition:transform .15s}.shell .portal-page--facturacion .fact-switch input:checked+.fact-switch-track{background:var(--ecf-success)}.shell .portal-page--facturacion .fact-switch input:checked+.fact-switch-track:after{transform:translate(14px)}.shell .portal-page--facturacion .fact-switch input:focus-visible+.fact-switch-track{outline:2px solid var(--ecf-accent);outline-offset:2px}.shell .portal-page--facturacion .fact-switch input:disabled+.fact-switch-track{opacity:.55}.shell .portal-page--facturacion .fact-switch-text{font-size:.8rem;color:var(--ecf-muted);min-width:1.4rem}.shell .portal-page--facturacion .fact-col-comment{min-width:150px;max-width:280px}.shell .portal-page--facturacion .fact-comment{display:inline-flex;align-items:flex-start;gap:.4rem;width:100%;padding:.35rem .55rem;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ecf-ink-soft);font-family:inherit;font-size:.8rem;line-height:1.4;text-align:left;cursor:pointer;transition:background .12s,border-color .12s}.shell .portal-page--facturacion .fact-comment svg{flex:none;margin-top:.15rem;color:var(--ecf-faint)}.shell .portal-page--facturacion .fact-comment span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shell .portal-page--facturacion .fact-comment:hover{background:var(--ecf-subtle);border-color:var(--ecf-border)}.shell .portal-page--facturacion .fact-comment.is-empty{color:var(--ecf-faint);border-style:dashed;border-color:var(--ecf-border)}.shell .portal-page--facturacion .fact-comment.is-empty:hover{color:var(--ecf-accent);border-color:var(--ecf-accent)}.shell .portal-page--facturacion .fact-row-error{display:block;margin-top:.3rem;font-size:.75rem;color:var(--ecf-danger-strong);white-space:pre-wrap}.shell .portal-page--facturacion .fact-foot-total{margin-left:auto;font-size:.85rem;color:var(--ecf-muted)}.shell .portal-page--facturacion .fact-foot-total strong{margin-left:.35rem;color:var(--ecf-ink);font-variant-numeric:tabular-nums}.shell .modal-overlay .modal-card.fact-comment-modal{max-width:560px}.shell .modal-overlay .fact-comment-modal h3{margin-bottom:.2rem}.shell .fact-comment-modal .fact-modal-sub{margin:0 0 1rem;font-size:.85rem;color:var(--ecf-muted)}.shell .layout-main .fact-comment-modal .fact-modal-textarea{width:100%;min-height:160px}.shell .fact-comment-modal .fact-modal-error{margin-top:.75rem;margin-bottom:0}.shell .portal-page--facturacion .fact-inline-form{background:var(--ecf-subtle)}.shell .portal-page--facturacion .fact-form-label{font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted);white-space:nowrap}.shell .layout-main .portal-page--facturacion .fact-form-name{flex:0 1 260px;min-width:180px}.shell .layout-main .portal-page--facturacion .fact-form-grow{flex:1 1 260px;min-width:180px;max-width:520px}.shell .portal-page--facturacion .fact-col-contacts{color:var(--ecf-muted);white-space:pre-wrap}.shell .portal-page--facturacion tr.fact-row-editing td{background:var(--ecf-accent-soft)}.shell .portal-page--facturacion .fact-spin{animation:ui-spin .8s linear infinite}@media(max-width:720px){.shell .portal-page--facturacion .fact-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.shell .portal-page--facturacion .fact-kpi--total{grid-column:1 / -1}.shell .portal-page--facturacion .ui-toolbar-end>select{flex:1 1 100%}.shell .portal-page--facturacion .fact-kpis .ui-kpi-value{font-size:1.2rem}.shell .portal-page--facturacion .fact-chips-bar,.shell .portal-page--facturacion .fact-error-wrap{padding-left:1rem;padding-right:1rem}.shell .portal-page--facturacion .fact-clear{margin-left:0}.shell .portal-page--facturacion .fact-form-label{flex-basis:100%}.shell .layout-main .portal-page--facturacion :is(.fact-form-name,.fact-form-grow){flex-basis:100%;max-width:none}}.shell .portal-page--bugs .portal-page-inner{max-width:none}.bugs-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:start}@media(max-width:1180px){.bugs-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.bugs-board{grid-template-columns:1fr}}.bugs-column{--col: #64748b;display:flex;flex-direction:column;min-width:0;background:var(--ecf-canvas-soft);border:1px solid var(--ecf-border);border-radius:var(--ecf-radius-lg);transition:border-color .15s,box-shadow .15s,background .15s}.bugs-column--generado{--col: #64748b}.bugs-column--visto{--col: #d97706}.bugs-column--proceso{--col: #2563eb}.bugs-column--completado{--col: #059669}.bugs-column--drag-over{border-color:var(--col);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--col) 18%,transparent)}.bugs-column-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem .95rem}.bugs-column-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:650;color:var(--ecf-ink)}.bugs-column-dot{width:8px;height:8px;border-radius:50%;background:var(--col);box-shadow:0 0 0 3px color-mix(in srgb,var(--col) 18%,transparent)}.bugs-column-count{min-width:22px;height:22px;padding:0 .45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.72rem;font-weight:650;color:var(--ecf-muted);background:#fff;border:1px solid var(--ecf-border)}.bugs-column-body{display:flex;flex-direction:column;gap:.6rem;min-height:180px;max-height:calc(100dvh - 260px);padding:0 .6rem .6rem;overflow-y:auto;scrollbar-width:thin}.bugs-column-empty{flex:1;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border:1.5px dashed var(--ecf-border-strong);border-radius:var(--ecf-radius);color:var(--ecf-faint);text-align:center}.bugs-column-empty span{margin-top:.3rem;font-size:.85rem;font-weight:600;color:var(--ecf-muted)}.bugs-column-empty small{font-size:.75rem}.bugs-card{position:relative;padding:.8rem .85rem;background:#fff;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);box-shadow:var(--ecf-shadow);cursor:grab;transition:box-shadow .15s,border-color .15s,opacity .15s}.bugs-card:hover{border-color:var(--ecf-border-strong);box-shadow:var(--ecf-shadow-md)}.bugs-card--dragging{opacity:.45;cursor:grabbing}.bugs-card--deleting{opacity:.5;pointer-events:none}.bugs-card--validado{border-color:var(--ecf-success-border)}.bugs-card-top{display:flex;align-items:flex-start;gap:.5rem}.bugs-card-content{flex:1;min-width:0;margin:0;font-size:.875rem;line-height:1.45;color:var(--ecf-ink);white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.bugs-card-actions{position:absolute;top:.45rem;right:.45rem;display:flex;gap:.15rem;padding:.15rem;border-radius:8px;background:#fff;box-shadow:var(--ecf-shadow-md);opacity:0;transition:opacity .12s}.bugs-card:hover .bugs-card-actions,.bugs-card-actions:focus-within{opacity:1}@media(hover:none){.bugs-card-actions{opacity:1}}.bugs-card-action{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ecf-muted);cursor:pointer}.bugs-card-action--edit:hover:not(:disabled){background:var(--ecf-accent-soft);color:var(--ecf-accent)}.bugs-card-action--delete:hover:not(:disabled){background:var(--ecf-danger-soft);color:var(--ecf-danger)}.bugs-card-action:disabled{opacity:.5;cursor:not-allowed}.bugs-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.75rem;color:var(--ecf-muted)}.bugs-card-sep{color:var(--ecf-faint)}.bugs-card-badge{display:inline-flex;align-items:center;height:20px;padding:0 .5rem;border-radius:999px;font-size:.7rem;font-weight:650;border:1px solid transparent}.bugs-card-badge--bug{background:var(--ecf-danger-soft);border-color:var(--ecf-danger-border);color:var(--ecf-danger-strong)}.bugs-card-badge--mejora{background:var(--ecf-accent-soft);border-color:#c7d7fe;color:var(--ecf-accent-strong)}.bugs-card-creator{min-width:0;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bugs-card-validado{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;padding-top:.55rem;width:100%;border-top:1px solid var(--ecf-border);font-size:.78rem;font-weight:600;color:var(--ecf-ink-soft);cursor:pointer}.modal-overlay .modal-card.bugs-modal{max-width:560px}.bugs-modal-form{display:flex;flex-direction:column;gap:.4rem}.bugs-modal-label{display:block;margin-top:.5rem;font-size:.82rem;font-weight:600;color:var(--ecf-ink-soft)}.bugs-modal-textarea,.bugs-modal-input{width:100%}.bugs-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.bugs-modal-validado{display:inline-flex;align-items:center;gap:.45rem;margin-top:.6rem;font-size:.875rem;font-weight:500;color:var(--ecf-ink-soft)}@media(max-width:640px){.bugs-column-body{min-height:0;max-height:none}.bugs-column-empty{min-height:96px}}@media(max-width:520px){.bugs-modal-row{grid-template-columns:1fr}}.shell .portal-page--integ .integ-card-head{min-width:0}.shell .portal-page--integ .integ-card-head .portal-card-meta{display:block;margin-top:.15rem;font-weight:400;line-height:1.45}.shell .portal-page--integ .integ-card-head .portal-card-title{display:flex;align-items:center;gap:.5rem}.shell .portal-page--integ .integ-card-icon{flex:none;width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-accent);background:var(--ecf-accent-soft)}.shell .portal-page--integ .integ-status{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.shell .portal-page--integ .integ-status-icon{flex:none;width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-muted);background:var(--ecf-canvas-soft)}.shell .portal-page--integ .integ-status-icon.is-on{color:var(--ecf-success);background:var(--ecf-success-soft)}.shell .portal-page--integ .integ-status-text{flex:1;min-width:220px}.shell .portal-page--integ .integ-status-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.95rem;font-weight:650;color:var(--ecf-ink)}.shell .portal-page--integ .integ-status-desc{margin:.15rem 0 0;font-size:.85rem;color:var(--ecf-muted)}.shell .portal-page--integ .integ-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.shell .portal-page--integ .integ-hint{display:flex;align-items:flex-start;gap:.45rem;margin:1rem 0 0;font-size:.8rem;line-height:1.5;color:var(--ecf-muted)}.shell .portal-page--integ .integ-hint svg{flex:none;margin-top:2px}.shell .portal-page--integ .integ-p{margin:0 0 1rem;font-size:.875rem;line-height:1.55;color:var(--ecf-ink-soft)}.shell .portal-page--integ .integ-list{list-style:none;margin:0;padding:0;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);overflow:hidden}.shell .portal-page--integ .integ-list>li{display:flex;align-items:center;gap:.85rem;padding:.7rem .9rem;border-bottom:1px solid var(--ecf-border);background:#fff}.shell .portal-page--integ .integ-list>li:last-child{border-bottom:0}.shell .portal-page--integ .integ-list-avatar{flex:none;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--ecf-muted);background:var(--ecf-canvas-soft)}.shell .portal-page--integ .integ-list-main{flex:1;min-width:0}.shell .portal-page--integ .integ-list-title{display:block;font-size:.9rem;font-weight:600;color:var(--ecf-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .portal-page--integ .integ-list-sub{display:block;margin-top:.1rem;font-size:.78rem;color:var(--ecf-muted)}.shell .portal-page--integ .integ-list+.integ-subhead,.shell .portal-page--integ .integ-empty+.integ-subhead{margin-top:1.5rem}.shell .portal-page--integ .integ-subhead{margin:0 0 .5rem;font-size:.78rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted)}.shell .portal-page--integ .integ-empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.75rem 1rem;border:1px dashed var(--ecf-border-strong);border-radius:var(--ecf-radius);background:var(--ecf-subtle);text-align:center;font-size:.875rem;color:var(--ecf-muted)}.shell .portal-page--integ .integ-empty svg{color:var(--ecf-faint)}.shell .portal-page--integ .integ-empty strong{color:var(--ecf-ink-soft);font-weight:600}.shell .portal-page--integ .integ-search{display:flex;gap:.6rem;align-items:center}.shell .portal-page--integ .integ-search .ui-search{flex:1;max-width:none}.shell .portal-page--integ .integ-results{margin-top:.75rem}.shell .portal-page--integ .integ-secret{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--ecf-success-border);border-radius:var(--ecf-radius);background:var(--ecf-success-soft)}.shell .portal-page--integ .integ-secret-label{flex-basis:100%;margin:0;font-size:.78rem;font-weight:650;color:#047857}.shell .portal-page--integ .integ-secret code{flex:1;min-width:0;padding:.5rem .7rem;border-radius:8px;background:#fff;border:1px solid var(--ecf-success-border);font-size:.85rem;word-break:break-all;color:var(--ecf-ink)}.shell .portal-page--integ .integ-confirm{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:var(--ecf-radius);border:1px solid var(--ecf-warning-border);background:var(--ecf-warning-soft);font-size:.85rem;color:#78350f}.shell .portal-page--integ .integ-confirm span{flex:1;min-width:200px}@media(max-width:720px){.shell .portal-page--integ .integ-search{flex-direction:column;align-items:stretch}}.shell .portal-page--socios .socios-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1.25rem;align-items:start}.shell .portal-page--socios .socios-detail{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.shell .portal-page--socios .socios-detail .portal-card,.shell .portal-page--socios .socios-detail .integ-secret{margin:0}.shell .portal-page--socios .socios-list .portal-card-body{padding:.6rem}.shell .portal-page--socios .socios-list .integ-empty{margin:.6rem}.shell .portal-page--socios .socios-picker{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.shell .portal-page--socios .socios-pick{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .65rem;border:1px solid transparent;border-radius:10px;background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background .12s,border-color .12s}.shell .portal-page--socios .socios-pick:hover{background:var(--ecf-subtle)}.shell .portal-page--socios .socios-pick.is-selected{background:var(--ecf-accent-soft);border-color:#c7d7fe}.shell .portal-page--socios .socios-pick.is-selected .integ-list-avatar{color:var(--ecf-accent);background:#fff}.shell .portal-page--socios .socios-placeholder{min-height:220px;justify-content:center;background:#fff}.shell .portal-page--socios .socios-creds{display:flex;flex-direction:column;padding:0}.shell .portal-page--socios .socios-cred{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:1rem 1.35rem;border-bottom:1px solid var(--ecf-border)}.shell .portal-page--socios .socios-cred:last-child{border-bottom:0}.shell .portal-page--socios .socios-cred .integ-status-icon{width:38px;height:38px;border-radius:10px}.shell .portal-page--socios .socios-cred-text{flex:1;min-width:200px}.shell .portal-page--socios .socios-cred-text strong{display:block;font-size:.9rem;color:var(--ecf-ink)}.shell .portal-page--socios .socios-error{max-width:280px;white-space:normal;word-break:break-word}@media(max-width:960px){.shell .portal-page--socios .socios-layout{grid-template-columns:1fr}}.ttpe-msg{margin-bottom:1rem}.ttpe-aviso{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:1.25rem;padding:.85rem 1rem;border:1px solid var(--ecf-warning-border, #fde68a);border-radius:var(--ecf-radius, 10px);background:var(--ecf-warning-soft, #fffbeb);color:#78350f;font-size:.875rem;line-height:1.5}.ttpe-aviso svg{flex:none;margin-top:1px;color:#d97706}.ttpe-aviso--ok{border-color:var(--ecf-success-border, #a7f3d0);background:var(--ecf-success-soft, #ecfdf5);color:#065f46}.ttpe-aviso--ok svg{color:var(--ecf-success, #059669)}.ttpe-falta{margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;background:var(--ecf-warning-soft, #fffbeb);color:#b45309;font-size:.7rem;font-weight:650}.ttpe-ancho{grid-column:1 / -1}.ttpe-paginas{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.ttpe-paginas li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:1rem;padding:.85rem 1.35rem;border-bottom:1px solid var(--ecf-border, #e4e8ee)}.ttpe-paginas li:last-child{border-bottom:0}.ttpe-paginas li>div{display:flex;flex-direction:column;min-width:0}.ttpe-paginas strong{font-size:.9rem;font-weight:600;color:var(--ecf-ink, #0f172a)}.ttpe-paginas li span{font-size:.78rem;color:var(--ecf-muted, #64748b)}.ttpe-paginas a{display:inline-flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ecf-mono, ui-monospace, monospace);font-size:.8rem;color:var(--ecf-accent, #2563eb);text-decoration:none}.ttpe-paginas a:hover{text-decoration:underline}.ttpe-paginas a svg{flex:none;opacity:.6}.ttpe-savebar{position:sticky;bottom:1rem;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem .85rem .75rem 1.25rem;border:1px solid var(--ecf-border, #e4e8ee);border-radius:var(--ecf-radius-lg, 14px);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--ecf-shadow-md);font-size:.85rem;color:var(--ecf-muted, #64748b)}@media(max-width:720px){.ttpe-savebar{padding:.6rem}.ttpe-savebar>span{display:none}.ttpe-savebar .btn-primary{width:100%}.ttpe-paginas li{grid-template-columns:1fr;gap:.4rem;padding:.85rem 1rem}}.ttpa-activo{display:inline-flex;align-items:center;gap:.55rem;font-size:.85rem;font-weight:600;color:var(--ecf-muted, #64748b);white-space:nowrap;cursor:pointer}.ttpa-activo.is-on{color:var(--ecf-success, #059669)}.shell .ttpa-activo input.ttpa-switch{appearance:none;-webkit-appearance:none;position:relative;width:36px;height:20px;margin:0;border-radius:999px;background:var(--ecf-border-strong, #cfd6e0);cursor:pointer;transition:background .15s}.shell .ttpa-activo input.ttpa-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a40;transition:transform .15s}.shell .ttpa-activo input.ttpa-switch:checked{background:var(--ecf-success, #059669)}.shell .ttpa-activo input.ttpa-switch:checked:after{transform:translate(16px)}.ttpa-encabezado{margin:.75rem 0 .25rem;font-weight:700}.ttpa-cuerpo{position:relative;max-width:560px;margin:.5rem 0 .75rem;padding:.75rem 1rem;border-radius:4px 12px 12px;background:#dcf8c6;box-shadow:0 1px 1px #0f172a14;font-size:.875rem;color:#111b21;white-space:pre-wrap;line-height:1.5}.ttpa-cuerpo mark{padding:0 .15rem;border-radius:4px;background:#fde68a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.ttpa-botones{margin:0 0 .75rem;font-size:.85rem;color:#4b5563}.ttpa-vars{display:grid;gap:.5rem;margin:.5rem 0 .75rem}.ttpa-var{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1fr);align-items:center;gap:.75rem}.ttpa-varNombre{display:flex;flex-direction:column;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;font-weight:600}.ttpa-varNombre small{overflow:hidden;font-family:inherit;font-weight:400;color:#6b7280;text-overflow:ellipsis;white-space:nowrap}.ttpa-prueba{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ecf-border, #e4e8ee)}.ttpa-prueba input{width:180px}@media(max-width:640px){.ttpa-var{grid-template-columns:1fr}}.ttpa-select{width:100%}.ttpa-conectado{align-items:center;flex-wrap:wrap}.ttpa-conectado-text{flex:1;min-width:200px}.ttpa-sug{margin-bottom:1.25rem;padding:1rem 1.1rem;border:1px dashed var(--ecf-border-strong, #cfd6e0);border-radius:var(--ecf-radius, 10px);background:var(--ecf-subtle, #f8fafc)}.ttpa-sug--ok{border-style:solid;border-color:#bbf7d0;background:#f0fdf4}.ttpa-sugCabeza{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;color:#334155}.ttpa-sugCabeza code{font-size:12.5px}.ttpa-estado{display:inline-flex;align-items:center;height:22px;padding:0 .6rem;border-radius:999px;font-size:.72rem;font-weight:650;background:#e2e8f0;color:#334155}.ttpa-estado--pending,.ttpa-estado--in_appeal,.ttpa-estado--local{background:#fef3c7;color:#92400e}.ttpa-estado--approved{background:#dcfce7;color:#166534}.ttpa-estado--rejected,.ttpa-estado--paused,.ttpa-estado--disabled{background:#fee2e2;color:#991b1b}.ttpa-sugVars{margin:6px 0 10px;font-size:12.5px;color:#64748b}.ttpa-sugMotivo{margin:0 0 10px;font-size:13px;color:#991b1b}.ttps-checks{margin:0 0 1rem;padding:0;list-style:none;display:flex;flex-direction:column;border:1px solid var(--ecf-border, #e4e8ee);border-radius:var(--ecf-radius, 10px);overflow:hidden;font-size:.85rem;color:var(--ecf-ink-soft, #334155)}.ttps-check{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .85rem;border-bottom:1px solid var(--ecf-border, #e4e8ee)}.ttps-check:last-child{border-bottom:0}.ttps-check-icon{flex:none;margin-top:1px;color:var(--ecf-faint, #94a3b8)}.ttps-check--ok .ttps-check-icon{color:var(--ecf-success, #059669)}.ttps-sub{margin:1.75rem 0 .25rem;padding-top:1.25rem;border-top:1px solid var(--ecf-border, #e4e8ee);font-size:.95rem;font-weight:650;color:var(--ecf-ink, #0f172a)}.ttps-charla{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px;max-height:420px;overflow-y:auto;border-radius:10px;background:#efeae2}.ttps-msg{max-width:85%;padding:8px 11px;border-radius:9px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.ttps-msg--yo{align-self:flex-end;background:#d9fdd3}.ttps-msg--bot{align-self:flex-start;background:#fff}.ttps-enlace{display:block;margin-top:6px;font-size:12px;color:#2563eb}.ttps-nota{margin:8px 0 0;font-size:13px;color:#64748b;line-height:1.5}.ttps-input{width:200px}.ttps-input--ancho{flex:1;min-width:200px}.ttps-diag{margin:12px 0;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:13px}.ttps-diagCabeza{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.ttps-diagCampos{font-family:ui-monospace,monospace;font-size:12px;color:#475569;overflow-wrap:anywhere}.ttps-diagLinea{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px;max-height:420px;overflow-y:auto}.ttps-diagLinea li{display:grid;grid-template-columns:150px 52px 1fr;gap:8px;align-items:start}.ttps-diagHora{color:#94a3b8;font-size:12px}.ttps-diagTipo{font-size:11.5px;font-weight:700;color:#64748b;text-transform:uppercase}.ttps-diag--warn .ttps-diagTipo{color:#b45309}.ttps-diag--error .ttps-diagTipo{color:#b91c1c}.ttps-diag--entra .ttps-diagTipo{color:#15803d}.ttps-diagExtra{display:block;margin-top:2px;font-size:11.5px;color:#64748b;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:640px){.ttps-diagLinea li{grid-template-columns:1fr;gap:2px}}.ttps-sticker{display:block;width:110px;height:110px;margin-bottom:6px;object-fit:contain}.videos-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:space-between}.videos-toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.videos-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.videos-filter-label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.videos-chip{border:1px solid #d7dee8;background:#fff;color:#334155;border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.videos-chip:hover{border-color:#94a3b8}.videos-chip.is-active{background:#0f172a;border-color:#0f172a;color:#fff}.videos-category-card+.videos-category-card{margin-top:1rem}.videos-category-card.is-inactive{opacity:.7}.videos-category-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.videos-icon-btn{border:1px solid #d7dee8;background:#fff;color:#475569;border-radius:8px;width:30px;height:30px;line-height:1;font-size:.9rem;cursor:pointer}.videos-icon-btn:hover:not(:disabled){border-color:#94a3b8;color:#0f172a}.videos-icon-btn:disabled{opacity:.35;cursor:not-allowed}.videos-link-btn{border:none;background:none;color:#2563eb;font-size:.85rem;font-weight:600;cursor:pointer;padding:0}.videos-link-btn:hover{text-decoration:underline}.videos-link-btn--danger{color:#dc2626}.videos-row-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.videos-badge{display:inline-block;border-radius:999px;padding:.15rem .6rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.videos-badge--houseapp{background:#e0f2fe;color:#0369a1}.videos-badge--vera{background:#ede9fe;color:#6d28d9}.videos-badge--ambas{background:#dcfce7;color:#15803d}.videos-badge--off{background:#f1f5f9;color:#64748b}.videos-url-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.videos-url-cell a{color:#2563eb;font-size:.85rem}.videos-empty{padding:1.25rem;color:#64748b;font-size:.9rem;text-align:center}.videos-modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;overflow-y:auto;z-index:1200}.videos-modal{background:#fff;border-radius:14px;width:min(560px,100%);box-shadow:0 24px 60px #0f172a40}.videos-modal-header{padding:1.1rem 1.35rem;border-bottom:1px solid #e6ebf2;display:flex;align-items:center;justify-content:space-between;gap:1rem}.videos-modal-title{margin:0;font-size:1.05rem;color:#0f172a}.videos-modal-close{border:none;background:none;font-size:1.5rem;line-height:1;color:#94a3b8;cursor:pointer}.videos-modal-body{padding:1.35rem}.videos-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:0 1.35rem 1.35rem}.videos-field-hint{font-size:.78rem;color:#64748b;margin-top:.3rem}.videos-field-hint--ok{color:#15803d;font-weight:600}.videos-field-hint--warn{color:#b45309}.shell .portal-page--videos .videos-visibility-row{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.35rem}.shell .portal-page--videos .videos-visibility-icon{flex:none;width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--ecf-canvas-soft);color:var(--ecf-muted)}.shell .portal-page--videos .videos-visibility-icon.is-on{background:var(--ecf-success-soft);color:var(--ecf-success)}.shell .portal-page--videos .videos-visibility-text{flex:1;min-width:0}.shell .portal-page--videos .videos-visibility-title{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-weight:650;color:var(--ecf-ink)}.shell .portal-page--videos .videos-visibility-text p{margin:.2rem 0 0;font-size:.84rem;line-height:1.5;color:var(--ecf-muted)}.shell .portal-page--videos .portal-card--toolbar .portal-card-body{padding:.85rem 1.35rem}.shell .portal-page--videos .videos-toolbar-filters{gap:.75rem}.shell .portal-page--videos .videos-filter-label{font-size:.72rem;font-weight:650;color:var(--ecf-muted)}.shell .portal-page--videos .videos-toolbar-filters{flex-wrap:wrap}.shell .portal-page--videos .videos-chip{height:32px;padding:0 .85rem;border:1px solid var(--ecf-border);border-radius:8px;background:#fff;color:var(--ecf-ink-soft);font-family:inherit;font-size:.82rem;font-weight:600}.shell .portal-page--videos .videos-chip:hover{border-color:var(--ecf-border-strong);background:var(--ecf-subtle)}.shell .portal-page--videos .videos-chip.is-active{background:var(--ecf-accent-soft);border-color:#c7d7fe;color:var(--ecf-accent-strong)}.shell .portal-page--videos .videos-icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--ecf-border);border-radius:7px;background:#fff;color:var(--ecf-muted)}.shell .portal-page--videos .videos-icon-btn:hover:not(:disabled){border-color:var(--ecf-border-strong);color:var(--ecf-ink);background:var(--ecf-subtle)}.shell .portal-page--videos .videos-icon-btn:disabled{opacity:.35}.shell .portal-page--videos .videos-category-card.is-inactive{opacity:1}.shell .portal-page--videos .videos-category-card.is-inactive .portal-card-header{background:var(--ecf-subtle)}.shell .portal-page--videos .videos-category-card+.videos-category-card{margin-top:0}.shell .portal-page--videos .videos-url-cell{max-width:280px}.shell .portal-page--videos .videos-url-cell a{color:var(--ecf-accent);text-decoration:none}.shell .portal-page--videos .videos-url-cell a:hover{text-decoration:underline}.shell .portal-page--videos .videos-empty{margin:0;padding:2rem 1.35rem;color:var(--ecf-muted)}.shell .portal-page--videos .videos-empty-state{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:3rem 1.5rem;text-align:center;color:var(--ecf-faint)}.shell .portal-page--videos .videos-empty-state strong{margin-top:.3rem;font-size:1rem;color:var(--ecf-ink)}.shell .portal-page--videos .videos-empty-state span{max-width:30rem;font-size:.875rem;line-height:1.55;color:var(--ecf-muted)}.shell .portal-page--videos .videos-empty-state .btn-primary{margin-top:.75rem}.shell .videos-modal-backdrop{align-items:center;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.shell .videos-modal{border-radius:var(--ecf-radius-lg);box-shadow:var(--ecf-shadow-lg)}.shell .videos-modal-title{font-weight:700}.shell .videos-modal-close{width:32px;height:32px;border-radius:8px}.shell .videos-modal-close:hover{background:var(--ecf-canvas-soft);color:var(--ecf-ink)}.shell .videos-modal-actions{padding-top:1rem;border-top:1px solid var(--ecf-border)}@media(max-width:720px){.shell .portal-page--videos .videos-visibility-row{flex-wrap:wrap;padding:1rem}}.adj-filtros{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.adj-campo{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--ecf-ink-soft)}.adj-campo select,.adj-campo input[type=date]{min-width:170px;font-weight:400}.adj-estados{flex-basis:100%}.adj-chips{display:flex;flex-wrap:wrap;gap:.4rem}.adj-chip{display:inline-flex;align-items:center;height:30px;padding:0 .8rem;border-radius:999px;border:1px solid var(--ecf-border-strong);background:#fff;font-family:inherit;font-size:.8rem;font-weight:500;color:var(--ecf-ink-soft);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.adj-chip:hover{border-color:#b9c3d0;background:var(--ecf-subtle)}.adj-chip.is-active{background:var(--ecf-accent-soft);border-color:#bfd0fb;color:var(--ecf-accent-strong);font-weight:600}.adj-barra{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.adj-acciones{display:flex;flex-wrap:wrap;gap:.5rem}.adj-tabla td{vertical-align:top}.shell .adj-fila--marcada td{background:var(--ecf-danger-soft)}.adj-preview{display:inline-flex;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--ecf-border);background:var(--ecf-canvas-soft);align-items:center;justify-content:center}.adj-preview img{width:100%;height:100%;object-fit:cover}.adj-icono{font-size:.75rem;font-weight:700;color:#64748b}.adj-nombre{max-width:180px;font-size:.75rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem}.adj-sub{font-size:.75rem;color:#64748b;margin-top:.15rem}.adj-aviso{display:inline-block;margin-top:.3rem;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--ecf-warning-border);background:var(--ecf-warning-soft);color:var(--ecf-warning);font-size:.7rem;font-weight:650}.adj-vacio{text-align:center;color:var(--ecf-muted);padding:2.5rem 0}.adj-progreso{padding:.85rem 1.35rem;font-size:.875rem;color:var(--ecf-ink-soft);border-bottom:1px solid var(--ecf-border)}.adj-progreso-barra{height:6px;border-radius:999px;background:var(--ecf-border);margin-top:.4rem;overflow:hidden}.adj-progreso-barra>div{height:100%;background:#dc2626;transition:width .3s ease}.adj-modal-fondo{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.adj-modal{background:#fff;border-radius:var(--ecf-radius-lg);max-width:480px;width:100%;padding:1.5rem;box-shadow:var(--ecf-shadow-lg);font-size:.9rem;line-height:1.55;color:var(--ecf-ink-soft)}.adj-modal h3{margin:0 0 .75rem;font-size:1.1rem;font-weight:700;color:var(--ecf-ink)}.adj-modal-nota{font-size:.82rem;color:var(--ecf-muted)}.adj-modal-botones{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}.adj-modal--ancho{max-width:min(1280px,96vw);max-height:90vh;display:flex;flex-direction:column;gap:1rem}.adj-reporte-wrap{overflow:auto;min-height:0}.adj-reporte th,.adj-reporte td{white-space:nowrap}.adj-reporte thead th{position:sticky;top:0;background:var(--ecf-subtle);z-index:1}.adj-reporte tfoot td{font-weight:700;border-top:2px solid var(--ecf-border);background:var(--ecf-subtle)}.adj-celda-mb{display:block}.adj-cero{color:var(--ecf-border-strong)}.adj-reporte .adj-fija{position:sticky;left:0;z-index:2;background:#fff;min-width:220px;max-width:280px;white-space:normal;box-shadow:1px 0 0 var(--ecf-border)}.adj-reporte thead .adj-fija{z-index:3;background:var(--ecf-subtle)}.adj-reporte tfoot .adj-fija,.adj-reporte .adj-total{background:var(--ecf-subtle)}.bp-send,.bp-log{display:flex;flex-direction:column;gap:1rem}.bp-num{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;margin-right:.4rem;border-radius:50%;background:var(--ecf-accent-soft);color:var(--ecf-accent);font-size:.8rem;font-weight:700;vertical-align:2px}.bp-muted{color:var(--ecf-muted);font-size:.8125rem}.bp-warn{color:#b45309;font-weight:600}.bp-nowrap{white-space:nowrap}.bp-search{display:flex;gap:.5rem;flex-wrap:wrap}.bp-search input{flex:1 1 240px}.bp-results{list-style:none;margin:.75rem 0 0;padding:0;border:1px solid var(--ecf-border);border-radius:10px;overflow:hidden}.bp-results li+li{border-top:1px solid var(--ecf-border)}.bp-results button{width:100%;display:flex;justify-content:space-between;gap:1rem;padding:.65rem .9rem;background:#fff;border:0;font:inherit;text-align:left;cursor:pointer}.bp-results button:hover{background:var(--ecf-canvas-soft)}.bp-picked{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:1.05rem}.bp-templates{display:grid;gap:.6rem}.bp-template{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--ecf-border);border-radius:10px;cursor:pointer;transition:border-color .15s,background-color .15s}.bp-template:hover:not(.is-disabled){border-color:var(--ecf-accent)}.bp-template.is-selected{border-color:var(--ecf-accent);background:var(--ecf-accent-soft)}.bp-template.is-disabled{cursor:not-allowed;opacity:.7}.bp-template input{margin-top:.25rem}.bp-template-main{min-width:0;display:grid;gap:.25rem}.bp-template-head{display:flex;gap:.5rem;align-items:baseline}.bp-template-head code,.bp-code{font-family:var(--ecf-mono);font-size:.85rem;font-weight:600}.bp-template-body{margin:0;white-space:pre-line;color:var(--ecf-ink);font-size:.9rem}.bp-template-link{margin:0;font-size:.8125rem;color:var(--ecf-muted);overflow-wrap:anywhere}.bp-template-problem{margin:0;font-size:.8125rem;color:#b91c1c}.bp-toolbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.bp-toolbar input[type=search]{flex:1 1 260px}.bp-check{display:inline-flex;gap:.4rem;align-items:center;font-size:.875rem;cursor:pointer}.bp-table td{vertical-align:top}.bp-table tbody tr{cursor:default}.bp-col-check{width:2.25rem}.bp-send .bp-table tbody tr:not(.inactive-row){cursor:pointer}.bp-owner{display:flex;flex-direction:column;gap:.1rem;min-width:0}.bp-blocked{color:#b91c1c;font-size:.78rem;font-weight:600}.bp-state{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.bp-error{margin-top:.3rem;max-width:28rem;font-size:.78rem;color:#b91c1c}.bp-badge{display:inline-flex;align-items:center;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.bp-badge--ok{background:#dcfce7;color:#15803d}.bp-badge--info{background:#dbeafe;color:#1d4ed8}.bp-badge--warn{background:#fef3c7;color:#92400e}.bp-badge--bad{background:#fee2e2;color:#b91c1c}.bp-badge--muted{background:#e2e8f0;color:#475569}.bp-sendbar{position:sticky;bottom:.75rem;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.85rem 1.1rem;border-radius:var(--ecf-radius);background:var(--ecf-sidebar);color:#e2e8f0;box-shadow:0 12px 30px #0f172a40}.bp-sendbar .bp-muted{color:#94a3b8}.bp-notice{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.bp-notice button{background:none;border:0;font-size:1.2rem;line-height:1;cursor:pointer;color:inherit}.bp-log-toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.bp-log-toolbar .btn-secondary{margin-left:auto}.bp-filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .4rem .3rem .8rem;border-radius:999px;background:var(--ecf-accent-soft);color:var(--ecf-accent);font-weight:600;font-size:.875rem}.bp-filter-chip button{width:1.4rem;height:1.4rem;border-radius:50%;border:0;background:transparent;color:inherit;font-size:1rem;cursor:pointer}.bp-filter-chip button:hover{background:#0d948833}.bp-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.bp-summary>div{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border-radius:12px;background:var(--ecf-card);border:1px solid var(--ecf-border)}.bp-summary span{font-size:.75rem;color:var(--ecf-muted)}.bp-summary strong{font-size:1.35rem;font-variant-numeric:tabular-nums;color:var(--ecf-ink)}.bp-summary>.is-live strong{color:#1d4ed8}.bp-summary>.is-bad strong{color:#b91c1c}.bp-pager{display:flex;justify-content:center;align-items:center;gap:1rem}.bp-select{font:inherit;font-size:.875rem;padding:.45rem 2rem .45rem .75rem;border:1px solid var(--ecf-border);border-radius:10px;background:#fff;color:var(--ecf-ink)}.bp-log .portal-table-wrap{overflow-x:auto}.bp-empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:3rem 1.5rem;text-align:center;color:var(--ecf-faint)}.bp-empty strong{margin-top:.4rem;font-size:.95rem;color:var(--ecf-ink)}.bp-empty span{max-width:34rem;font-size:.875rem;line-height:1.55;color:var(--ecf-muted)}.shell .bp-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.shell .bp-summary>div{padding:.85rem 1rem;border-radius:var(--ecf-radius-lg);box-shadow:var(--ecf-shadow)}.shell .bp-summary span{font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.shell .bp-summary strong{font-size:1.45rem;font-weight:700;letter-spacing:-.02em}.bh-stack{display:flex;flex-direction:column;gap:1rem}.bh-gap{margin:.75rem 0}.bh-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.bh-check{display:flex;gap:.75rem;align-items:flex-start}.bh-check-icon{flex:none;display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;font-size:.8rem;font-weight:700}.bh-check--ok .bh-check-icon{background:#dcfce7;color:#15803d}.bh-check--bad .bh-check-icon{background:#fee2e2;color:#b91c1c}.bh-check--unknown .bh-check-icon{background:var(--ecf-canvas-soft);color:var(--ecf-muted)}.bh-check-label{font-weight:600;color:var(--ecf-ink)}.bh-check-hint{margin-top:.2rem;color:var(--ecf-muted);font-size:.8125rem;line-height:1.5}.bh-inline-error{color:#b91c1c;font-weight:500}.bh-pre{margin:.4rem 0;padding:.6rem .75rem;background:var(--ecf-canvas-soft);border:1px solid var(--ecf-border);border-radius:8px;font-family:var(--ecf-mono);font-size:.78rem;color:var(--ecf-ink-soft);white-space:pre-wrap;word-break:break-all}.bh-options{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 1rem;font-size:.875rem;color:var(--ecf-ink-soft)}.bh-actions{display:flex;justify-content:flex-end}.bh-success{color:#15803d;font-size:.875rem;font-weight:500}.bh-steps{margin:0 0 .75rem;padding-left:1.2rem;color:var(--ecf-ink-soft);font-size:.875rem;line-height:1.6}.bh-modules{display:flex;flex-wrap:wrap;gap:.3rem}.bh-stack .portal-card-header>div:first-child{flex:1 1 320px;min-width:0}.bh-sim{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:1rem;align-items:start}@media(max-width:860px){.bh-sim{grid-template-columns:minmax(0,1fr)}}.portal-card.bh-chat-card{background:#efeae2}.bh-chat{display:flex;flex-direction:column;gap:.6rem;padding:1rem}.bh-bubble{max-width:92%;padding:.55rem .75rem;border-radius:10px;font-size:.875rem;box-shadow:0 1px 1px #0f172a14}.bh-bubble--bot{align-self:flex-start;background:#fff;border-top-left-radius:2px}.bh-bubble--user{align-self:flex-end;background:#d9fdd3;border-top-right-radius:2px}.bh-wa-text{margin:0;white-space:pre-wrap;color:var(--ecf-ink);line-height:1.45}.bh-list-btn{margin-top:.5rem;padding-top:.45rem;border-top:1px solid var(--ecf-border);text-align:center;color:#0b7a83;font-weight:600}.bh-list{list-style:none;margin:.4rem 0 0;padding:0;border:1px solid var(--ecf-border);border-radius:8px;overflow:hidden}.bh-list li+li{border-top:1px solid var(--ecf-border)}.bh-list button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.45rem .6rem;border:0;background:#fff;text-align:left;font:inherit;cursor:pointer}.bh-list button:hover{background:var(--ecf-accent-soft)}.bh-list button.is-picked{background:var(--ecf-accent-soft);box-shadow:inset 3px 0 0 var(--ecf-accent)}.bh-buttons{display:flex;flex-direction:column;margin-top:.5rem;border-top:1px solid var(--ecf-border)}.bh-buttons span{padding:.4rem 0;text-align:center;color:#0b7a83;font-weight:600}.bh-buttons span+span{border-top:1px solid var(--ecf-border)}.bh-owners{margin:0 0 .75rem;padding-left:1.1rem;font-size:.875rem}.shell .portal-page--bot .dashboard-tabs{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.shell .portal-page--bot .tabs-list{padding:0;background:transparent}.shell .portal-page--bot .tab-panels{padding:1.25rem 0 0}.shell .portal-page--bot .bh-stack{gap:1.25rem}.shell .portal-page--bot .bh-stack>.portal-card{margin-bottom:0}.shell .portal-page--bot .bh-check-icon{width:1.6rem;height:1.6rem}.shell .portal-page--bot .bp-notice button{margin-left:auto;border:0;background:transparent;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer}*{box-sizing:border-box}body{margin:0;min-height:100vh;height:100%;font-family:var(--ecf-font, "Outfit", system-ui, sans-serif);background:var(--ecf-canvas, #e8edf4);color:var(--ecf-ink, #0f172a)}#root{height:100%;min-height:100dvh}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#64748b}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.portal-page{min-height:100%;box-sizing:border-box}.portal-page-inner{max-width:var(--ecf-page-max);margin:0 auto;padding:1.75rem 1.5rem 3rem}@media(max-width:640px){.portal-page-inner{padding:1.15rem .9rem 2.25rem}}.portal-page--facturacion .portal-page-inner{max-width:none}.portal-page-inner--comfort,.portal-page-inner--narrow{max-width:var(--ecf-page-max)}.portal-page-hero{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem}.portal-page-hero-text{flex:1;min-width:200px}.portal-page-title{margin:0 0 .25rem;font-size:1.5rem;font-weight:650;letter-spacing:-.02em;line-height:1.25;color:var(--ecf-ink)}.portal-page-title--delete{font-size:1.5rem}.portal-page-subtitle{margin:0;font-size:.9375rem;color:#64748b;line-height:1.5;max-width:42rem}.portal-page-hero-cta{flex-shrink:0;align-self:center}.portal-card{background:var(--ecf-card, #fff);border-radius:var(--ecf-radius, 10px);border:1px solid var(--ecf-border);box-shadow:var(--ecf-shadow);margin-bottom:1.25rem;overflow:hidden}.portal-card--intro{border:1px solid var(--ecf-border);box-shadow:var(--ecf-shadow)}.portal-card--error{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff5f5)}.portal-card--toolbar .portal-card-header{padding-bottom:.65rem}.portal-card--data .portal-table-wrap{border:none;border-radius:0;box-shadow:none}.portal-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 1.25rem;border-bottom:1px solid var(--ecf-border);background:var(--ecf-card)}.portal-card-title{margin:0;font-size:.975rem;font-weight:600;color:var(--ecf-ink)}.portal-card-meta{font-size:.8125rem;color:#94a3b8;font-weight:500}.portal-card-body{padding:1.25rem 1.35rem}.portal-card-body--toolbar{padding-top:.75rem}.portal-card-body--loading{padding:2rem 1.35rem;text-align:center}.portal-card-body--flush{padding-left:0;padding-right:0;padding-bottom:1rem}.portal-card-body--intro{padding:1.35rem 1.5rem 1.5rem}.portal-card-error-text{margin:0;color:#b91c1c;font-size:.9375rem}.portal-search-input{width:100%;max-width:420px;min-width:0}.portal-input{display:block;width:100%;max-width:420px;margin-top:.4rem;padding:.6rem .85rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.portal-input:focus{outline:none;border-color:var(--ecf-accent);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.portal-pagination{padding:1rem 1.35rem 1.35rem;margin-top:0;border-top:1px solid #f1f5f9;background:#fafbfc}.portal-detail-actions{flex-shrink:0;align-self:flex-start}@media(min-width:768px){.portal-detail-actions{align-self:center}}.portal-card .building-condos-section{margin-top:0}.building-fact-form{display:flex;flex-direction:column;gap:1.15rem}.building-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.15rem}@media(max-width:720px){.building-fact-grid{grid-template-columns:1fr}}.building-fact-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.building-fact-field--full{width:100%}.building-fact-field label{font-size:.8125rem;font-weight:600;color:#475569}.building-fact-field select,.building-fact-field input,.building-fact-field textarea{width:100%;box-sizing:border-box;padding:.65rem .8rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.9375rem;font-family:inherit;color:#0f172a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.building-fact-field select:focus,.building-fact-field input:focus,.building-fact-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #14b8a626}.building-fact-field select:disabled,.building-fact-field input:disabled,.building-fact-field textarea:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.building-fact-field textarea{resize:vertical;min-height:5.5rem;line-height:1.45}.building-fact-monto{display:flex;align-items:stretch;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.building-fact-monto:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #14b8a626}.building-fact-monto-prefix{display:inline-flex;align-items:center;padding:0 .75rem;background:#f8fafc;border-right:1px solid #e2e8f0;font-size:.8125rem;font-weight:700;color:#64748b;letter-spacing:.02em}.building-fact-monto input{border:none!important;border-radius:0!important;box-shadow:none!important;padding-left:.75rem}.building-fact-toggle{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);cursor:pointer;-webkit-user-select:none;user-select:none}.building-fact-toggle input{position:absolute;opacity:0;pointer-events:none}.building-fact-toggle-ui{position:relative;width:2.5rem;height:1.4rem;flex-shrink:0;margin-top:.15rem;border-radius:999px;background:#cbd5e1;transition:background .15s ease}.building-fact-toggle-ui:after{content:"";position:absolute;top:.15rem;left:.15rem;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a33;transition:transform .15s ease}.building-fact-toggle input:checked+.building-fact-toggle-ui{background:#3b82f6}.building-fact-toggle input:checked+.building-fact-toggle-ui:after{transform:translate(1.1rem)}.building-fact-toggle-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.building-fact-toggle-text strong{font-size:.9rem;font-weight:650;color:#0f172a}.building-fact-toggle-text span{font-size:.8rem;color:#64748b;line-height:1.35}.building-fact-actions{display:flex;justify-content:flex-end;padding-top:.85rem;border-top:1px solid #f1f5f9;margin-top:.15rem}.building-fact-actions .btn-primary{min-width:11rem}.building-condos-toolbar-wrap{flex-wrap:wrap}.building-condos-pagination{margin-left:-1.35rem;margin-right:-1.35rem;margin-bottom:-1.25rem;width:calc(100% + 2.7rem);max-width:none;border-radius:0 0 12px 12px}.dashboard-page{min-height:100%;display:flex;flex-direction:column}.dashboard-main{flex:1;padding:0}.dashboard-main h2{margin:0 0 .35rem;font-size:1.65rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.page-under-construction{padding:2rem 1.5rem}.page-under-construction h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#1a1a2e}.page-under-construction p{margin:0;color:#64748b;font-size:1rem}.buildings-form-page--legacy{padding:2rem 1.5rem;max-width:1360px;margin:0 auto}.modules-page,.modules-detail,.modules-form-page{max-width:var(--ecf-page-max);margin:0 auto;padding:1.75rem 1.5rem 3rem}@media(max-width:640px){.modules-page,.modules-detail,.modules-form-page{padding:1.15rem .9rem 2.25rem}}.modules-form-page:has(>.portal-page){padding:0;max-width:none}.modules-page>.buildings-page-header,.modules-detail>.buildings-page-header,.modules-detail>.buildings-detail-header,.modules-form-page>.buildings-page-header{margin-bottom:1rem}.buildings-page-header,.buildings-detail-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.buildings-page-header h2,.buildings-detail h2,.buildings-form-page h2{margin:0;font-size:1.5rem;font-weight:600;color:#1a1a2e}.buildings-detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}.buildings-form-page .form-actions,.portal-card-body .form-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem;padding-top:1.25rem;border-top:1px solid #f1f5f9}.buildings-error{padding:.75rem 1rem;margin-bottom:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.875rem}.buildings-success{padding:.75rem 1rem;margin-bottom:1rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857;font-size:.875rem}.buildings-toolbar{margin-bottom:1rem}.propietarios-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.propietarios-whatsapp-search{max-width:220px}.buildings-search{padding:.5rem .75rem;border:1px solid var(--ecf-border-strong);border-radius:7px;font:inherit;font-size:.9rem;min-width:220px;background:var(--ecf-card)}.buildings-search:focus{outline:none;border-color:var(--ecf-accent);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.buildings-loading{color:#64748b;margin:1rem 0}.buildings-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.portal-table-wrap{border:none;border-radius:0;background:transparent}.buildings-table{width:100%;border-collapse:collapse}.buildings-table th,.buildings-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid var(--ecf-border);font-size:.875rem}.buildings-table th{background:#f8fafc;font-weight:600;font-size:.8rem;color:var(--ecf-muted);white-space:nowrap}.buildings-table tbody tr:last-child td{border-bottom:0}.buildings-brand{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#f1f5f9;color:#475569}.buildings-brand--vera{background:#ede9fe;color:#5b21b6}.buildings-table th.buildings-th-sortable{padding:0;white-space:nowrap}.buildings-th-sort-btn{display:inline-flex;align-items:center;gap:.15rem;width:100%;padding:.75rem 1rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.buildings-th-sort-btn:hover{color:#0f172a;background:#f1f5f9}.buildings-th-sortable.is-active .buildings-th-sort-btn{color:#0f172a}.buildings-th-sort-indicator{font-size:.75rem;opacity:.55}.buildings-th-sortable.is-active .buildings-th-sort-indicator{opacity:1}.buildings-table .buildings-table-num{text-align:right;font-variant-numeric:tabular-nums}.buildings-table tbody tr:hover{background:#f8fafc}.buildings-table tr.inactive-row{opacity:.7}.buildings-table .buildings-empty{text-align:center;color:#64748b;padding:2rem}.buildings-toolbar-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem}.buildings-search-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;flex:1 1 280px;min-width:0}.buildings-blocked-filter-label{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0}.buildings-blocked-filter-label-text{font-size:.8125rem;font-weight:600;color:#475569}.buildings-blocked-cell{vertical-align:middle}.buildings-block-toggle{min-width:7.5rem}.buildings-table tr.blocked-row{background:#fee2e259}.buildings-table tr.blocked-row:hover{background:#fee2e28c}.buildings-search-toolbar .buildings-search{flex:1 1 220px;min-width:0}.buildings-export-excel-btn{flex-shrink:0;white-space:nowrap}.buildings-page-size-label{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.buildings-page-size-label-text{font-size:.8125rem;color:#64748b;font-weight:500}.buildings-page-size-select{margin:0;padding:.45rem .65rem;min-width:5.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;background:#fff;color:#334155}.buildings-page-size-select:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b840}.buildings-table th:nth-child(3),.buildings-table td.buildings-table-date{white-space:nowrap;font-variant-numeric:tabular-nums}.buildings-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-action{padding:.3rem .6rem;font-family:inherit;font-size:.8125rem;font-weight:500;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:background .2s,border-color .2s}.btn-action{border-color:var(--ecf-border-strong);color:var(--ecf-ink-soft)}.btn-action:hover:not(:disabled){background:var(--ecf-canvas-soft);border-color:#b8c2d1;color:var(--ecf-ink)}.btn-action.btn-view{color:var(--ecf-accent-strong)}.btn-action.btn-view:hover:not(:disabled){background:var(--ecf-accent-soft);border-color:#bfdbfe;color:var(--ecf-accent-strong)}.btn-action.btn-inactivar,.btn-action.btn-delete-building{color:#b91c1c}.btn-action.btn-inactivar:hover:not(:disabled),.btn-action.btn-delete-building:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#991b1b}.btn-action:disabled{opacity:.6;cursor:not-allowed}.buildings-pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.btn-pagination{padding:.45rem .9rem;font-family:inherit;font-size:.85rem;border:1px solid var(--ecf-border-strong);border-radius:7px;background:#fff;cursor:pointer}.btn-pagination:hover:not(:disabled){background:#f1f5f9}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:#64748b}.building-delete-back{display:inline-block;margin-bottom:.85rem;font-size:.875rem;font-weight:500;color:#2563eb;text-decoration:none}.building-delete-back:hover{text-decoration:underline;color:#1d4ed8}.portal-card--danger-banner{border-color:#fecdd3;background:linear-gradient(135deg,#fff1f2,#ffe4e6);box-shadow:0 1px 2px #be123c0f,0 8px 24px #be123c14}.building-delete-warning-inner{display:flex;gap:1rem;align-items:flex-start;color:#881337;font-size:.9375rem;line-height:1.55}.building-delete-warning-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fb7185;color:#fff;font-weight:800;font-size:1rem;line-height:1}.building-delete-id{color:#9f1239;font-weight:500}.building-delete-stats{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}@media(min-width:520px){.building-delete-stats{grid-template-columns:repeat(2,1fr);gap:.75rem 1.25rem}}.building-delete-stat{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem .85rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px}.building-delete-stat--total{grid-column:1 / -1;background:linear-gradient(180deg,#f1f5f9,#f8fafc);border-color:#e2e8f0}.building-delete-stat-label{font-size:.8125rem;color:#64748b}.building-delete-stat-value{font-size:1.125rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.building-delete-hint{font-size:.8125rem;color:#64748b;margin:0 1.35rem .75rem;line-height:1.45}.building-delete-hint--in-card{margin:0 1.35rem .75rem}.building-delete-hint--footer{margin:.75rem 1.35rem 0;padding-bottom:.25rem}.portal-card--table-detail .building-delete-hint--in-card{margin-top:.25rem}.building-delete-table-wrap{overflow-x:auto;border-top:1px solid #f1f5f9}.building-delete-table{width:100%;border-collapse:collapse;font-size:.8125rem}.building-delete-table th,.building-delete-table td{padding:.55rem 1.35rem;text-align:left;border-bottom:1px solid #f1f5f9}.building-delete-table thead th{background:#f8fafc;font-weight:600;color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.building-delete-table tbody tr:hover{background:#fafbfc}.building-delete-table th.num,.building-delete-table td.num{text-align:right}.building-delete-code{font-size:.78rem;color:#334155;background:#f1f5f9;padding:.15rem .4rem;border-radius:4px}.building-delete-form-lead{margin:0 0 1.25rem;font-size:.9375rem;color:#475569;line-height:1.55}.building-delete-label{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem;font-size:.875rem;font-weight:600;color:#334155}.buildings-error--in-card{margin-top:.5rem;margin-bottom:0}.building-delete-actions{display:flex;gap:1rem;align-items:center;margin-top:1.5rem;flex-wrap:wrap}.building-delete-btn-cancel{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.building-delete-submit{padding:.65rem 1.35rem;font-size:.9375rem;font-weight:600;border-radius:8px;border:none;background:linear-gradient(180deg,#b91c1c,#991b1b);color:#fff;cursor:pointer;box-shadow:0 1px 2px #7f1d1d33}.building-delete-submit:hover:not(:disabled){background:linear-gradient(180deg,#991b1b,#7f1d1d)}.building-delete-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.25;border-radius:7px;border:1px solid var(--ecf-accent-strong);background:var(--ecf-accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 1px 2px #0f172a14;transition:background .12s ease}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;border-radius:7px;border:1px solid var(--ecf-border-strong);background:#fff;color:var(--ecf-ink-soft);cursor:pointer;box-shadow:0 1px 2px #0f172a0a;transition:background .12s ease}.btn-secondary:hover{background:#f1f5f9}.building-condos-section{margin-top:2rem;max-width:100%}.building-condos-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.building-condos-toolbar .building-condos-title{margin:0}.building-condos-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.building-condos-mode-hint{margin:0 0 1rem;font-size:.875rem;color:#64748b;line-height:1.4}.building-condos-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#1a1a2e}.building-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.building-modal{width:100%;max-width:440px;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 20px 50px #0003;border:1px solid #e2e8f0}.building-modal-title{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;color:#1a1a2e}.building-modal-text{margin:0 0 .75rem;font-size:.875rem;color:#475569;line-height:1.45}.building-modal-name-ref{margin:0 0 1rem;padding:.5rem .75rem;font-size:.875rem;font-family:ui-monospace,monospace;background:#f1f5f9;border-radius:6px;color:#0f172a;word-break:break-word}.building-modal-label{display:block;font-size:.8125rem;font-weight:500;color:#334155;margin-bottom:.35rem}.building-modal-input{width:100%;padding:.5rem .75rem;margin-bottom:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem}.building-modal-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.building-modal-error{margin-bottom:.75rem}.building-modal-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.condo-owners-list{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.45}.condo-owners-list li{margin-bottom:.25rem}.condo-owner-username{color:#64748b;font-size:.8125rem}.condo-owners-empty{color:#94a3b8}.buildings-detail-dl{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:.65rem 2rem;max-width:none;margin:0}@media(max-width:560px){.buildings-detail-dl{grid-template-columns:1fr}.buildings-detail-dl dt{margin-top:.5rem}.buildings-detail-dl dt:first-child{margin-top:0}}.buildings-detail-dl dt{font-weight:500;color:#64748b;font-size:.875rem}.buildings-detail-dl dd{margin:0;font-size:1rem;color:#1a1a2e}.building-form-card-title{margin:0 0 1.25rem;font-size:1.35rem;font-weight:600;color:#1a1a2e}.portal-card-body .buildings-error{margin-bottom:1rem}.buildings-form{margin-top:0}.buildings-form-wide{max-width:none;width:100%}.buildings-form .form-grid{display:grid;gap:1rem 1.5rem;margin-bottom:1rem}.buildings-form .form-grid-2{grid-template-columns:repeat(2,1fr)}.buildings-form .form-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.buildings-form .form-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.buildings-form .form-grid-2,.buildings-form .form-grid-4{grid-template-columns:1fr}}.buildings-form .form-row{margin-bottom:0;min-width:0}.buildings-form .form-row label{display:block;font-size:.875rem;font-weight:500;color:#334155;margin-bottom:.25rem}.buildings-form .form-row input{width:100%;box-sizing:border-box}.buildings-form .form-hint{display:block;font-size:.8125rem;margin-top:.25rem}.buildings-form .form-hint:not(.success):not(.error){color:#64748b}.buildings-form .form-hint.success{color:#059669}.buildings-form .form-hint.error{color:#dc2626}.admin-buildings-cell{max-width:220px}.admin-buildings-list{margin:0;padding-left:1rem;font-size:.875rem}.admin-buildings-list li{margin-bottom:.15rem}.admin-buildings-more{display:block;font-size:.8125rem;color:#64748b;margin-top:.25rem}.admin-whatsapp-btn{background:none;border:none;padding:.25rem 0;font-size:inherit;color:#2563eb;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.admin-whatsapp-btn:hover{color:#1d4ed8}.admin-whatsapp-btn-add{color:#2563eb;font-weight:600;text-decoration:none;padding:.35rem .5rem;border:1px dashed #2563eb;border-radius:6px;background:#ccfbf1}.admin-whatsapp-btn-add:hover{color:#0f766e;border-color:#0f766e;background:#99f6e4}.admin-whatsapp-hint{font-size:.8125rem;color:#64748b;margin:0 0 .5rem}.admin-whatsapp-input-wrap{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;overflow:hidden}.admin-whatsapp-prefix{padding:.5rem .75rem;background:#f1f5f9;font-weight:600;color:#475569;border-right:1px solid #e2e8f0}.admin-whatsapp-input{flex:1;margin:0!important;border:none!important;border-radius:0!important}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;padding:1.5rem;min-width:280px;max-width:420px;width:100%}.modal-card h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1a1a2e}.modal-input{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;margin-bottom:1rem;box-sizing:border-box}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.building-clone-overlay{background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.building-clone-modal{width:min(880px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;background:#f8fafc;border:1px solid rgba(148,163,184,.4);border-radius:18px;box-shadow:0 28px 80px #0208176b}.building-clone-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.4rem 1.5rem 1.15rem;color:var(--ecf-ink);background:#fff;border-bottom:1px solid var(--ecf-border);border-radius:17px 17px 0 0}.building-clone-eyebrow{display:block;margin-bottom:.35rem;color:var(--ecf-accent);font-size:.7rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.building-clone-header h2{margin:0;font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.2}.building-clone-header p{margin:.45rem 0 0;color:var(--ecf-muted);font-size:.88rem}.building-clone-close{flex:0 0 auto;width:2rem;height:2rem;padding:0;border:1px solid var(--ecf-border);border-radius:8px;color:var(--ecf-muted);background:#fff;font-size:1.35rem;line-height:1;cursor:pointer}.building-clone-close:hover:not(:disabled){color:var(--ecf-ink);background:var(--ecf-canvas-soft)}.building-clone-modal form{padding:1.3rem 1.5rem 1.5rem}.building-clone-identity{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr);gap:1rem}.building-clone-identity label{display:flex;flex-direction:column;gap:.4rem;color:#334155;font-size:.78rem;font-weight:700}.building-clone-identity input{width:100%;padding:.72rem .8rem;border:1px solid #cbd5e1;border-radius:9px;color:#0f172a;background:#fff;font:inherit;font-size:.93rem;font-weight:500}.building-clone-identity input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.building-clone-error{margin-top:1rem;padding:.75rem .85rem;border:1px solid #fecaca;border-radius:9px;color:#b91c1c;background:#fef2f2;font-size:.86rem}.building-clone-selection-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.35rem 0 .75rem}.building-clone-selection-header h3{margin:0;color:#0f172a;font-size:.96rem}.building-clone-selection-header span{display:block;margin-top:.18rem;color:#64748b;font-size:.76rem}.building-clone-select-all{padding:0;border:0;color:var(--ecf-accent);background:transparent;font-size:.78rem;font-weight:700;cursor:pointer}.building-clone-select-all:hover{text-decoration:underline}.building-clone-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.building-clone-group{display:grid;grid-template-columns:1.35rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:76px;padding:.72rem .8rem;border:1px solid #dbe3ee;border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.building-clone-group:hover{border-color:#94a3b8;transform:translateY(-1px)}.building-clone-group.is-selected{border-color:#93c5fd;box-shadow:inset 3px 0 #2563eb}.building-clone-group input{position:absolute;opacity:0;pointer-events:none}.building-clone-check{display:grid;place-items:center;width:1.25rem;height:1.25rem;border:1px solid #94a3b8;border-radius:5px;color:#fff;background:#fff;font-size:.78rem;font-weight:800}.building-clone-group.is-selected .building-clone-check{border-color:#2563eb;background:#2563eb}.building-clone-group:focus-within{outline:3px solid rgba(37,99,235,.18);outline-offset:1px}.building-clone-group-copy{min-width:0}.building-clone-group-copy strong,.building-clone-group-copy small{display:block}.building-clone-group-copy strong{color:#1e293b;font-size:.86rem}.building-clone-group-copy small{margin-top:.24rem;color:#64748b;font-size:.7rem;line-height:1.3}.building-clone-count{min-width:2rem;padding:.28rem .45rem;border-radius:999px;color:#475569;background:#eef2f7;font-size:.72rem;font-variant-numeric:tabular-nums;text-align:center}.building-clone-dependencies{margin:.7rem 0 0;color:#64748b;font-size:.72rem;line-height:1.45}.building-clone-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;margin-top:1rem;padding:.75rem .85rem;border:1px solid #fde68a;border-radius:10px;color:#854d0e;background:#fffbeb;font-size:.78rem;line-height:1.4}.building-clone-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid #e2e8f0}.building-clone-actions button{min-width:120px}@media(max-width:700px){.building-clone-overlay{align-items:flex-end;padding:0}.building-clone-modal{max-height:94dvh;border-radius:18px 18px 0 0}.building-clone-header{border-radius:17px 17px 0 0}.building-clone-modal form{padding:1rem}.building-clone-identity,.building-clone-groups{grid-template-columns:1fr}.building-clone-warning{grid-template-columns:1fr;gap:.25rem}.building-clone-actions{position:sticky;bottom:-1rem;margin-right:-1rem;margin-left:-1rem;padding:.85rem 1rem 1rem;background:#f8fafc}.building-clone-actions button{flex:1;min-width:0}}.admin-password-modal .form-row{margin-bottom:.5rem}.admin-password-modal .form-row label{display:block;margin-bottom:.35rem;font-size:.875rem;color:#475569}.admin-password-modal .modal-input{margin-bottom:.5rem}.admin-password-quick{margin-bottom:1rem}.admin-password-fill-btn{margin-top:.5rem}.buildings-form .form-row-half{display:inline-block;width:calc(50% - .5rem);margin-right:.5rem;vertical-align:top}.buildings-form .form-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.dashboard-tabs{margin-top:0;background:#fff;border-radius:var(--ecf-radius, 10px);border:1px solid var(--ecf-border);overflow:hidden;width:100%;box-shadow:var(--ecf-shadow)}.tabs-list{display:flex;gap:0;border-bottom:1px solid #e2e8f0;background:#fff;padding:0 .5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab-btn{padding:.8rem .9rem;background:none;border:none;font-size:.875rem;font-weight:500;font-family:inherit;color:#64748b;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;flex-shrink:0}.tab-btn:hover{color:#334155}.tab-btn.active{color:var(--ecf-ink);font-weight:600;background:#fff;border-bottom-color:var(--ecf-accent)}.tab-panels{padding:1.5rem}@media(max-width:640px){.tab-panels{padding:1rem}}.tab-panel{min-height:120px}.tab-placeholder{margin:0;color:#94a3b8;font-size:.95rem}.portal-page--ecf .building-selector{margin-bottom:0;max-width:none}.json-modal .btn-logout,.modal-card .btn-logout,.building-modal .btn-logout,.modal-actions .btn-logout{width:auto;color:#334155;border:1px solid #cbd5e1;background:#fff;border-radius:8px}.json-modal .btn-logout:hover,.modal-card .btn-logout:hover,.building-modal .btn-logout:hover,.modal-actions .btn-logout:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.tab2-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.tab2-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.simulacion-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.simulacion-header-row h3{margin:0}.simulacion-por-tipo{display:flex;flex-direction:column;gap:1.5rem}.simulacion-ecf-single-table{gap:0}.simulacion-ecf-tipo-cell{max-width:22rem;font-size:.8125rem;line-height:1.35;vertical-align:top}.simulacion-tipo-block{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;background:#fafafa}.simulacion-tipo-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.simulacion-tipo-header h4{margin:0;font-size:1rem;font-weight:600;color:#1a1a2e}.tab2-section h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#1a1a2e}.section-desc{margin:0 0 1rem;font-size:.875rem;color:#64748b}.building-modules-intro,.building-modules-success{margin-bottom:1rem}.building-modules-subtitle{margin:1.25rem 0 .65rem;font-size:.9375rem;font-weight:600;color:#334155}.building-modules-subtitle:first-of-type{margin-top:0}.building-modules-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}@media(max-width:860px){.building-modules-grid{grid-template-columns:1fr}}.building-modules-col{min-width:0}.building-modules-col .building-modules-subtitle{margin-top:0;display:flex;align-items:center;gap:.4rem}.building-modules-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;padding:0 .35rem;height:1.15rem;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.6875rem;font-weight:600}.building-modules-search-input{width:100%;box-sizing:border-box;padding:.35rem .6rem;margin-bottom:.4rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.8125rem}.building-modules-checkboxes{display:flex;flex-direction:column;gap:0;max-height:340px;overflow-y:auto;padding:.15rem .35rem;border:1px solid #e2e8f0;border-radius:6px;background:#fafbfc;margin-bottom:.5rem}.building-modules-check-label{display:flex;align-items:center;gap:.4rem;padding:.15rem .25rem;font-size:.8125rem;line-height:1.25;color:#334155;cursor:pointer;border-radius:4px}.building-modules-check-label:hover{background:#f1f5f9}.building-modules-check-label input{margin:0;flex-shrink:0}.building-modules-empty{margin:0;padding:.35rem .25rem;font-size:.8125rem;color:#94a3b8}.building-modules-assigned-list{list-style:none;margin:0;padding:.15rem .35rem;max-height:340px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px;background:#fafbfc}.building-modules-assigned-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.15rem .25rem;border-bottom:1px solid #f1f5f9}.building-modules-assigned-item:last-child{border-bottom:none}.building-modules-assigned-name{font-size:.8125rem;line-height:1.25;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.building-modules-legacy{margin-top:1rem}.building-modules-legacy summary{cursor:pointer;font-size:.8125rem;color:#64748b}.building-modules-plan-apply{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.building-modules-plan-apply select{min-width:12rem}.building-modules-plan-apply .btn-secondary{white-space:nowrap}.building-admins-section .building-modules-subtitle.building-admins-subtitle{margin-top:1.25rem}.building-admins-hint{margin-bottom:.75rem}.building-admins-table-wrap{margin-top:.5rem}.building-admins-flags{display:flex;gap:.4rem;flex-wrap:wrap}.building-admins-flag{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .7rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.building-admins-flag:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}.building-admins-flag:disabled{opacity:.55;cursor:not-allowed}.building-admins-flag-dot{width:7px;height:7px;border-radius:50%;background:#cbd5e1}.building-admins-flag.is-on{border-color:#6ee7b7;background:#ecfdf5;color:#047857;font-weight:600}.building-admins-flag.is-on .building-admins-flag-dot{background:#10b981}.building-admins-flag-list{margin:0 0 .85rem 1.1rem;padding:0;line-height:1.55}.building-admins-flag-list li+li{margin-top:.3rem}.building-admins-empty{color:#64748b;font-size:.875rem;padding:.75rem .5rem}.building-admins-add-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin-bottom:.75rem}.building-admins-search-input{flex:1 1 200px;min-width:0;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem}.building-admins-results{list-style:none;margin:0 0 .75rem;padding:0;border:1px solid #e2e8f0;border-radius:8px;max-height:220px;overflow-y:auto;background:#fafbfc}.building-admins-results li{border-bottom:1px solid #f1f5f9}.building-admins-results li:last-child{border-bottom:none}.building-admins-result-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.6rem .75rem;border:none;background:transparent;cursor:pointer;text-align:left;font-size:.875rem;color:#334155}.building-admins-result-btn:hover{background:#f1f5f9}.building-admins-result-btn.is-selected{background:#e0f2fe;box-shadow:inset 3px 0 #0284c7}.building-admins-result-name{font-weight:600}.building-admins-result-email{font-size:.8125rem;color:#64748b}.building-admins-add-actions{margin-top:.25rem}.building-admins-remove-btn{padding:.35rem .65rem;font-size:.8125rem}.building-modules-form-actions{margin-top:0;padding-top:0;border-top:none}.building-modules-remove-btn{flex-shrink:0;padding:.05rem .4rem;font-size:.6875rem;line-height:1.4;border:1px solid #fecaca;border-radius:4px;background:#fef2f2;color:#b91c1c;cursor:pointer}.building-modules-remove-btn:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.building-modules-remove-btn:disabled{opacity:.6;cursor:default}.track-form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.building-info-form{flex-direction:column;align-items:stretch}.building-info-form .form-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.building-info-form .form-group-inline{flex:1;min-width:140px}.building-info-form .form-group-wide{flex:1 1 100%;min-width:200px}.building-info-form .form-group-inline input{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem}.track-input{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem}.track-input:focus{outline:none;border-color:#2563eb}.ecf-result h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#334155}.ecf-section{margin:0;padding:0;background:#fff;border-radius:8px;border:1px solid #e2e8f0;max-width:900px}.btn-ecf-auth{padding:.625rem 1.25rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-ecf-auth:hover:not(:disabled){background:#1d4ed8}.btn-ecf-auth:disabled{background:#94a3b8;cursor:not-allowed}.btn-ecf-revert{background:#b45309!important}.btn-ecf-revert:hover:not(:disabled){background:#92400e!important}.ecf-certified-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-gris-claro, #e5e7eb)}.ecf-certified-section .section-desc{margin-bottom:12px}.ecf-error{margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:.875rem;white-space:pre-wrap}.ecf-result{margin-top:1rem}.ecf-result h3{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#334155}.ecf-json{margin:0;padding:1rem;background:#1e293b;color:#e2e8f0;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}.building-selector{margin-bottom:1.5rem;max-width:400px}.building-label{display:block;font-size:.875rem;font-weight:500;color:#334155;margin-bottom:.375rem}.building-dropdown-wrapper{position:relative}.building-search-input{width:100%;padding:.5rem .875rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem}.building-search-input:focus{outline:none;border-color:#2563eb}.building-loading{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.8rem;color:#64748b}.building-dropdown-list{position:absolute;top:100%;left:0;right:0;margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.building-dropdown-item{padding:.5rem .875rem;cursor:pointer;font-size:.9rem}.building-dropdown-item:hover,.building-dropdown-item.selected{background:#f1f5f9}.cert-section{margin-bottom:1.5rem;padding:1rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%}.cert-section-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#1a1a2e}.cert-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.5rem}.cert-fields-inline{display:flex;align-items:center;gap:1.25rem}.cert-field{font-size:.875rem}.cert-field-label{font-weight:500;color:#64748b;margin-right:.375rem}.cert-field-value{color:#334155;font-family:monospace;font-size:.8rem}.cert-form-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;flex:1;min-width:0}.form-group-inline{display:flex;flex-direction:column;gap:.25rem}.form-group-inline label{font-size:.75rem;font-weight:500;color:#64748b}.form-group-inline input{padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem}.form-group-inline input[type=file]{padding:.25rem 0;max-width:180px}.form-group-inline input[type=password]{min-width:140px}.cert-form-inline .btn-ecf-auth{flex-shrink:0}.cert-section .ecf-error{margin-top:.75rem}.cert-success{margin-top:.75rem;padding:.5rem .75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#166534;font-size:.875rem}.ecf-hint{margin:0 0 .75rem;font-size:.875rem;color:#64748b}.test-cards-grid{display:grid;grid-template-columns:1fr;gap:.875rem;margin-top:1rem}.test-card{border:1px solid #e2e8f0;border-radius:8px;padding:.875rem;background:#fff}.ecf-section-title{font-size:1rem;font-weight:600;color:#374151;margin:1.25rem 0 .5rem}.ecf-section-title:first-of-type{margin-top:.5rem}.test-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.5rem;flex-wrap:wrap}.test-badge{font-size:.75rem;color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:.2rem .55rem;max-width:100%;white-space:normal;line-height:1.3}.status-badge{font-size:.72rem;border-radius:999px;padding:.2rem .55rem;font-weight:600}.status-no_enviado{color:#374151;background:#e5e7eb}.status-rechazado{color:#991b1b;background:#fee2e2}.status-aceptado{color:#065f46;background:#d1fae5}.test-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.test-card-actions .btn-ecf-auth{padding:.45rem .75rem;font-size:.85rem}.btn-mark-rejected{background:#dc2626}.test-card-compact .test-card-compact-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.btn-ecf-compact{padding:.5rem .875rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;font-family:monospace}.btn-ecf-compact:hover:not(:disabled){background:#1d4ed8}.btn-ecf-compact:disabled:not(.btn-ecf-compact-accepted){background:#94a3b8;cursor:not-allowed}.btn-ecf-compact-accepted{background:#059669!important;color:#fff!important;cursor:default!important}.btn-ecf-compact-accepted:hover{background:#059669!important}.ecf-error-inline,.ecf-result-inline{margin-top:.5rem;font-size:.8rem}.simulacion-actions-cell{display:flex;flex-direction:column;gap:.25rem}.simulacion-buttons-row{display:flex;flex-wrap:wrap;gap:.35rem}.btn-link{background:none;border:none;padding:0;color:#2563eb;cursor:pointer;font-size:inherit;text-decoration:underline}.btn-link:hover{color:#1d4ed8}.btn-mark-rejected:hover:not(:disabled){background:#b91c1c}.modal-backdrop{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.json-modal{width:min(1100px,100%);max-height:90vh;background:#fff;border-radius:10px;border:1px solid #e2e8f0;padding:1rem;overflow:auto}.json-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.json-modal-header h3{margin:0;font-size:1rem}.json-modal-actions{display:flex;align-items:center;gap:.5rem}.mensajes-modal .mensajes-content{margin-top:.5rem}.mensajes-modal .mensajes-estado{font-weight:600;color:#b91c1c;margin:0 0 .75rem}.mensajes-modal .mensajes-list{margin:0;padding-left:1.25rem;list-style:disc}.mensajes-modal .mensajes-list li{margin-bottom:.35rem}.documentos-ecf-filter{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.documentos-ecf-filter label{font-size:.875rem;font-weight:500;color:#334155}.documentos-ecf-filter .filter-select{padding:.4rem .75rem;font-size:.875rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;min-width:220px}.documentos-ecf-filter .filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.acuse-recibo-table-wrapper{margin-top:1rem;overflow-x:auto}.acuse-recibo-table{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.acuse-recibo-table th,.acuse-recibo-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.acuse-recibo-table th{background:#f8fafc;font-weight:600;color:#334155}.acuse-recibo-table tbody tr:hover{background:#f8fafc}.acuse-recibo-table .col-encf{font-family:monospace;font-weight:500}.btn-ecf-small{padding:.35rem .6rem!important;font-size:.8rem!important}.portal-page--email-logs .email-logs-filters-card{margin-bottom:1.5rem}.email-logs-filters{display:flex;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}.email-logs-filters .form-group-inline{min-width:0}.email-logs-filters .filter-select{padding:.5rem .75rem;font-size:.9rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;min-width:140px}.email-logs-filters-body{display:flex;flex-direction:column;gap:1.15rem}.email-logs-search-wrap{display:flex;flex-direction:column;gap:.4rem;width:100%;min-width:0}.email-logs-search-label{font-size:.8125rem;font-weight:600;color:#475569}.email-logs-search-input{width:100%;max-width:none;box-sizing:border-box}.email-logs-empty-body{padding:2.5rem 1.35rem;text-align:center}.email-logs-empty-msg{margin:0;font-size:.9375rem;color:#64748b}.email-logs-building-grid{display:flex;flex-direction:column;gap:1.25rem;width:100%}.email-logs-building-card{margin-bottom:0;width:100%;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column}.email-logs-building-card-header{align-items:flex-start}.email-logs-building-name{font-size:1.05rem;color:#0f172a;line-height:1.35;padding-right:.5rem}.email-logs-card-total{flex-shrink:0;font-size:.8125rem;color:#64748b;padding:.35rem .65rem;background:#f1f5f9;border-radius:999px;border:1px solid #e2e8f0}.email-logs-card-total strong{color:#0f172a;font-weight:700}.email-logs-building-card-body{flex:1;padding-top:1rem}.email-logs-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.65rem}.email-logs-metric{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .7rem;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9;min-width:0}.email-logs-metric-label{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em;line-height:1.25}.email-logs-metric-value{font-size:1.125rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.email-logs-quota{margin-top:1rem;padding-top:.85rem;border-top:1px solid #e2e8f0;--quota-accent: #635ad9}.email-logs-quota--warn{--quota-accent: #d97706}.email-logs-quota--full{--quota-accent: #cc0535}.email-logs-quota-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.email-logs-quota-label{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.email-logs-quota-value{font-size:.9rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.email-logs-quota-meter{margin-top:.45rem;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.email-logs-quota-meter-fill{height:100%;border-radius:999px;background:var(--quota-accent);transition:width .25s ease}.email-logs-quota-remaining{margin:.4rem 0 0;font-size:.78rem;color:#64748b}.email-logs-quota--warn .email-logs-quota-remaining strong,.email-logs-quota--full .email-logs-quota-remaining strong{color:var(--quota-accent)}.portal-page--fichas-report .fichas-report-print-doc-header,.portal-page--fichas-report .fichas-report-print-table-caption{display:none}@media print{@page{margin:14mm 16mm;size:A4}html,body{background:#fff!important;color:#000!important;font-family:Times New Roman,Times,Georgia,serif!important;font-size:11pt!important;line-height:1.35!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.sb,.sb-backdrop,.mbar,.dev-banner{display:none!important}.shell,.shell-main{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important}.layout-main{padding:0!important;margin:0!important;overflow:visible!important;background:#fff!important}.portal-page--fichas-report{background:#fff!important}.portal-page--fichas-report .fichas-report-print-hide,.portal-page--fichas-report .fichas-report-screen-hero{display:none!important}.portal-page--fichas-report .portal-page-inner{max-width:none!important;margin:0!important;padding:0!important}.portal-page--fichas-report .fichas-report-print-sheet{display:block!important;box-sizing:border-box;max-width:190mm;margin:0 auto;padding:10mm 12mm 12mm;border:3px double #000;background:#fff!important;color:#000!important;font-family:Times New Roman,Times,Georgia,serif!important;font-size:11pt!important;line-height:1.35!important}.portal-page--fichas-report .fichas-report-print-doc-header{display:block!important;margin:0 0 10pt;padding-bottom:10pt;border-bottom:2pt solid #000;break-inside:avoid;page-break-after:avoid}.portal-page--fichas-report .fichas-report-print-doc-kicker{margin:0 0 4pt;font-size:8pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#000!important}.portal-page--fichas-report .fichas-report-print-doc-title{margin:0 0 10pt;font-size:16pt;font-weight:700;line-height:1.2;color:#000!important;letter-spacing:-.01em}.portal-page--fichas-report .fichas-report-print-doc-meta{margin:0 0 8pt;padding:0;display:grid;grid-template-columns:minmax(7.5em,32%) 1fr;column-gap:10pt;row-gap:4pt;width:100%;font-size:10pt}.portal-page--fichas-report .fichas-report-print-doc-meta dt,.portal-page--fichas-report .fichas-report-print-doc-meta dd{margin:0;padding:0;border:none!important;background:transparent!important;color:#000!important}.portal-page--fichas-report .fichas-report-print-doc-meta dt{font-weight:700}.portal-page--fichas-report .fichas-report-print-doc-meta-iso{display:block;margin-top:2pt;font-size:8.5pt;font-weight:400;color:#333!important}.portal-page--fichas-report .fichas-report-print-doc-legend{margin:8pt 0 0;padding:6pt 8pt;font-size:8.5pt;line-height:1.4;color:#000!important;border:1pt solid #000;background:#f5f5f5!important}.portal-page--fichas-report .fichas-report-print-doc-legend strong{font-weight:700}.portal-page--fichas-report .fichas-report-print-table-card,.portal-page--fichas-report .fichas-report-print-table-card.portal-card--data{box-shadow:none!important;border:none!important;margin:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important}.portal-page--fichas-report .fichas-report-print-table-card .portal-card-body{padding:0!important;margin:0!important}.portal-page--fichas-report .fichas-report-print-table-wrap{overflow:visible!important}.portal-page--fichas-report .fichas-report-print-table-caption{display:table-caption!important;caption-side:top;text-align:left;font-size:10pt;font-weight:700;margin:0 0 6pt;padding:0;color:#000!important;font-family:Times New Roman,Times,Georgia,serif!important}.portal-page--fichas-report .fichas-report-print-table{width:100%;border-collapse:collapse!important;font-size:10pt!important;font-family:Times New Roman,Times,Georgia,serif!important;background:#fff!important;box-shadow:none!important}.portal-page--fichas-report .fichas-report-print-table th,.portal-page--fichas-report .fichas-report-print-table td{padding:5pt 6pt!important;border:.75pt solid #000!important;color:#000!important;background:#fff!important;vertical-align:top;text-align:left!important;font-weight:400!important;box-shadow:none!important}.portal-page--fichas-report .fichas-report-print-table th{background:#e8e8e8!important;font-weight:700!important;font-size:9.5pt!important}.portal-page--fichas-report .fichas-report-print-table tbody tr:nth-child(2n) td{background:#fafafa!important}.portal-page--fichas-report .fichas-report-print-col-num{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.portal-page--fichas-report .fichas-report-print-table tbody tr{page-break-inside:avoid}.portal-page--fichas-report .fichas-report-print-table thead{display:table-header-group}}.aqua-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:600}.aqua-badge--on{background:#dcfce7;color:#15803d}.aqua-badge--off{background:#e2e8f0;color:#475569}.building-coa-intro{margin-bottom:1rem}.building-coa-stats{display:flex;flex-wrap:wrap;gap:.75rem;margin:.75rem 0 1rem}.building-coa-stat{flex:1 1 130px;min-width:120px;display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.building-coa-stat--warn{border-color:#fed7aa;background:#fff7ed}.building-coa-stat-value{font-size:1.4rem;font-weight:700;color:#0f172a;line-height:1.1}.building-coa-stat--warn .building-coa-stat-value{color:#c2410c}.building-coa-stat-label{font-size:.8125rem;color:#64748b}.building-coa-warnings{margin:0 0 1rem;padding:.75rem .9rem .75rem 1.9rem;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;color:#92400e;font-size:.8125rem}.building-coa-warnings li+li{margin-top:.35rem}.building-coa-details{margin-bottom:.9rem;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .9rem;background:#fafbfc}.building-coa-details>summary{cursor:pointer;font-size:.875rem;font-weight:600;color:#334155}.building-coa-details[open]>summary{margin-bottom:.6rem}.building-coa-modes{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.building-coa-mode-help{font-size:.8125rem;color:#64748b;font-weight:400}.building-coa-defaults-check{margin-bottom:1rem}.building-coa-result{margin:1rem 0}.building-coa-result-list{margin:.5rem 0 0;padding-left:1.1rem;font-size:.8125rem}.building-coa-result-list li+li{margin-top:.2rem}.building-admin-import-textarea{width:100%;padding:.65rem .8rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5;resize:vertical;margin-bottom:1rem}.building-admin-import-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.building-admin-import-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem 1rem;margin:.75rem 0 1rem}.building-admin-import-password{max-width:280px;margin-bottom:1rem}.building-admin-import-error-cell{color:#b91c1c;font-weight:600}.building-admin-import-warning{padding:.65rem .9rem;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;color:#92400e}.admins-bulk-reset.modal-card{max-width:520px}.admins-bulk-reset__hint{margin:-.5rem 0 1rem;font-size:.875rem;color:#64748b}.admins-bulk-reset__search.modal-input{margin-bottom:.75rem}.admins-bulk-reset__all{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.5rem}.admins-bulk-reset__count{margin-left:auto;font-weight:400;color:#64748b}.admins-bulk-reset__list{list-style:none;margin:0 0 1rem;padding:0;max-height:260px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}.admins-bulk-reset__list li+li{border-top:1px solid #f1f5f9}.admins-bulk-reset__item{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;cursor:pointer}.admins-bulk-reset__item:hover{background:#f8fafc}.admins-bulk-reset__item.is-disabled{cursor:not-allowed;opacity:.55}.admins-bulk-reset__who{display:flex;flex-direction:column;min-width:0}.admins-bulk-reset__name{font-size:.9rem;color:#1e293b}.admins-bulk-reset__email{font-size:.8rem;color:#64748b;overflow-wrap:anywhere}.admins-bulk-reset__empty{padding:.9rem;text-align:center;font-size:.875rem;color:#64748b}.building-admins-current-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}body{font-family:var(--ecf-font);color:var(--ecf-ink);background:var(--ecf-canvas)}.shell ::selection{background:#2563eb29}.shell .layout-main{scrollbar-width:thin;scrollbar-color:var(--ecf-border-strong) transparent}.shell :where(input[type=checkbox],input[type=radio]){accent-color:var(--ecf-accent);width:16px;height:16px;cursor:pointer}.shell :where(code){font-family:var(--ecf-mono);font-size:.85em}.shell .layout-main :where(a){color:var(--ecf-accent)}.shell .portal-page-inner{max-width:var(--ecf-page-max);margin:0 auto;padding:2rem 2rem 3.5rem}.shell .portal-page--facturacion .portal-page-inner{max-width:none}.shell .portal-page-hero{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:1.5rem}.shell .portal-page-title{margin:0;font-size:1.65rem;font-weight:700;letter-spacing:-.025em;line-height:1.2;color:var(--ecf-ink)}.shell .portal-page-subtitle{margin:.35rem 0 0;font-size:.95rem;line-height:1.55;color:var(--ecf-muted);max-width:48rem}.shell .portal-page-hero-actions,.shell .portal-detail-actions,.shell .buildings-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.shell .building-delete-back{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:.6rem;font-size:.85rem;font-weight:500;color:var(--ecf-muted);text-decoration:none;transition:color .12s}.shell .building-delete-back:hover{color:var(--ecf-accent)}.shell .portal-card{background:var(--ecf-card);border:1px solid var(--ecf-border);border-radius:var(--ecf-radius-lg);box-shadow:var(--ecf-shadow);margin-bottom:1.25rem;overflow:hidden}.shell .portal-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;min-height:56px;padding:.85rem 1.35rem;border-bottom:1px solid var(--ecf-border);background:var(--ecf-card)}.shell .portal-card-title{margin:0;font-size:1rem;font-weight:650;letter-spacing:-.01em;color:var(--ecf-ink)}.shell .portal-card-meta{font-size:.8rem;font-weight:500;color:var(--ecf-muted)}.shell .portal-card-body{padding:1.35rem}.shell .portal-card-body--flush{padding:0}.shell .section-desc{margin:0 0 1rem;font-size:.9rem;line-height:1.55;color:var(--ecf-muted)}.shell :is(.btn-primary,.btn-secondary,.btn-danger,.btn-ghost,.btn-logout,.btn-pagination){display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:var(--ecf-control-h);padding:0 1rem;border-radius:var(--ecf-radius-sm);border:1px solid transparent;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .12s}.shell .btn-primary{background:var(--ecf-accent);border-color:var(--ecf-accent);color:#fff;box-shadow:0 1px 2px #2563eb40,inset 0 1px #ffffff1f}.shell .btn-primary:hover:not(:disabled){background:var(--ecf-accent-strong);border-color:var(--ecf-accent-strong);box-shadow:0 4px 12px #2563eb47}.shell :is(.btn-secondary,.btn-logout,.btn-pagination){background:#fff;border-color:var(--ecf-border-strong);color:var(--ecf-ink-soft);box-shadow:0 1px 2px #0f172a0a}.shell :is(.btn-secondary,.btn-logout,.btn-pagination):hover:not(:disabled){background:var(--ecf-subtle);border-color:#b9c3d0;color:var(--ecf-ink)}.shell .btn-danger{background:var(--ecf-danger);border-color:var(--ecf-danger);color:#fff}.shell .btn-danger:hover:not(:disabled){background:var(--ecf-danger-strong);border-color:var(--ecf-danger-strong)}.shell .btn-ghost{background:transparent;color:var(--ecf-ink-soft)}.shell .btn-ghost:hover:not(:disabled){background:var(--ecf-canvas-soft)}.shell .btn-pagination{height:34px;padding:0 .85rem;font-weight:500}.shell .btn-sm{height:32px;padding:0 .75rem;font-size:.8rem}.shell :is(.btn-primary,.btn-secondary,.btn-danger,.btn-ghost,.btn-logout,.btn-pagination):disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.shell .btn-action{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:30px;padding:0 .65rem;border-radius:7px;border:1px solid var(--ecf-border);background:#fff;color:var(--ecf-ink-soft);font-family:inherit;font-size:.8rem;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.shell .btn-action:hover:not(:disabled){background:var(--ecf-subtle);border-color:var(--ecf-border-strong);color:var(--ecf-ink)}.shell .btn-action.btn-view{color:var(--ecf-accent-strong)}.shell .btn-action.btn-view:hover:not(:disabled){background:var(--ecf-accent-soft);border-color:#c7d7fe}.shell :is(.btn-action.btn-inactivar,.btn-action.btn-delete-building,.btn-action.btn-danger-soft){color:var(--ecf-danger-strong)}.shell :is(.btn-action.btn-inactivar,.btn-action.btn-delete-building,.btn-action.btn-danger-soft):hover:not(:disabled){background:var(--ecf-danger-soft);border-color:var(--ecf-danger-border);color:#991b1b}.shell .btn-action:disabled{opacity:.5;cursor:not-allowed}.shell .buildings-actions,.shell .row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.shell .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.shell .portal-card-body .form-actions{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--ecf-border)}.shell .portal-card-body .form-actions:first-child{margin-top:0;padding-top:0;border-top:0}.shell .layout-main :where(input:not([type]),input[type=text],input[type=search],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=url],input[type=date],input[type=datetime-local],input[type=month],input[type=time],select,textarea){box-sizing:border-box;min-height:var(--ecf-control-h);padding:.45rem .75rem;border:1px solid var(--ecf-border-strong);border-radius:var(--ecf-radius-sm);background-color:#fff;color:var(--ecf-ink);font-family:inherit;font-size:.9rem;line-height:1.4;outline:none;transition:border-color .12s,box-shadow .12s}.shell .layout-main :where(textarea){min-height:84px;resize:vertical}.shell .layout-main :where(select){appearance:none;-webkit-appearance:none;padding-right:2.1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:12px;cursor:pointer}.shell .layout-main :where(select[multiple]){background-image:none;padding-right:.75rem}.shell .layout-main :where(input,select,textarea)::placeholder{color:var(--ecf-faint)}.shell .layout-main :where(input,select,textarea):hover:not(:disabled):not(:focus){border-color:#b9c3d0}.shell .layout-main :where(input,select,textarea):focus{border-color:var(--ecf-accent);box-shadow:0 0 0 3px var(--ecf-accent-ring)}.shell .layout-main :where(input,select,textarea):disabled{background-color:var(--ecf-subtle);color:var(--ecf-muted);cursor:not-allowed}.shell .layout-main :where(input[type=file]){font-family:inherit;font-size:.85rem;color:var(--ecf-ink-soft)}.shell .layout-main :where(input[type=file])::file-selector-button{height:34px;margin-right:.75rem;padding:0 .85rem;border:1px solid var(--ecf-border-strong);border-radius:7px;background:#fff;color:var(--ecf-ink-soft);font:inherit;font-weight:600;cursor:pointer}.shell .layout-main :where(input[type=file])::file-selector-button:hover{background:var(--ecf-subtle)}.shell .form-row>label,.shell .form-row>.wiz-label{display:block;margin-bottom:.35rem;font-size:.82rem;font-weight:600;color:var(--ecf-ink-soft)}.shell .form-row :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}.shell .form-hint{display:block;margin-top:.35rem;font-size:.78rem;line-height:1.45;color:var(--ecf-muted)}.shell .buildings-search,.shell .portal-search-input{min-height:var(--ecf-control-h)}.shell .buildings-table-wrap{overflow-x:auto;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius);background:#fff}.shell .portal-card .buildings-table-wrap,.shell .portal-table-wrap{border:0;border-radius:0;overflow-x:auto}.shell :is(.buildings-table,.portal-table-wrap table){width:100%;border-collapse:separate;border-spacing:0}.shell :is(.buildings-table,.portal-table-wrap table) :is(th,td){padding:.75rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--ecf-border);font-size:.875rem;color:var(--ecf-ink-soft)}.shell :is(.buildings-table,.portal-table-wrap table) :is(th,td):is(.buildings-table-num,.num){text-align:right;font-variant-numeric:tabular-nums}.shell :is(.buildings-table,.portal-table-wrap table) th{position:sticky;top:0;z-index:1;padding-top:.65rem;padding-bottom:.65rem;background:var(--ecf-subtle);font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ecf-muted);white-space:nowrap}.shell :is(.buildings-table,.portal-table-wrap table) tbody tr{transition:background .1s}.shell :is(.buildings-table,.portal-table-wrap table) tbody tr:hover{background:#fafbfd}.shell :is(.buildings-table,.portal-table-wrap table) tbody tr:last-child td{border-bottom:0}.shell .buildings-table .buildings-th-sort-btn{padding:.65rem 1rem;font-size:inherit;letter-spacing:inherit;text-transform:inherit}.shell .buildings-table .buildings-th-sort-btn:hover{background:var(--ecf-canvas-soft)}.shell :is(.buildings-table,.portal-table-wrap table) .buildings-empty,.shell .buildings-empty{padding:2.5rem 1rem;text-align:center;color:var(--ecf-muted);font-size:.9rem}.shell .buildings-pagination,.shell .portal-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1.35rem;margin:0;border-top:1px solid var(--ecf-border);background:var(--ecf-subtle)}.shell .pagination-info{font-size:.82rem;color:var(--ecf-muted)}.shell .ui-cell-title{display:block;font-weight:600;color:var(--ecf-ink);text-decoration:none;line-height:1.35}.shell a.ui-cell-title:hover{color:var(--ecf-accent)}.shell .ui-cell-sub{display:block;margin-top:.1rem;font-size:.78rem;color:var(--ecf-muted);line-height:1.35}.shell .ui-id{font-family:var(--ecf-mono);font-size:.78rem;color:var(--ecf-muted)}.shell :is(.buildings-table,.portal-table-wrap table) .ui-col-id{width:1%;white-space:nowrap}.shell :is(.buildings-table,.portal-table-wrap table) .ui-col-actions{width:1%;white-space:nowrap;text-align:right}.shell .ui-col-actions .row-actions{justify-content:flex-end;flex-wrap:nowrap}.shell .ui-badges{display:inline-flex;flex-wrap:wrap;gap:.3rem}.shell :is(.buildings-table,.portal-table-wrap table) tr.inactive-row{opacity:1}.shell :is(.buildings-table,.portal-table-wrap table) tr.inactive-row td{color:var(--ecf-muted)}.shell :is(.buildings-table,.portal-table-wrap table) tr.inactive-row .ui-cell-title{color:var(--ecf-muted)}.shell :is(.buildings-table,.portal-table-wrap table) tr.blocked-row{background:snow}.shell :is(.buildings-table,.portal-table-wrap table) tr.blocked-row td:first-child{box-shadow:inset 3px 0 0 var(--ecf-danger)}.shell .ui-pager{display:inline-flex;gap:.4rem;margin-left:auto}.shell .ui-count{display:inline-flex;align-items:center;height:24px;margin-left:.6rem;padding:0 .6rem;border-radius:999px;vertical-align:.25em;font-size:.8rem;font-weight:600;letter-spacing:0;color:var(--ecf-muted);background:#fff;border:1px solid var(--ecf-border)}.shell .ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.9rem 1.35rem;border-bottom:1px solid var(--ecf-border)}.shell .ui-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-left:auto}.shell .ui-search{position:relative;flex:1 1 280px;max-width:440px;display:block}.shell .ui-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--ecf-faint);pointer-events:none}.shell .layout-main .ui-search input{width:100%;padding-left:2.25rem}.shell .ui-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:2.5rem 1.5rem;text-align:center;color:var(--ecf-muted)}.shell .ui-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:.4rem;border-radius:12px;background:var(--ecf-canvas-soft);color:var(--ecf-faint)}.shell .ui-empty-title{margin:0;font-size:.95rem;font-weight:650;color:var(--ecf-ink)}.shell .ui-empty-text{margin:0;max-width:28rem;font-size:.85rem;line-height:1.5}.shell .tabs-list{display:flex;gap:.25rem;padding:0 1rem;border-bottom:1px solid var(--ecf-border);background:#fff;overflow-x:auto;scrollbar-width:none}.shell .tabs-list::-webkit-scrollbar{display:none}.shell .tab-btn{position:relative;flex:none;height:48px;padding:0 .85rem;border:0;background:none;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--ecf-muted);white-space:nowrap;cursor:pointer;transition:color .12s}.shell .tab-btn:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:transparent;transition:background .12s}.shell .tab-btn:hover{color:var(--ecf-ink)}.shell .tab-btn.active{color:var(--ecf-accent-strong);font-weight:600;border-bottom-color:transparent}.shell .tab-btn.active:after{background:var(--ecf-accent)}.shell .dashboard-tabs{border-radius:var(--ecf-radius-lg);border:1px solid var(--ecf-border);box-shadow:var(--ecf-shadow)}.shell :is(.buildings-error,.ecf-error,.buildings-success,.cert-success,.building-modules-success){position:relative;display:block;padding:.75rem 1rem .75rem 2.6rem;margin:0 0 1rem;border-radius:var(--ecf-radius);border:1px solid;font-size:.875rem;line-height:1.5}.shell :is(.buildings-error,.ecf-error):before,.shell :is(.buildings-success,.cert-success,.building-modules-success):before{content:"";position:absolute;left:.95rem;top:.85rem;width:18px;height:18px;background-color:currentColor;-webkit-mask:var(--alert-icon) center / contain no-repeat;mask:var(--alert-icon) center / contain no-repeat}.shell :is(.buildings-error,.ecf-error){background:var(--ecf-danger-soft);border-color:var(--ecf-danger-border);color:var(--ecf-danger-strong);--alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E")}.shell :is(.buildings-success,.cert-success,.building-modules-success){background:var(--ecf-success-soft);border-color:var(--ecf-success-border);color:#047857;--alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E")}.shell .buildings-loading{display:flex;align-items:center;gap:.6rem;margin:1rem 0;color:var(--ecf-muted);font-size:.9rem}.shell .buildings-loading:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--ecf-border-strong);border-top-color:var(--ecf-accent);animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.shell .ui-badge{display:inline-flex;align-items:center;gap:.35rem;height:22px;padding:0 .55rem;border-radius:999px;font-size:.72rem;font-weight:650;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent;background:var(--ecf-canvas-soft);color:var(--ecf-ink-soft)}.shell .ui-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.shell .ui-badge--muted{color:var(--ecf-muted)}.shell .ui-badge--plain:before{display:none}.shell .ui-badge--ok{background:var(--ecf-success-soft);border-color:var(--ecf-success-border);color:#047857}.shell .ui-badge--warn{background:var(--ecf-warning-soft);border-color:var(--ecf-warning-border);color:var(--ecf-warning)}.shell .ui-badge--danger{background:var(--ecf-danger-soft);border-color:var(--ecf-danger-border);color:var(--ecf-danger-strong)}.shell .ui-badge--info{background:var(--ecf-accent-soft);border-color:#c7d7fe;color:var(--ecf-accent-strong)}.shell .ui-badge--violet{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}.shell .buildings-brand{display:inline-flex;align-items:center;height:22px;padding:0 .6rem;border-radius:999px;font-size:.72rem;font-weight:650;background:var(--ecf-canvas-soft);color:var(--ecf-ink-soft);border:1px solid var(--ecf-border)}.shell .buildings-brand--vera{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}.shell .modal-overlay,.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ui-fade .15s ease}.modal-overlay .modal-card{width:100%;max-width:460px;max-height:calc(100dvh - 2rem);overflow:auto;padding:1.5rem;border-radius:var(--ecf-radius-lg);background:#fff;box-shadow:var(--ecf-shadow-lg);animation:ui-pop .18s ease}.modal-overlay .modal-card h3{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:var(--ecf-ink)}.modal-overlay .modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}}.shell .ui-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.shell .ui-kpi{padding:1rem 1.15rem;border:1px solid var(--ecf-border);border-radius:var(--ecf-radius-lg);background:#fff;box-shadow:var(--ecf-shadow)}.shell .ui-kpi-label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ecf-muted)}.shell .ui-kpi-value{display:block;margin-top:.35rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--ecf-ink);font-variant-numeric:tabular-nums}.shell .ui-kpi-hint{display:block;margin-top:.15rem;font-size:.78rem;color:var(--ecf-muted)}.ui-rowmenu{position:relative;display:inline-flex}.ui-rowmenu-trigger{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ecf-border);border-radius:7px;background:#fff;color:var(--ecf-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ui-rowmenu-trigger:hover,.ui-rowmenu-trigger[aria-expanded=true]{background:var(--ecf-subtle);border-color:var(--ecf-border-strong);color:var(--ecf-ink)}.ui-rowmenu-pop{position:fixed;z-index:900;min-width:190px;padding:.35rem;border:1px solid var(--ecf-border);border-radius:10px;background:#fff;box-shadow:var(--ecf-shadow-lg);animation:ui-pop .12s ease}.ui-rowmenu-item{display:flex;align-items:center;gap:.6rem;width:100%;height:34px;padding:0 .65rem;border:0;border-radius:7px;background:none;color:var(--ecf-ink-soft);font-family:inherit;font-size:.85rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}.ui-rowmenu-item svg{flex:none;color:var(--ecf-faint)}.ui-rowmenu-item:hover:not(:disabled){background:var(--ecf-canvas-soft);color:var(--ecf-ink)}.ui-rowmenu-item:hover:not(:disabled) svg{color:var(--ecf-ink-soft)}.ui-rowmenu-item--danger,.ui-rowmenu-item--danger svg{color:var(--ecf-danger-strong)}.ui-rowmenu-item--danger:hover:not(:disabled){background:var(--ecf-danger-soft);color:#991b1b}.ui-rowmenu-item--danger:hover:not(:disabled) svg{color:#991b1b}.ui-rowmenu-item:disabled{opacity:.5;cursor:not-allowed}.ui-rowmenu-sep{height:1px;margin:.3rem .2rem;background:var(--ecf-border)}@media(max-width:720px){.shell .portal-page-inner{padding:1.25rem 1rem 2.5rem}.shell .portal-page-title{font-size:1.35rem}.shell .portal-card-header,.shell .portal-card-body{padding-left:1rem;padding-right:1rem}.shell .portal-page-hero{align-items:flex-start}.shell .ui-toolbar{padding:.85rem 1rem}.shell .ui-search{flex-basis:100%;max-width:none}.shell .ui-toolbar-end{width:100%;margin-left:0}.shell .ui-toolbar-end>*{flex:1 1 140px;min-width:0}.shell .ui-cell-title{min-width:11rem}}
