@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--ru-bg-900: #050d16;--ru-bg-850: #081524;--ru-bg-800: #0f2741;--ru-bg-700: #101e2e;--ru-surface: #edf3f9;--ru-surface-soft: #f7fafe;--ru-white: #ffffff;--ru-primary: #1769ff;--ru-primary-strong: #0f4ecc;--ru-accent: #ff8a00;--ru-success: #0fa968;--ru-danger: #d63a45;--ru-ink: #12263a;--ru-ink-soft: #5b7590;--ru-border: rgba(184, 207, 229, .8);--ru-border-strong: rgba(201, 220, 238, .28);--shadow-panel: 0 18px 36px rgba(5, 13, 22, .32);--shadow-soft: 0 10px 24px rgba(15, 39, 65, .14)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:Sora,Trebuchet MS,Segoe UI,sans-serif;color:#e7f1fb;background:linear-gradient(120deg,var(--ru-bg-900) 0%,var(--ru-bg-850) 45%,var(--ru-bg-800) 100%);overflow-x:hidden}a{color:inherit;text-decoration:none}input,select,button,textarea{font:inherit}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-content:center;width:1.15rem;height:1.15rem;flex-shrink:0;margin:0;vertical-align:middle;border:2px solid #17375a;border-radius:4px;background:#17375a;color:#fff;cursor:pointer}input[type=checkbox]:checked{background:#0f4ecc;border-color:#0f4ecc}input[type=checkbox]:checked:after{content:"";width:.3rem;height:.55rem;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}input[type=checkbox]:focus-visible{outline:3px solid #0f4ecc;outline-offset:3px}input[type=checkbox]:disabled{cursor:not-allowed;background:#4d6680;border-color:#4d6680;opacity:1}@media (forced-colors: active){input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}input[type=checkbox]:checked:after{content:none}}.app-shell{position:relative;min-height:100vh;padding:clamp(14px,2vw,28px)}.app-shell:before,.app-shell:after{content:"";position:fixed;z-index:0;border-radius:999px;pointer-events:none}.app-shell:before{width:min(38vw,460px);height:min(38vw,460px);top:-160px;left:-120px;background:radial-gradient(circle at center,#2a78ff4d,#2a78ff00 72%)}.app-shell:after{width:min(42vw,520px);height:min(42vw,520px);right:-200px;bottom:-230px;background:radial-gradient(circle at center,#ff8a002b,#ff8a0000 70%)}.topbar,.content-shell{position:relative;z-index:2}.topbar{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(420px,1.7fr) minmax(230px,.9fr);align-items:center;gap:.85rem;padding:clamp(12px,1.5vw,18px);border:1px solid var(--ru-border-strong);border-radius:22px;background:#081524b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 28px #02080f73;animation:rise-in .45s ease-out both;position:sticky;top:10px;z-index:40}.topbar-zone{min-width:0}.topbar-brand{justify-self:start}.brand-block{display:flex;align-items:center;gap:.78rem;min-width:0}.brand-mark{width:48px;height:48px;border-radius:14px;box-shadow:0 8px 22px #06111d59;flex:0 0 auto}.brand-copy{min-width:0}.brand-kicker{margin:0;color:#9bb8d7;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:700;line-height:1.1}.brand-title{margin:.1rem 0 0;color:#f6fbff;font-family:Space Grotesk,Sora,sans-serif;font-weight:700;font-size:clamp(1.22rem,1.7vw,1.56rem);line-height:1;white-space:nowrap}.brand-dot{color:var(--ru-accent)}.brand-subtitle{margin:.15rem 0 0;color:#a6bed6c7;font-size:.68rem;font-weight:600;letter-spacing:.03em;line-height:1.1;white-space:nowrap}.main-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.42rem}.main-nav a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:.5rem .78rem;border-radius:999px;border:1px solid rgba(167,193,220,.3);color:#bfd4ea;font-size:.78rem;font-weight:600;letter-spacing:.02em;background:#ffffff0a;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.main-nav a:hover{transform:translateY(-1px);border-color:#b7d2ed8c;background:#ffffff17}.main-nav a.router-link-active{color:#fff;border-color:transparent;background:linear-gradient(115deg,var(--ru-primary) 0%,var(--ru-primary-strong) 100%);box-shadow:0 9px 20px #1769ff59}.content-shell{margin-top:1rem}.view-page{display:grid;gap:.95rem;animation:fade-in .35s ease-out both}.view-header{display:grid;gap:.42rem;max-width:900px;padding:.65rem .2rem .35rem}.view-kicker{margin:0;color:#9bb8d7;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700}.view-title{margin:0;color:#f5faff;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.78rem,3.3vw,2.68rem);line-height:1.05}.view-description{margin:0;color:#b7cde4;font-size:.96rem;max-width:70ch}.meta-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}.meta-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .72rem;border-radius:999px;border:1px solid rgba(184,207,229,.5);background:#ffffff12;color:#e5f1fd;font-size:.76rem;font-weight:600}.meta-pill-ok{border-color:#0fa96880;background:#0fa9682b}.panel-card{display:grid;gap:1rem;padding:clamp(14px,2vw,24px);border-radius:24px;border:1px solid var(--ru-border);background:var(--ru-surface);color:var(--ru-ink);box-shadow:var(--shadow-panel)}.section-block{display:grid;gap:.95rem}.section-head{display:grid;gap:.26rem}.section-title{margin:0;color:var(--ru-ink);font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.2rem,2vw,1.7rem)}.section-caption{margin:0;color:var(--ru-ink-soft);font-size:.86rem}.filtros{display:grid;gap:.75rem}.filtros-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.filtros-activaciones{grid-template-columns:repeat(4,minmax(160px,1fr))}.filtros-lista{grid-template-columns:repeat(3,minmax(170px,1fr))}.filtros-usuarios{grid-template-columns:repeat(4,minmax(150px,1fr))}.filtros label{display:flex;flex-direction:column;gap:.42rem}.field-label{color:var(--ru-ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.67rem;font-weight:700}.input-texto,.input-editar{width:100%;min-height:42px;border:1px solid var(--ru-border);border-radius:14px;padding:.66rem .78rem;color:var(--ru-ink);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.textarea-texto{width:100%;min-height:120px;border:1px solid var(--ru-border);border-radius:14px;padding:.66rem .78rem;color:var(--ru-ink);background:#fff;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}.input-texto::placeholder,.input-editar::placeholder,.textarea-texto::placeholder{color:#7b94ad}.input-texto:focus,.input-editar:focus,.textarea-texto:focus{outline:none;border-color:#1769ff85;box-shadow:0 0 0 3px #1769ff26}.toolbar-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem}.toolbar-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}button{background:#17375a;color:#fff;border:0;border-radius:12px;cursor:pointer}.boton,.boton-exportar{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border-radius:12px;border:1px solid rgba(16,42,67,.08);background:#17375a;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.boton:hover:not(:disabled),.boton-exportar:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-soft)}button:disabled,.boton:disabled,.boton-exportar:disabled{cursor:not-allowed;opacity:1;filter:grayscale(1);transform:none;box-shadow:none}.boton-exportar,.boton-primario{background:linear-gradient(112deg,var(--ru-primary) 0%,var(--ru-primary-strong) 100%);border-color:transparent;color:#fff}.boton-editar{background:#7c4b00;color:#fff}.boton-eliminar{background:#8b232d;color:#fff}.boton-guardar{background:#0f6a44;color:#fff}.boton-cancelar{background:#4d6680;color:#fff}.estado-etiqueta{display:inline-flex;border-radius:999px;padding:.25rem .58rem;font-size:.7rem;font-weight:700}.estado-activo{background:#e6f7ef;color:#0f6a44}.estado-inhabilitado{background:#fde8ea;color:#8b232d}.panel-empty{margin:0;border:1px dashed rgba(109,140,169,.55);border-radius:16px;padding:.95rem;color:var(--ru-ink-soft);background:#f3f8fd;font-weight:500}.table-wrap{overflow:auto;border:1px solid var(--ru-border);border-radius:16px;background:var(--ru-white)}.activaciones-table-wrap{height:clamp(360px,62vh,700px);scrollbar-gutter:stable both-edges}.activaciones-resumen-wrap .tabla-activaciones{width:100%;min-width:880px}.activacion-row{cursor:pointer}.resultado-etiqueta{display:inline-flex;border-radius:999px;padding:.24rem .55rem;background:#e6f7ef;color:#0f6a44;font-size:.7rem;font-weight:700}.resultado-error{background:#fde8ea;color:#8b232d}.modulo-table-wrap{height:clamp(300px,56vh,620px);scrollbar-gutter:stable both-edges}.tabla-activaciones,.tabla-impulsadores,.tabla-usuarios{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;color:var(--ru-ink);font-size:.82rem}.tabla-activaciones th,.tabla-impulsadores th,.tabla-usuarios th{position:sticky;top:0;z-index:1;background:var(--ru-bg-700);color:#dbe9f7;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.7rem;border-bottom:1px solid rgba(171,194,216,.35);text-align:left}.tabla-activaciones td,.tabla-impulsadores td,.tabla-usuarios td{padding:.65rem .7rem;border-bottom:1px solid #dce8f4;white-space:nowrap;max-width:420px;text-overflow:ellipsis;overflow:hidden}.tabla-activaciones tbody tr:nth-child(2n) td,.tabla-impulsadores tbody tr:nth-child(2n) td,.tabla-usuarios tbody tr:nth-child(2n) td{background:#f8fbff}.tabla-activaciones tbody tr:hover td,.tabla-impulsadores tbody tr:hover td,.tabla-usuarios tbody tr:hover td{background:#e9f3fe}.tabla-activaciones tbody tr:last-child td,.tabla-impulsadores tbody tr:last-child td,.tabla-usuarios tbody tr:last-child td{border-bottom:none}.link-foto{display:inline-flex;align-items:center;padding:.24rem .58rem;border-radius:999px;background:#1769ff1c;color:#1450bc;font-weight:700;font-size:.73rem}.metrics-panel{gap:.95rem}.filtros-metricas{grid-template-columns:repeat(5,minmax(150px,1fr))}.filtros-metricas-v2{grid-template-columns:repeat(3,minmax(180px,1fr))}.metrics-dashboard{display:grid;gap:.85rem}.kpi-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:.65rem}.kpi-card{position:relative;border-radius:16px;border:1px solid var(--ru-border);background:linear-gradient(168deg,#fff,#eff5fc);padding:.82rem .84rem;box-shadow:var(--shadow-soft);overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(112deg,var(--ru-primary) 0%,#4a97ff 100%)}.kpi-label{margin:0;color:#5e7b98;text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:700}.kpi-value{margin:.34rem 0 0;color:#123555;font-family:Space Grotesk,Sora,sans-serif;font-size:1.45rem;font-weight:700;line-height:1}.kpi-note{margin:.38rem 0 0;color:#5f7894;font-size:.75rem;line-height:1.3}.metrics-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.analytics-card{display:grid;gap:.68rem;border-radius:16px;border:1px solid var(--ru-border);background:#f8fbff;padding:.92rem;box-shadow:var(--shadow-soft)}.analytics-title{margin:0;color:#143756;font-family:Space Grotesk,Sora,sans-serif;font-size:1rem}.analytics-subtitle{margin:-.35rem 0 0;color:#617d98;font-size:.79rem;line-height:1.3}.metric-list,.ranking-list{display:grid;gap:.58rem}.metric-row,.ranking-row{display:grid;gap:.32rem}.metric-row-head,.ranking-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;color:#1f4467;font-size:.78rem}.metric-row-head strong,.ranking-head strong{margin:0;font-weight:700}.metric-row-head span,.ranking-head span{color:#5e7a95;font-size:.73rem;font-weight:600}.ranking-head strong{max-width:65%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-track{height:10px;border-radius:999px;background:#d6e6f4;overflow:hidden}.metric-fill{height:100%;border-radius:999px;background:linear-gradient(110deg,var(--ru-primary) 0%,#2d7cff 100%)}.metric-fill-soft{background:linear-gradient(110deg,#467fce,#74abec)}.metric-fill-danger{background:linear-gradient(110deg,#ba2d3b,#e45b6a)}.metric-row-meta{margin:0;color:#66819b;font-size:.71rem}.analytics-empty{margin:0;border:1px dashed rgba(109,140,169,.48);border-radius:12px;padding:.65rem;color:#66829d;font-size:.78rem}.analytics-card-wide{width:100%}.hierarchy-chart{display:grid;gap:.6rem}.hierarchy-legend{display:flex;flex-wrap:wrap;gap:.42rem .78rem}.hierarchy-legend-item{display:inline-flex;align-items:center;gap:.36rem;color:#325473;font-size:.74rem;font-weight:600}.hierarchy-legend-dot{width:10px;height:10px;border-radius:999px}.hierarchy-header{display:grid;grid-template-columns:minmax(260px,2.2fr) minmax(220px,3fr) 170px;align-items:center;gap:.68rem;padding:0 .68rem;color:#5d7993;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.hierarchy-body{border:1px solid #d5e4f3;border-radius:14px;background:#fff;max-height:560px;overflow:auto}.hierarchy-row{display:grid;grid-template-columns:minmax(260px,2.2fr) minmax(220px,3fr) 170px;align-items:center;gap:.68rem;padding:.56rem .68rem;border-bottom:1px solid #e2ecf6}.hierarchy-row:last-child{border-bottom:none}.hierarchy-row-group-start{border-top:1px solid #d2e2f2}.hierarchy-row-plaza{background:#f5f9ff}.hierarchy-label{display:flex;align-items:center;gap:.45rem;min-width:0}.hierarchy-row-distrito .hierarchy-label{padding-left:1.1rem}.hierarchy-color{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.hierarchy-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#204463;font-size:.8rem}.hierarchy-row-plaza .hierarchy-main{color:#123758;font-weight:700}.hierarchy-parent{margin-left:auto;border:1px solid #cfdff0;background:#eef5fd;color:#486886;border-radius:999px;padding:.18rem .46rem;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-track{width:100%;height:12px;border-radius:999px;background:#dce8f4;overflow:hidden}.hierarchy-bar{height:100%;border-radius:999px;transition:width .3s ease}.hierarchy-row-plaza .hierarchy-bar{box-shadow:inset 0 0 0 1px #0a21380d}.hierarchy-value{text-align:right;color:#365a79;font-size:.76rem;font-weight:700;white-space:nowrap}.insights-grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:.56rem}.insight-card{border-radius:14px;border:1px solid #d7e4f1;padding:.68rem .72rem}.insight-title{margin:0;text-transform:uppercase;letter-spacing:.07em;font-size:.64rem;font-weight:700;color:#3f5f80}.insight-text{margin:.3rem 0 0;color:#1f4365;font-size:.79rem;line-height:1.3}.insight-ok{background:#ecf9f2;border-color:#bee7d2}.insight-info{background:#edf5ff;border-color:#c4ddf8}.insight-warn{background:#fff7e8;border-color:#f2ddb2}.insight-alert{background:#fdecef;border-color:#f3c6cf}.insight-alert .insight-title{color:#922432}.subtitulo{margin:0 0 .7rem;color:#143756;font-size:1.02rem;font-family:Space Grotesk,Sora,sans-serif}.subtitulo-inline{margin:0}.scope-pill{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.2rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.scope-pill-all{background:#e7f2ff;color:#134a9c}.scope-pill-user{background:#ebf8ef;color:#0d6941}.forms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}.formulario-registro{border:1px solid var(--ru-border);background:var(--ru-surface-soft);border-radius:18px;padding:1rem;box-shadow:var(--shadow-soft)}.formulario-campos{display:grid;gap:.65rem}.capacity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem}.capacity-card{border:1px solid var(--ru-border);border-radius:14px;background:#f5f9fe;padding:.72rem .78rem;display:grid;gap:.24rem}.capacity-label{margin:0;color:var(--ru-ink-soft);font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.capacity-value{margin:0;color:var(--ru-ink);font-size:1.18rem;font-family:Space Grotesk,Sora,sans-serif;font-weight:700;line-height:1.05}.capacity-detail{margin:0;color:#45617c;font-size:.72rem}.capacity-chips{display:flex;flex-wrap:wrap;gap:.36rem}.capacity-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .5rem;border:1px solid rgba(72,111,148,.22);background:#fff;color:#24496d;font-size:.67rem;font-weight:600;line-height:1.1}.acciones{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.mensaje-error{margin:0;color:#8f2332;background:#fde9ed;border:1px solid #f6cfd7;border-radius:12px;padding:.55rem .75rem;font-weight:600}.toast-stack{position:fixed;top:14px;right:14px;z-index:140;width:min(360px,calc(100vw - 22px));display:grid;gap:.56rem;pointer-events:none}.toast-item{pointer-events:auto;display:flex;align-items:flex-start;gap:.64rem;padding:.64rem .72rem;border-radius:14px;border:1px solid #d7e3f0;background:#fff;color:#15395a;box-shadow:0 14px 28px #07142038}.toast-success{border-left:4px solid #0fa968}.toast-error{border-left:4px solid #d63a45}.toast-warning{border-left:4px solid #d58a00}.toast-info{border-left:4px solid #1769ff}.toast-content{display:grid;gap:.22rem;min-width:0;flex:1}.toast-title{margin:0;color:#123858;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.toast-message{margin:0;color:#295072;font-size:.8rem;line-height:1.35}.toast-close{border:0;background:#294e70;color:#fff;font-size:1.05rem;line-height:1;padding:.08rem .16rem;cursor:pointer}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:1rem;background:#050d168f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.capacity-source-badge,.notification-stat{justify-self:start;display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .48rem;background:#e5f6ed;color:#17623c;font-size:.68rem;font-weight:700}.capacity-source-estimated,.notification-stat-pending{background:#fff1cf;color:#865c00}.notification-stat-sent{background:#e8f1ff;color:#245891}.notification-stat-read{background:#e5f6ed;color:#17623c}.capacity-progress{height:.55rem;overflow:hidden;border-radius:999px;background:#dce6ef}.capacity-progress span{display:block;height:100%;border-radius:inherit;background:#2a9d62;transition:width .18s ease}.capacity-progress-warning span{background:#d99a16}.capacity-progress-critical span{background:#cf3f45}.notification-message-details{min-width:12rem;max-width:30rem}.notification-message-details summary{cursor:pointer;color:#24496d}.notification-message-details p{margin:.55rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.kpi-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dashboard-charts-grid,.dashboard-chart-card,.heat-map-card,.heat-map-header{min-width:0}.dashboard-chart-card{min-height:250px}.analytics-title,.analytics-subtitle{overflow-wrap:anywhere}.heat-map-card{display:grid;gap:.8rem}.heat-map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.metrics-heat-map{width:100%;height:clamp(340px,52vh,560px);min-width:0;border:1px solid var(--ru-border);border-radius:14px;overflow:hidden;background:#e8f0f7}.metrics-heat-map .leaflet-tooltip{max-width:240px;white-space:normal;color:#173b5d;font-size:.76rem}.metrics-saas,.metrics-saas-content{min-width:0}.metrics-saas{gap:1rem}.metrics-saas-header,.metrics-filter-head,.metrics-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-width:0}.metrics-heading{min-width:0;max-width:760px}.metrics-filter-card,.metrics-chart-card{min-width:0;border:1px solid var(--ru-border);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.metrics-filter-card{display:grid;gap:.9rem;padding:1rem}.metrics-filter-head h2,.metrics-chart-card h3{margin:0;color:#143b5e;font-family:Space Grotesk,Sora,sans-serif;overflow-wrap:anywhere}.metrics-filter-head p,.metrics-chart-card>p,.metrics-card-heading p{margin:.25rem 0 0;color:var(--ru-ink-soft);font-size:.78rem;line-height:1.4}.metrics-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.metrics-saas-content{display:grid;gap:1rem}.metrics-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;min-width:0}.metrics-kpi-card{min-width:0;min-height:142px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:.75rem;padding:1rem;border:1px solid var(--ru-border);border-radius:18px;background:linear-gradient(155deg,#fff,#f4f8fd);box-shadow:var(--shadow-soft)}.metrics-kpi-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e3efff;color:var(--ru-primary);font-size:1.15rem;font-weight:800}.metrics-kpi-label,.metrics-kpi-value,.metrics-kpi-note{margin:0;overflow-wrap:anywhere}.metrics-kpi-label{color:#55728e;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.metrics-kpi-value{margin-top:.35rem;color:#102f4c;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.7rem,2.5vw,2.25rem);font-weight:700;line-height:1}.metrics-kpi-note{margin-top:.45rem;color:#6a849c;font-size:.72rem;line-height:1.35}.metrics-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1rem;min-width:0}.metrics-chart-card{min-height:310px;padding:1.1rem;overflow:hidden}.metrics-map-card{min-height:460px}.chart-card-wide{grid-column:1 / -1}.dashboard-bars{display:grid;gap:.62rem;margin-top:.8rem}.dashboard-bar-row{display:grid;grid-template-columns:minmax(90px,150px) minmax(0,1fr) 42px;align-items:center;gap:.65rem;min-width:0;color:#24496d;font-size:.76rem}.dashboard-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-bar-row>strong{text-align:right}.detalle-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:flex;justify-content:flex-end;background:#050d1694;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.detalle-activacion{width:min(760px,94vw);height:100%;display:flex;flex-direction:column;background:var(--ru-surface);color:var(--ru-ink);box-shadow:-20px 0 48px #050d1647}.detalle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--ru-border);background:#f6faff}.detalle-title{margin:.2rem 0 0;color:#113657;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.15rem,2vw,1.55rem)}.detalle-close{border:1px solid var(--ru-border);border-radius:10px;width:38px;height:38px;background:#294e70;color:#fff;font-size:1.35rem;cursor:pointer}.detalle-body{overflow-y:auto;display:grid;gap:1rem;padding:1.1rem 1.25rem 1.5rem}.detalle-section{border:1px solid var(--ru-border);border-radius:16px;padding:.9rem;background:#fff}.detalle-section h4{margin:0 0 .75rem;color:#17466f;font-size:.92rem}.detalle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0}.detalle-field{min-width:0;padding:.65rem;border-radius:11px;background:#f3f8fd}.detalle-field-wide{grid-column:1 / -1}.detalle-field dt{margin-bottom:.25rem;color:var(--ru-ink-soft);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.detalle-field dd{margin:0;overflow-wrap:anywhere;color:#173b5d;font-size:.84rem;line-height:1.4}.detalle-thumbnail{width:min(240px,100%);max-height:180px;border-radius:12px;object-fit:cover;border:1px solid var(--ru-border)}.edicion-activacion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;padding:0;border:0}.edicion-activacion label{display:flex;flex-direction:column;gap:.4rem;min-width:0}.edicion-activacion textarea{resize:vertical}.edicion-field-wide{grid-column:1 / -1}.confirm-modal{width:min(460px,100%);border-radius:18px;border:1px solid #c5d9ed;background:var(--ru-surface);color:var(--ru-ink);padding:1rem;box-shadow:0 22px 46px #050d1652}.confirm-title{margin:0;color:#113657;font-family:Space Grotesk,Sora,sans-serif;font-size:1.12rem}.confirm-message{margin:.56rem 0 0;color:#456583;font-size:.9rem;line-height:1.45}.confirm-actions{margin-top:.95rem;display:flex;justify-content:flex-end;gap:.52rem}.toast-list-enter-active,.toast-list-leave-active{transition:transform .2s ease,opacity .2s ease}.toast-list-enter-from,.toast-list-leave-to{opacity:0;transform:translateY(-8px) scale(.97)}.confirm-dialog-enter-active,.confirm-dialog-leave-active{transition:opacity .18s ease}.confirm-dialog-enter-from,.confirm-dialog-leave-to{opacity:0}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1080px){.topbar{grid-template-columns:1fr;align-items:stretch}.main-nav{justify-content:flex-start}.session-user{justify-content:space-between}.session-copy{text-align:left}.filtros-grid,.filtros-activaciones{grid-template-columns:repeat(2,minmax(160px,1fr))}.filtros-metricas{grid-template-columns:repeat(3,minmax(150px,1fr))}.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.hierarchy-header,.hierarchy-row{grid-template-columns:minmax(210px,2fr) minmax(180px,2.6fr) 145px}}@media (max-width: 820px){.metrics-kpi-grid,.metrics-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filtros-metricas-v2{grid-template-columns:repeat(2,minmax(150px,1fr))}.kpi-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts-grid{grid-template-columns:1fr}.chart-card-wide{grid-column:auto}.forms-grid,.capacity-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.metrics-columns{grid-template-columns:1fr}.hierarchy-header{display:none}.hierarchy-row{grid-template-columns:1fr;gap:.45rem}.hierarchy-track{height:10px}.hierarchy-value{text-align:left}.view-title{font-size:clamp(1.6rem,8vw,2.2rem)}}@media (max-width: 620px){.topbar{gap:.72rem;padding:.85rem;border-radius:18px}.brand-mark{width:42px;height:42px;border-radius:12px}.main-nav{gap:.35rem}.main-nav a{min-height:36px;padding:.46rem .66rem;font-size:.74rem}.session-user{align-items:stretch;flex-direction:column;gap:.55rem}.session-copy span{max-width:100%}.session-user .boton{width:100%}.metrics-saas-header,.metrics-filter-head,.metrics-card-heading{align-items:stretch;flex-direction:column}.metrics-saas-header>.boton{width:100%}.metrics-kpi-grid,.metrics-filter-grid{grid-template-columns:1fr}.metrics-kpi-card{min-height:128px}.metrics-chart-card{min-height:280px;padding:.85rem}.filtros-metricas-v2,.kpi-grid-v2{grid-template-columns:1fr}.dashboard-bar-row{grid-template-columns:minmax(82px,110px) minmax(0,1fr) 34px;gap:.42rem}.detalle-activacion{width:100%}.detalle-header,.detalle-body{padding-left:.85rem;padding-right:.85rem}.detalle-grid{grid-template-columns:1fr}.detalle-field-wide{grid-column:auto}.edicion-activacion{grid-template-columns:1fr}.edicion-field-wide{grid-column:auto}.app-shell{padding:10px}.topbar,.panel-card{border-radius:18px}.main-nav{width:100%}.main-nav a{flex:1 1 calc(50% - .5rem);text-align:center}.filtros-grid,.filtros-activaciones,.filtros-metricas,.kpi-grid,.insights-grid{grid-template-columns:1fr}.toast-stack{top:auto;right:11px;left:11px;bottom:11px;width:auto}.toast-item{padding:.62rem .66rem}}.auth-loading,.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:var(--ru-bg)}.login-card{width:min(420px,100%);display:grid;gap:.8rem;padding:1.4rem;border-radius:20px;background:#fff;box-shadow:var(--shadow-card)}.login-card h1,.login-card p{margin:0}.login-card form{display:grid;gap:.8rem}.login-card label{display:grid;gap:.4rem}.session-user{display:flex;align-items:center;justify-content:flex-end;gap:.68rem;color:#e8f3ff}.session-copy{display:grid;gap:.08rem;min-width:0;text-align:right}.session-copy span{max-width:180px;overflow:hidden;font-size:.82rem;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.session-user small{text-transform:capitalize;color:#aac5df;font-size:.7rem;line-height:1.1}.session-user .boton{min-height:38px;padding:.5rem .78rem;white-space:nowrap}.activaciones-paginacion{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.75rem}.tabla-cargando{opacity:.55;transition:opacity .15s ease}
