.splash-leave-active{transition:opacity .6s ease-out}.splash-leave-to{opacity:0}:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--primary-glow: rgba(99, 102, 241, .15);--primary-shadow: rgba(99, 102, 241, .4);--light-bg: #eef2f7;--card-bg: #ffffff;--text-color: #1e293b;--text-secondary: #334155;--text-light: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-light: #f1f5f9;--success-color: #10b981;--success-bg: #d1fae5;--success-text: #065f46;--warning-color: #f59e0b;--warning-bg: #fef3c7;--warning-text: #92400e;--danger-color: #ef4444;--danger-bg: #fee2e2;--danger-text: #991b1b;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow: 0 4px 20px -2px rgba(0, 0, 0, .08), 0 2px 6px -1px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .06);--shadow-colored: 0 8px 24px -4px rgba(99, 102, 241, .2);--border-radius: 12px;--border-radius-sm: 8px;--chart-tooltip-bg: #1e293b;--chart-tooltip-title: #f8fafc;--chart-tooltip-body: #94a3b8;--chart-grid: rgba(0, 0, 0, .04);--input-bg: #f8fafc;--input-bg-focus: #ffffff;--row-hover: #faf9ff;--th-bg-start: #f5f3ff;--th-bg-end: #ede9fe;--th-border: #ddd6fe;--overlay-bg: rgba(255, 255, 255, .82);--skeleton-base: #e2e8f0;--skeleton-shine: #f1f5f9;color-scheme:light}[data-theme=dark]{--primary-glow: rgba(99, 102, 241, .22);--light-bg: #0d1117;--card-bg: #161b22;--text-color: #e6edf3;--text-secondary: #c9d1d9;--text-light: #8b949e;--text-muted: #6e7681;--border-color: #30363d;--border-light: #21262d;--shadow: 0 4px 20px -2px rgba(0, 0, 0, .4), 0 2px 6px -1px rgba(0, 0, 0, .25);--success-bg: #0d2818;--success-text: #3fb950;--warning-bg: #2b1d00;--warning-text: #d29922;--danger-bg: #2d0f0f;--danger-text: #f85149;--chart-tooltip-bg: #0d1117;--chart-tooltip-title: #e6edf3;--chart-tooltip-body: #8b949e;--chart-grid: rgba(255, 255, 255, .05);--input-bg: #0d1117;--input-bg-focus: #161b22;--row-hover: #1c2128;--th-bg-start: #1a1744;--th-bg-end: #22185a;--th-border: #312e81;--overlay-bg: rgba(13, 17, 23, .88);--skeleton-base: #21262d;--skeleton-shine: #30363d;color-scheme:dark}input[type=text],input[type=date],input[type=number],textarea,.control-select,.form-select{background-color:var(--input-bg);color:var(--text-color)}input[type=text]:focus,input[type=date]:focus,input[type=number]:focus,textarea:focus,.control-select:focus,.form-select:focus{background-color:var(--input-bg-focus)}input::placeholder,textarea::placeholder{color:var(--text-muted)}#alerts-table thead th,#logs-table thead th,#targets-table thead th{background:linear-gradient(135deg,var(--th-bg-start) 0%,var(--th-bg-end) 100%);border-bottom-color:var(--th-border)}#alerts-table tbody tr:hover,#logs-table tbody tr:hover,#targets-table tbody tr:hover{background-color:var(--row-hover)}.loading-overlay{background:var(--overlay-bg)}.btn-secondary{background-color:var(--input-bg);border-color:var(--border-color);color:var(--text-light)}.pag-btn{background:var(--card-bg);border-color:var(--border-color);color:var(--text-light)}.pag-btn:hover:not(:disabled){background:var(--primary-glow)}.col-picker-dropdown{background:var(--card-bg);border-color:var(--border-color)}.col-picker-item{color:var(--text-secondary);border-bottom-color:var(--border-light)}.col-picker-footer{background:var(--input-bg);border-top-color:var(--border-color)}.btn-col-picker{background:var(--input-bg);border-color:var(--border-color);color:var(--text-light)}.btn-col-picker:hover{background:var(--row-hover)}[data-theme=dark] .badge-env{background-color:#1e1b4b;color:#a78bfa}[data-theme=dark] .badge-owner-axtel{background-color:#172038;color:#60a5fa}[data-theme=dark] .badge-owner-cliente{background-color:#2d1534;color:#f0abfc}[data-theme=dark] .status-ok{background-color:#0d2818;color:#3fb950}[data-theme=dark] .status-warning{background-color:#2b1d00;color:#d29922}[data-theme=dark] .status-expired{background-color:#2d0f0f;color:#f85149}[data-theme=dark] .spotlight-healthy{background:linear-gradient(145deg,#0d2818,#122e1c);border-color:#3fb95066}[data-theme=dark] .spotlight-warning{background:linear-gradient(145deg,#2b1d00,#362400);border-color:#d2992266}[data-theme=dark] .spotlight-expired{background:linear-gradient(145deg,#2d0f0f,#3d1414);border-color:#f8514966}[data-theme=dark] .spotlight-divider{background:#ffffff1f}[data-theme=dark] .dci-amber{background:#f59e0b2e}[data-theme=dark] .dci-danger{background:#ef44442e}[data-theme=dark] .dci-primary{background:#6366f12e}[data-theme=dark] .dci-violet{background:#8b5cf62e}[data-theme=dark] .modal-overlay{background:#000000b8}[data-theme=dark] .modal-content{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .modal-content h3{background:linear-gradient(135deg,#1a1744,#1c2128);border-bottom-color:var(--border-color);color:var(--text-color)}[data-theme=dark] .modal-content p{color:var(--text-light)}[data-theme=dark] .modal-buttons{background-color:var(--input-bg);border-top-color:var(--border-color)}body,.card,.main-content,input[type=text],input[type=date],input[type=number],textarea,.form-select,.control-select,.btn-secondary,.pag-btn,.col-picker-dropdown,.col-picker-item,.col-picker-footer,.btn-col-picker,.badge-env,.badge-owner,.modal-content,.modal-buttons,.loading-overlay,.spotlight-card,.status-badge{transition:background-color .25s ease,color .2s ease,border-color .25s ease}.theme-switcher{display:flex;align-items:center;gap:3px;padding:10px 10px 12px;border-bottom:1px solid rgba(255,255,255,.07)}.theme-switcher-label{font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#ffffff3d;flex:1}.theme-btn{width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:#ffffff59;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.82rem;transition:background .15s,color .15s;flex-shrink:0}.theme-btn:hover{color:#ffffffd9;background:#ffffff1a}.theme-btn-active{background:#a78bfa47!important;color:#a78bfa!important}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--light-bg);color:var(--text-color);font-size:.875rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;overflow:hidden}#app{display:flex;height:100vh;width:100%}#splash-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 15% 15%,rgba(139,92,246,.7) 0%,transparent 50%),radial-gradient(ellipse at 85% 85%,rgba(236,72,153,.6) 0%,transparent 50%),radial-gradient(ellipse at 72% 8%,rgba(6,182,212,.45) 0%,transparent 42%),radial-gradient(ellipse at 18% 82%,rgba(99,102,241,.55) 0%,transparent 45%),linear-gradient(135deg,#06041a,#0f0c29,#1a1744 60%,#2d1f6e);display:flex;justify-content:center;align-items:center;z-index:2000;overflow:hidden;transition:opacity .6s ease-out}.splash-orb{position:absolute;border-radius:50%;filter:blur(72px);pointer-events:none;animation:orbDrift 11s ease-in-out infinite}.splash-orb-1{width:520px;height:520px;background:radial-gradient(circle,rgba(139,92,246,.5) 0%,transparent 70%);top:-160px;left:-160px;animation-delay:0s}.splash-orb-2{width:440px;height:440px;background:radial-gradient(circle,rgba(236,72,153,.45) 0%,transparent 70%);bottom:-130px;right:-130px;animation-delay:-4.5s}.splash-orb-3{width:320px;height:320px;background:radial-gradient(circle,rgba(6,182,212,.38) 0%,transparent 70%);top:18%;right:6%;animation-delay:-7.5s}.splash-orb-4{width:280px;height:280px;background:radial-gradient(circle,rgba(99,102,241,.45) 0%,transparent 70%);bottom:22%;left:4%;animation-delay:-2.2s}@keyframes orbDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(28px,-22px) scale(1.07)}66%{transform:translate(-18px,18px) scale(.93)}}.splash-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.splash-icon-wrapper{position:relative;width:112px;height:112px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.splash-ring{position:absolute;border-radius:50%;opacity:0;animation:ringPulse 3s ease-out infinite}.splash-ring-1{width:112px;height:112px;border:1.5px solid rgba(167,139,250,.95);animation-delay:0s}.splash-ring-2{width:112px;height:112px;border:1.5px solid rgba(244,114,182,.75);animation-delay:.75s}.splash-ring-3{width:112px;height:112px;border:1.5px solid rgba(6,182,212,.55);animation-delay:1.5s}.splash-ring-4{width:112px;height:112px;border:1.5px solid rgba(99,102,241,.4);animation-delay:2.25s}@keyframes ringPulse{0%{transform:scale(.65);opacity:1}to{transform:scale(3.4);opacity:0}}.splash-icon{width:88px;height:88px;border-radius:28px;background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:#fff;animation:iconGlow 3.5s ease-in-out infinite}@keyframes iconGlow{0%,to{box-shadow:0 0 0 1px #ffffff1f inset,0 12px 40px #8b5cf699,0 4px 16px #ec489966,0 0 55px #6366f140;transform:translateY(0) rotate(0)}50%{box-shadow:0 0 0 1px #ffffff2e inset,0 22px 65px #8b5cf6eb,0 8px 28px #ec489999,0 0 100px #6366f18c;transform:translateY(-10px) rotate(-4deg)}}.splash-text-group{display:flex;flex-direction:column;gap:7px}.splash-title{font-size:2.1rem;font-weight:800;background:linear-gradient(90deg,#e0e7ff,#c4b5fd,#f9a8d4,#c4b5fd,#e0e7ff);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.025em;animation:shimmerText 3.5s linear infinite}@keyframes shimmerText{0%{background-position:0% center}to{background-position:200% center}}.splash-subtitle{font-size:.77rem;color:#ffffff61;font-weight:400;letter-spacing:.05em}.splash-progress-container{width:210px;height:3px;background:#ffffff14;border-radius:999px;overflow:hidden}.splash-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899,#a855f7,#6366f1);background-size:200% auto;animation:progressFill 2.4s ease-out forwards,progressShimmer 1.8s linear infinite}@keyframes progressFill{0%{width:0%}20%{width:28%}50%{width:58%}80%{width:76%}to{width:86%}}@keyframes progressShimmer{0%{background-position:0% center}to{background-position:200% center}}.splash-status{display:flex;align-items:center;gap:8px;margin-top:-2px}.splash-status-text{font-size:.68rem;color:#ffffff52;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.splash-status-dots{display:flex;gap:4px;align-items:center}.splash-status-dots span{width:4px;height:4px;border-radius:50%;animation:dotBounce 1.2s ease-in-out infinite}.splash-status-dots span:nth-child(1){background:#a78bfad9;animation-delay:0s}.splash-status-dots span:nth-child(2){background:#c4b5fdb3;animation-delay:.2s}.splash-status-dots span:nth-child(3){background:#f472b6bf;animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:scale(.6) translateY(0);opacity:.4}40%{transform:scale(1.5) translateY(-4px);opacity:1}}.sidebar{width:240px;background:linear-gradient(180deg,#1e1b4b,#312e81 55%,#4c1d95);height:100vh;padding:20px;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;box-shadow:4px 0 24px #0003}.logo{margin-bottom:32px;display:flex;align-items:center;gap:11px}.logo-icon-box{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#6366f1,#a855f7);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0;box-shadow:0 4px 14px #6366f18c}.logo-text{display:flex;flex-direction:column;gap:1px}.logo-name{font-size:.92rem;font-weight:800;color:#fff;line-height:1;-webkit-text-fill-color:white}.logo-tagline{font-size:.57rem;font-weight:600;color:#ffffff59;text-transform:uppercase;letter-spacing:.13em}.sidebar nav ul{list-style:none}.sidebar nav ul li a{color:#fff9;text-decoration:none;display:flex;align-items:center;padding:10px 12px;border-radius:var(--border-radius-sm);border-left:3px solid transparent;margin-bottom:4px;transition:background-color .15s,color .15s,border-color .15s;font-weight:500;font-size:.875rem}.sidebar nav ul li a i{margin-right:12px;width:16px;text-align:center;font-size:.875rem}.sidebar nav ul li a:hover{color:#fff;background-color:#ffffff14;border-left-color:#a78bfa4d}.sidebar nav ul li a.active{background:linear-gradient(90deg,#a78bfa38,#6366f11a);color:#fff;border-left-color:#a78bfa;font-weight:700}.user-profile{padding:12px 10px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between}#user-name{font-weight:600;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1;color:#ffffffbf;margin:0 8px}.btn-logout{background:none;border:none;color:#fff6;font-size:1rem;cursor:pointer;transition:color .15s;padding:4px}.btn-logout:hover{color:#f472b6}.user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.72rem;font-weight:800;flex-shrink:0;border:2px solid rgba(255,255,255,.15);text-transform:uppercase}.nav-section-label{display:block;font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#ffffff42;padding:16px 12px 5px}.nav-divider{height:1px;background:#ffffff12;margin:4px 4px 10px}.main-content{flex-grow:1;padding:32px 40px;overflow-y:auto;height:100vh;background:radial-gradient(ellipse at 92% 4%,rgba(99,102,241,.045) 0%,transparent 48%),radial-gradient(ellipse at 4% 94%,rgba(168,85,247,.04) 0%,transparent 48%),var(--light-bg)}[data-theme=dark] .main-content{background:radial-gradient(ellipse at 92% 4%,rgba(99,102,241,.09) 0%,transparent 48%),radial-gradient(ellipse at 4% 94%,rgba(168,85,247,.08) 0%,transparent 48%),var(--light-bg)}.main-content::-webkit-scrollbar{width:5px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.main-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border-color);animation:fadeInDown .35s ease-out}.page-header-left{display:flex;align-items:center;gap:14px}.page-header-icon{width:46px;height:46px;border-radius:14px;background:var(--primary-glow);border:1.5px solid rgba(99,102,241,.18);display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:1.1rem;flex-shrink:0}.page-title{font-size:1.4rem;font-weight:800;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin:0 0 3px}.page-subtitle{font-size:.78rem;color:var(--text-muted);font-weight:400;margin:0;line-height:1.3}.card{position:relative;background:var(--card-bg);border-radius:var(--border-radius);padding:24px;box-shadow:var(--shadow);margin-bottom:24px;border:1px solid var(--border-color);animation:fadeInUp .5s ease-out;animation-fill-mode:backwards}.card h3{font-weight:700;margin-bottom:20px;font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:9px}.card h3:before{content:"";display:inline-block;width:3px;height:13px;background:linear-gradient(to bottom,var(--primary-color),var(--primary-light));border-radius:2px;flex-shrink:0}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.kpi-card{border-radius:var(--border-radius);padding:22px 24px 20px;border:none;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;animation:fadeInUp .5s ease-out both;position:relative;overflow:hidden;cursor:default;transition:transform .2s ease,box-shadow .2s ease}.kpi-card:hover{transform:translateY(-3px)}.kpi-card:before{content:"";position:absolute;bottom:-18px;left:-18px;width:90px;height:90px;border-radius:50%;background:#ffffff12;pointer-events:none}.kpi-card:after{content:"";position:absolute;top:-30px;right:-30px;width:130px;height:130px;border-radius:50%;background:#ffffff12;pointer-events:none}.kpi-card:nth-child(1){animation-delay:0s}.kpi-card:nth-child(2){animation-delay:.07s}.kpi-card:nth-child(3){animation-delay:.14s}.kpi-card:nth-child(4){animation-delay:.21s}.kpi-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 8px 24px #6366f166}.kpi-success{background:linear-gradient(135deg,#047857,#10b981);box-shadow:0 8px 24px #10b98166}.kpi-warning{background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 8px 24px #f59e0b66}.kpi-danger{background:linear-gradient(135deg,#b91c1c,#f87171);box-shadow:0 8px 24px #ef444466}.kpi-top{display:flex;justify-content:flex-end;margin-bottom:6px}.kpi-icon-wrap{width:42px;height:42px;border-radius:12px;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kpi-bottom{display:flex;flex-direction:column;gap:3px}.kpi-value{font-size:2.6rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.025em}.kpi-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#ffffffb8}.charts-container{height:320px;display:flex;justify-content:center;align-items:center}.dashboard-grid,.dashboard-grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:24px}.charts-container-sm{height:260px}.dash-card-header{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-light)}.dash-card-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.82rem;flex-shrink:0}.dci-amber{background:#f59e0b21;color:#d97706}.dci-danger{background:#ef444421;color:#dc2626}.dci-primary{background:#6366f121;color:#6366f1}.dci-violet{background:#8b5cf621;color:#7c3aed}.dash-card-title{font-size:.77rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}#urgente-card{display:flex;flex-direction:column}#alerta-urgente-container{flex:1;min-height:270px;display:flex;align-items:stretch}.spotlight-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:20px 20px 24px;border-radius:14px;text-align:center;position:relative;overflow:hidden}.spotlight-card:after{content:"";position:absolute;bottom:-30px;right:-30px;width:110px;height:110px;border-radius:50%;background:#0000000d;pointer-events:none}.spotlight-expired{background:linear-gradient(145deg,#fee2e2,#fecaca);border:1px solid rgba(252,165,165,.7)}.spotlight-warning{background:linear-gradient(145deg,#fef3c7,#fde68a);border:1px solid rgba(252,211,77,.7)}.spotlight-healthy{background:linear-gradient(145deg,#d1fae5,#a7f3d0);border:1px solid rgba(110,231,183,.7)}.spotlight-status-ring{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:4px}.spotlight-expired .spotlight-status-ring{background:#dc262626;color:#dc2626;box-shadow:0 0 0 5px #dc26261a,0 0 0 10px #dc26260d;animation:spotPulse 2.2s ease-in-out infinite}.spotlight-warning .spotlight-status-ring{background:#b4530924;color:#b45309;box-shadow:0 0 0 5px #d977061a,0 0 0 10px #d977060d;animation:spotPulse 2.8s ease-in-out infinite}.spotlight-healthy .spotlight-status-ring{background:#04785724;color:#047857;box-shadow:0 0 0 5px #10b9811a,0 0 0 10px #10b9810d}@keyframes spotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.spotlight-badge{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:.22rem .85rem;border-radius:999px;background:#00000017;margin-bottom:2px}.spotlight-counter{display:flex;flex-direction:column;align-items:center;gap:1px;margin:4px 0 2px}.spotlight-days{font-size:4.2rem;font-weight:800;line-height:1;color:var(--text-color);letter-spacing:-.03em}.spotlight-days-label{font-size:.78rem;font-weight:600;color:var(--text-light)}.spotlight-divider{width:40px;height:2px;background:#0000001a;border-radius:2px;margin:8px 0 6px}.spotlight-name{font-size:.95rem;font-weight:700;color:var(--text-color);max-width:92%;line-height:1.3}.spotlight-desc{font-size:.78rem;color:var(--text-light);max-width:90%;line-height:1.4}.spotlight-date{font-size:.72rem;font-weight:600;color:var(--text-light);margin-top:6px;display:flex;align-items:center;gap:5px}.no-data-msg{text-align:center;color:var(--text-muted);padding:40px 0;font-size:.875rem}.content-wrapper{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}.content-wrapper.full-width{grid-template-columns:1fr}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:700;color:var(--text-light);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}input[type=text],input[type=date],input[type=number],textarea,.control-select{width:100%;padding:.6rem .8rem;background-color:var(--input-bg);border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:.875rem;color:var(--text-color);transition:border-color .2s,box-shadow .2s,background-color .2s}input[type=text]:focus,input[type=date]:focus,input[type=number]:focus,textarea:focus,.control-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);background-color:var(--input-bg-focus)}input[type=text]:disabled,input[type=date]:disabled,input[type=number]:disabled,textarea:disabled{opacity:.65;cursor:not-allowed}textarea{resize:vertical;min-height:80px}.btn{padding:.55rem 1.1rem;border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-family);font-weight:600;font-size:.875rem;transition:all .15s;letter-spacing:.01em}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 3px 10px #6366f166}.btn-primary:hover{opacity:.9;box-shadow:0 6px 16px #6366f180;transform:translateY(-1px)}.form-buttons{display:flex;gap:10px;margin-top:20px}.form-buttons .btn-primary,.form-buttons .btn-secondary{flex-grow:1}.btn-secondary{background-color:var(--input-bg);color:var(--text-light);border:1.5px solid var(--border-color)}.btn-secondary:hover{background-color:var(--row-hover);color:var(--text-secondary)}.btn.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 3px 10px #dc262659}.btn.btn-danger:hover{opacity:.9;box-shadow:0 6px 16px #dc262673;transform:translateY(-1px)}#alerts-table,#logs-table{width:100%;border-collapse:collapse;font-size:.875rem}#logs-table{table-layout:fixed}#logs-table th:nth-child(1),#logs-table td:nth-child(1){width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#logs-table th:nth-child(2),#logs-table td:nth-child(2){width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#alerts-table thead th,#logs-table thead th{text-align:left;padding:.75rem 1rem;background:linear-gradient(135deg,var(--th-bg-start) 0%,var(--th-bg-end) 100%);color:var(--primary-color);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;border-bottom:2px solid var(--th-border);position:sticky;top:0;z-index:10}#alerts-table tbody tr,#logs-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .15s}#alerts-table tbody tr:hover,#logs-table tbody tr:hover{background-color:var(--row-hover)}#alerts-table td,#logs-table td{padding:.75rem 1rem;border:none;color:var(--text-secondary)}#logs-table td{word-wrap:break-word}#alerts-table small{color:var(--text-muted);font-size:.78rem}.col-center{text-align:center}.col-nowrap{white-space:nowrap}.status-badge{display:inline-block;font-size:.72rem;font-weight:700;margin-top:5px;padding:.2rem .6rem;border-radius:999px;letter-spacing:.02em;white-space:nowrap}.status-ok{background-color:var(--success-bg);color:var(--success-text)}.status-warning{background-color:var(--warning-bg);color:var(--warning-text)}.status-expired{background-color:var(--danger-bg);color:var(--danger-text)}.edit-btn,.delete-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;transition:all .18s ease;flex-shrink:0}#alerts-table td:last-child{white-space:nowrap}.edit-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 2px 8px #6366f159;margin-right:6px}.edit-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 14px #6366f180;transform:translateY(-2px) scale(1.03)}.delete-btn{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 2px 8px #ef444459}.delete-btn:hover{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 4px 14px #ef444480;transform:translateY(-2px) scale(1.03)}.edit-btn:active,.delete-btn:active{transform:translateY(0) scale(.98)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header h3{margin-bottom:0}.card-header-actions{display:flex;align-items:center;gap:10px}.btn-excel{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;box-shadow:0 3px 10px #16a34a59;white-space:nowrap}.btn-excel:hover{opacity:.9;box-shadow:0 6px 16px #16a34a73;transform:translateY(-1px)}.search-container{display:flex;align-items:center;width:280px}.search-container input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.search-container .btn{border-top-left-radius:0;border-bottom-left-radius:0;padding:.6rem 1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none}.search-container .btn:hover{opacity:.9}.col-picker-wrap{position:relative}.btn-col-picker{background:var(--input-bg);color:var(--text-light);border:1.5px solid var(--border-color);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn-col-picker:hover{background:var(--row-hover);color:var(--text-secondary)}.col-picker-caret{font-size:.65rem;opacity:.6}.col-picker-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow);z-index:300;min-width:210px;overflow:hidden}.col-picker-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;font-size:.855rem;color:var(--text-secondary);transition:background .1s;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-light)}.col-picker-item:last-of-type{border-bottom:none}.col-picker-item:hover{background:var(--row-hover)}.col-picker-item input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--primary-color);flex-shrink:0}.col-picker-item--disabled{opacity:.45;cursor:default}.col-picker-item--disabled input[type=checkbox]{cursor:not-allowed}.col-picker-lock{margin-left:auto;font-size:.6rem;color:var(--text-muted)}.col-picker-footer{border-top:1px solid var(--border-color);padding:8px 10px;background:#f8fafc}.btn-sm{padding:.32rem .7rem!important;font-size:.78rem!important;width:100%;justify-content:center}.picker-enter-active{transition:opacity .12s ease,transform .12s ease}.picker-leave-active{transition:opacity .1s ease,transform .1s ease}.picker-enter-from,.picker-leave-to{opacity:0;transform:translateY(-6px)}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:16px;flex-wrap:wrap;gap:12px}.pagination-controls{display:flex;align-items:center;gap:16px}.pagination-controls .form-group{margin-bottom:0;display:flex;align-items:center;gap:8px}.pagination-controls .form-group label{margin-bottom:0;white-space:nowrap;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;font-weight:600;color:var(--text-light)}.control-select{width:auto;min-width:80px;padding:.45rem 2rem .45rem .7rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748b' width='18px' height='18px'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:16px;cursor:pointer}.pagination-nav{display:flex;align-items:center;gap:4px}.pag-btn{min-width:32px;height:32px;padding:0 7px;border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--card-bg);color:var(--text-light);font-size:.8rem;font-family:var(--font-family);font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;line-height:1}.pag-btn:hover:not(:disabled){background:var(--primary-glow);border-color:var(--primary-light);color:var(--primary-color)}.pag-btn:disabled{opacity:.3;cursor:not-allowed}.pag-btn-active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff!important;font-weight:700;box-shadow:0 3px 8px #6366f166}.pag-btn-active:hover{opacity:.9}.pag-ellipsis{min-width:28px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem;letter-spacing:.05em;pointer-events:none}@keyframes skeleton-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.skeleton-cell{display:block;border-radius:6px;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% auto;animation:skeleton-shimmer 1.5s linear infinite}.skeleton-row td{padding:.85rem 1rem}.skeleton-chart{height:290px;display:flex;flex-direction:column;justify-content:space-evenly;padding:6px 0}.skeleton-bar-h{height:26px;border-radius:5px}.skeleton-spotlight{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;min-height:220px}.help-tip{position:relative;display:inline-flex;align-items:center;cursor:help;outline:none}.help-tip-icon{font-size:.7rem;color:var(--text-muted);transition:color .15s}.help-tip:hover .help-tip-icon,.help-tip:focus .help-tip-icon{color:var(--primary-color)}.help-tip-box{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;color:#e2e8f0;font-size:.73rem;font-weight:400;text-transform:none;letter-spacing:0;padding:7px 11px;border-radius:8px;white-space:normal;min-width:200px;max-width:280px;line-height:1.55;z-index:9999;box-shadow:0 6px 20px #00000040;pointer-events:none;text-align:left}.help-tip-box:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}[data-theme=dark] .help-tip-box{background:#0d1117;color:#e6edf3;box-shadow:0 6px 20px #00000080}[data-theme=dark] .help-tip-box:after{border-top-color:#0d1117}.ht-enter-active{transition:opacity .15s ease,transform .15s ease}.ht-leave-active{transition:opacity .1s ease}.ht-enter-from{opacity:0;transform:translate(-50%) translateY(4px)}.ht-leave-to{opacity:0}.form-label-row{display:flex;align-items:center;gap:5px;margin-bottom:6px}.form-label-row label{display:inline;margin-bottom:0}.field-hint{display:block;font-size:.71rem;color:var(--text-muted);margin-top:5px;line-height:1.45}.field-required:after{content:" *";color:var(--danger-color);font-weight:700}.form-section-note{display:flex;align-items:flex-start;gap:8px;background:var(--primary-glow);border:1px solid rgba(99,102,241,.15);border-radius:var(--border-radius-sm);padding:10px 12px;margin-bottom:18px;font-size:.75rem;color:var(--text-light);line-height:1.5}.form-section-note i{color:var(--primary-color);font-size:.85rem;flex-shrink:0;margin-top:1px}.status-legend{display:flex;align-items:center;gap:16px;padding:8px 0 12px;border-bottom:1px solid var(--border-light);margin-bottom:12px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:5px;font-size:.71rem;color:var(--text-muted);font-weight:500}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-ok{background:var(--success-color)}.legend-warning{background:var(--warning-color)}.legend-expired{background:var(--danger-color)}.dash-card-header-text{display:flex;flex-direction:column;gap:2px}.dash-card-desc{font-size:.68rem;color:var(--text-muted);font-weight:400;text-transform:none;letter-spacing:0;line-height:1.3}.kpi-desc{font-size:.63rem;color:#ffffff7a;font-weight:400;letter-spacing:.02em;margin-top:1px}.kpi-row{grid-template-columns:repeat(5,1fr)}.kpi-info{background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 8px 24px #14b8a666}.dci-teal{background:#14b8a621;color:#0f766e}.dci-cyan{background:#06b6d421;color:#0891b2}.dci-rose{background:#f43f5e21;color:#e11d48}[data-theme=dark] .dci-teal{background:#14b8a62e}[data-theme=dark] .dci-cyan{background:#06b6d42e}[data-theme=dark] .dci-rose{background:#f43f5e2e}#destinos-card{margin-top:0}.destinos-skeleton{display:flex;flex-direction:column;gap:8px;margin-top:4px}.destinos-table-wrap{overflow-x:auto;margin-top:4px}.destinos-table{width:100%;border-collapse:collapse;font-size:.83rem}.destinos-table thead th{padding:8px 12px;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap}.destinos-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .13s}.destinos-table tbody tr:last-child{border-bottom:none}.destinos-table tbody tr:hover{background:var(--hover-bg, rgba(99, 102, 241, .04))}.destinos-table td{padding:10px 12px;vertical-align:middle}.dest-rank{font-weight:800;color:var(--text-muted);font-size:.78rem;width:28px}.dest-name{display:block;font-weight:600;color:var(--text-primary)}.dest-host{display:block;font-size:.73rem;color:var(--text-muted)}.dest-pill{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:20px}.dest-pill--expired{background:#ef44441f;color:#dc2626}.dest-pill--warning{background:#f59e0b1f;color:#d97706}.dest-pill--healthy{background:#10b9811f;color:#059669}.dest-count{display:inline-block;font-size:.8rem;font-weight:700;padding:2px 8px;border-radius:20px;min-width:28px;text-align:center}.dest-count--expired{background:#ef44441f;color:#dc2626}.dest-count--warning{background:#f59e0b1f;color:#d97706}.dest-count--healthy{background:#10b9811f;color:#059669}.dest-count-zero{color:var(--text-muted);font-size:.8rem}.dest-total{font-weight:700;color:var(--text-secondary);font-size:.85rem}.dest-bar-wrap{display:flex;height:8px;border-radius:6px;overflow:hidden;background:var(--border-color, #e2e8f0);min-width:80px;gap:1px}.dest-bar{height:100%;border-radius:0;transition:width .4s ease}.dest-bar--expired{background:#ef4444}.dest-bar--warning{background:#f59e0b}.dest-bar--healthy{background:#10b981}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px}.empty-state-icon{font-size:2.5rem;color:var(--border-color);margin-bottom:4px}.empty-state-title{font-size:.875rem;font-weight:600;color:var(--text-muted);display:block}.empty-state-sub{font-size:.775rem;color:var(--text-muted);opacity:.65;display:block}.page-enter-active{transition:opacity .22s ease,transform .22s ease}.page-leave-active{transition:opacity .14s ease}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fadeInUp{animation:fadeInUp .35s ease-out both}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}#targets-table{width:100%;border-collapse:collapse;font-size:.875rem}#targets-table thead th{text-align:left;padding:.75rem 1rem;background:linear-gradient(135deg,var(--th-bg-start) 0%,var(--th-bg-end) 100%);color:var(--primary-color);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;border-bottom:2px solid var(--th-border);position:sticky;top:0;z-index:10}#targets-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .15s}#targets-table tbody tr:hover{background-color:var(--row-hover)}#targets-table td{padding:.75rem 1rem;border:none;color:var(--text-secondary)}#targets-table th:nth-child(3),#targets-table td:nth-child(3){text-align:center;white-space:nowrap}#target-page-info{color:var(--text-light);font-weight:500;margin:0 12px;font-size:.8rem}.form-select{width:100%;padding:.6rem 2.2rem .6rem .8rem;background-color:var(--input-bg);border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:.875rem;color:var(--text-color);transition:border-color .2s,box-shadow .2s,background-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748b' width='18px' height='18px'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:18px;cursor:pointer}.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);background-color:var(--input-bg-focus)}.badge-env,.badge-owner{display:inline-block;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;margin-top:4px;margin-right:3px;text-transform:uppercase;letter-spacing:.04em}.badge-env{background-color:#ede9fe;color:#6d28d9}.badge-owner-axtel{background-color:#dbeafe;color:#1e40af}.badge-owner-cliente{background-color:#fce7f3;color:#9d174d}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f0c298c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);border-radius:14px;width:90%;max-width:400px;overflow:hidden;border:1px solid var(--border-color);box-shadow:0 24px 60px #0000002e,0 0 0 1px #6366f114;animation:modalSlideUp .3s ease-out}.modal-content h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-color);text-transform:none;letter-spacing:0;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--th-bg-start) 0%,var(--th-bg-end) 100%)}.modal-content p{color:var(--text-light);padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.6;margin:0}.modal-buttons{display:flex;gap:12px;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--input-bg)}.modal-buttons .btn{flex-grow:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(18px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.target-combo{position:relative}.target-combo-trigger{display:flex;align-items:center;min-height:38px;padding:4px 10px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--input-bg, #fff);cursor:text;transition:border-color .15s,box-shadow .15s;gap:6px}.target-combo-trigger:hover,.target-combo-trigger--open{border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 15%,transparent)}.target-combo-input{flex:1;border:none;outline:none;background:transparent;font-size:.85rem;color:var(--text-primary);min-width:0}.target-combo-input::placeholder{color:var(--text-muted)}.target-combo-caret{color:var(--text-muted);font-size:.72rem;transition:transform .18s;flex-shrink:0}.target-combo-caret--open{transform:rotate(180deg)}.target-chip{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.target-chip-icon{color:var(--primary-color);font-size:.78rem;flex-shrink:0}.target-chip-name{font-weight:600;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-chip-host{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-chip-clear{margin-left:auto;flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px 4px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.target-chip-clear:hover{color:var(--danger-color);background:color-mix(in srgb,var(--danger-color) 10%,transparent)}.target-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:200;max-height:240px;overflow-y:auto;padding:4px 0}.target-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:.83rem;transition:background .12s}.target-option:hover{background:var(--hover-bg, #f0f4ff)}.target-option-icon{color:var(--text-muted);font-size:.75rem;flex-shrink:0;width:14px;text-align:center}.target-option-name{font-weight:600;color:var(--text-primary)}.target-option-host{font-size:.76rem;color:var(--text-muted);margin-left:2px}.target-option-create{border-top:1px solid var(--border-color, #e2e8f0);margin-top:2px;color:var(--primary-color);font-weight:500}.target-option-create .target-option-icon{color:var(--primary-color)}.target-create-label{font-weight:700}.target-dropdown-empty{padding:10px 14px;font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:7px}.target-create-form{border-top:1px solid var(--border-color, #e2e8f0);padding:8px 10px 10px;background:color-mix(in srgb,var(--primary-color) 4%,transparent)}.target-create-row{display:flex;align-items:center;gap:6px}.target-create-sn{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:var(--primary-color);white-space:nowrap;flex-shrink:0;max-width:110px;overflow:hidden;text-overflow:ellipsis}.target-create-host-input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.8rem;background:var(--input-bg, #fff);color:var(--text-primary);outline:none;transition:border-color .15s}.target-create-host-input:focus{border-color:var(--primary-color)}.btn-create-confirm,.btn-create-cancel{flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.78rem;transition:background .15s,color .15s}.btn-create-confirm{background:var(--primary-color);color:#fff}.btn-create-confirm:hover:not(:disabled){background:var(--primary-hover, #1a56db)}.btn-create-confirm:disabled{opacity:.6;cursor:not-allowed}.btn-create-cancel{background:var(--border-color, #e2e8f0);color:var(--text-muted)}.btn-create-cancel:hover{background:color-mix(in srgb,var(--danger-color) 15%,transparent);color:var(--danger-color)}.target-create-error{margin:6px 0 0;font-size:.75rem;color:var(--danger-color)}.combo-drop-enter-active,.combo-drop-leave-active{transition:opacity .14s,transform .14s}.combo-drop-enter-from,.combo-drop-leave-to{opacity:0;transform:translateY(-4px)}
