:root{--bg:#090b10;--surface:#101319;--surface-2:#151921;--surface-3:#1b202a;--line:#242a35;--text:#f5f7fa;--muted:#8f98a8;--purple:#8b5cf6;--purple-2:#a78bfa;--cyan:#32d6c5;--green:#42d392;--yellow:#f5bf4f;--red:#ff626d;--blue:#5f8df7;--radius:18px;--shadow:0 18px 50px rgba(0,0,0,.26)}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 75% -20%,rgba(91,64,165,.15),transparent 34%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:25px 18px 18px;background:rgba(13,16,22,.94);border-right:1px solid var(--line);backdrop-filter:blur(16px);display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 29px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#a78bfa,#6d46d7);font-weight:900;font-size:18px;box-shadow:0 8px 24px rgba(139,92,246,.32)}.brand div{display:flex;flex-direction:column;letter-spacing:.06em}.brand strong{font-size:15px}.brand small{font-size:9px;color:var(--muted);letter-spacing:.16em}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;color:#9aa3b2;display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:11px;text-align:left;cursor:pointer;transition:.2s}.nav-item span{width:21px;text-align:center;color:#7d8796;font-size:18px}.nav-item:hover{background:#151922;color:#dce1e9}.nav-item.active{background:linear-gradient(90deg,rgba(139,92,246,.18),rgba(139,92,246,.06));color:#fff;box-shadow:inset 3px 0 var(--purple)}.nav-item.active span{color:var(--purple-2)}.side-spacer{flex:1}.sync-card{background:linear-gradient(145deg,#181c25,#11151c);border:1px solid var(--line);border-radius:14px;padding:14px}.sync-card-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px rgba(245,191,79,.1)}.live-dot.ok{background:var(--green);box-shadow:0 0 0 4px rgba(66,211,146,.1)}.sync-card small{display:block;color:var(--muted);font-size:10px;margin:7px 0 12px}.sidebar-foot{color:#566071;font-size:9px;text-align:center;margin-top:14px;letter-spacing:.05em}.main{margin-left:244px;min-height:100vh;padding:0 34px 50px;max-width:1780px}.topbar{min-height:116px;display:flex;align-items:center;gap:18px;border-bottom:1px solid rgba(36,42,53,.7);margin-bottom:25px}.page-heading{flex:1}.eyebrow,.panel-kicker{font-size:9px;letter-spacing:.16em;color:var(--purple-2);font-weight:800;margin:0 0 4px}.page-heading h1{font-size:27px;line-height:1.15;margin:0 0 5px;letter-spacing:-.035em}.page-heading>p:last-child{margin:0;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:10px}.button{border:1px solid transparent;border-radius:10px;min-height:38px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;text-decoration:none;font-size:12px;font-weight:700;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,#8b5cf6,#7246dc);box-shadow:0 7px 22px rgba(139,92,246,.22)}.button.ghost,.button.secondary{background:#131720;border-color:var(--line);color:#cdd3dd}.button.secondary:hover,.button.ghost:hover{background:#1a1f29}.button.full{width:100%;min-height:34px;padding:0 8px;font-size:11px}.button:disabled{opacity:.55;cursor:wait;transform:none}.menu-button{display:none;border:0;background:transparent;color:white;font-size:20px}.view{display:none}.view.active{display:block;animation:fade-in .22s ease}@keyframes fade-in{from{opacity:.4;transform:translateY(4px)}}.loading-state{min-height:55vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);gap:12px}.loading-state.hidden{display:none}.spinner{width:27px;height:27px;border:2px solid var(--line);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{border:1px solid rgba(245,191,79,.25);background:rgba(245,191,79,.08);color:#efcd85;padding:11px 14px;border-radius:11px;margin-bottom:20px;font-size:12px}.notice.error{border-color:rgba(255,98,109,.3);background:rgba(255,98,109,.08);color:#ff9aa2}.hidden{display:none!important}.hero-row,.section-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.hero-row h2,.section-toolbar h2{font-size:20px;margin:8px 0 2px;letter-spacing:-.025em}.hero-row p,.section-toolbar p{color:var(--muted);margin:0;font-size:12px}.period-pill{display:inline-flex;border:1px solid var(--line);background:#11151c;color:#abb3c1;border-radius:99px;padding:4px 9px;font-size:10px}.updated{font-size:10px;color:#697385}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.kpi-card{position:relative;overflow:hidden;background:linear-gradient(150deg,#141820,#101319);border:1px solid var(--line);border-radius:15px;padding:16px 17px;min-height:118px;box-shadow:0 8px 28px rgba(0,0,0,.12)}.kpi-card:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:var(--accent,var(--purple));filter:blur(40px);opacity:.1;right:-10px;top:-15px}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:#99a2b1;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.kpi-icon{width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--accent,var(--purple)) 14%,transparent);color:var(--accent,var(--purple-2));display:grid;place-items:center;font-size:14px}.kpi-value{display:block;font-size:24px;margin-top:13px;letter-spacing:-.04em}.kpi-foot{font-size:9px;color:#6f7989;margin-top:4px}.kpi-foot strong{color:var(--green);font-weight:700}.grid-2{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:14px;margin-bottom:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.span-2{grid-column:span 2}.panel{background:linear-gradient(155deg,#12161d,#0f1218);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 12px 34px rgba(0,0,0,.11);min-width:0}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:13px}.panel h3{font-size:14px;margin:0;letter-spacing:-.015em}.metric-inline{text-align:right}.metric-inline strong{font-size:15px;display:block}.metric-inline span{font-size:9px;color:var(--muted)}.chart{width:100%;position:relative}.large-chart{height:230px}.chart svg{width:100%;height:100%;overflow:visible}.gridline{stroke:#242a35;stroke-width:1;stroke-dasharray:3 5}.axis-label{fill:#687384;font-size:9px}.chart-line{fill:none;stroke:url(#lineGradient);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 7px rgba(139,92,246,.35))}.chart-area{fill:url(#areaGradient)}.chart-point{fill:#a78bfa;stroke:#171b23;stroke-width:3}.chart-bar{fill:#242a35}.chart-bar.failed{fill:rgba(255,98,109,.55)}.donut-wrap{min-height:230px;display:grid;place-items:center}.donut-layout{display:grid;grid-template-columns:132px 1fr;align-items:center;width:100%;gap:18px}.donut{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;position:relative}.donut:after{content:"";width:84px;height:84px;background:#11151c;border-radius:50%;position:absolute}.donut-center{z-index:1;text-align:center}.donut-center strong{display:block;font-size:23px}.donut-center span{color:var(--muted);font-size:9px}.legend{display:flex;flex-direction:column;gap:10px}.legend-item{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;font-size:10px;color:#aab2bf}.legend-dot{width:7px;height:7px;border-radius:50%}.legend-item strong{color:#fff;font-size:11px}.text-button{border:0;background:transparent;color:var(--purple-2);font-size:10px;cursor:pointer}.risk-list{display:flex;flex-direction:column}.risk-row{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(110px,1fr) 72px 65px 24px;align-items:center;gap:12px;padding:11px 1px;border-bottom:1px solid #202630}.risk-row:last-child{border:0}.person{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#2b2444,#1c263a);color:#c9b9ff;font-size:10px;font-weight:800;flex:0 0 auto}.person-copy{min-width:0}.person strong,.person span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person strong{font-size:11px}.person span{font-size:9px;color:var(--muted)}.risk-row .plan-name{font-size:10px;color:#aeb6c4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.days-badge{color:var(--red);font-weight:800;font-size:10px}.amount{font-weight:750;font-size:11px;text-align:right}.row-arrow{color:#657083;background:transparent;border:0;cursor:pointer;font-size:16px}.status-bars{display:flex;flex-direction:column;gap:13px;margin-top:18px}.status-bar-head{display:flex;justify-content:space-between;font-size:10px;color:#aab2c0;margin-bottom:5px}.bar-track{height:5px;background:#202630;border-radius:99px;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:var(--bar-color,var(--purple))}.filters{display:flex;gap:9px}.search{height:39px;min-width:260px;border:1px solid var(--line);background:#11151c;border-radius:10px;display:flex;align-items:center;padding:0 11px;gap:8px;color:#717c8c}.search input{border:0;outline:0;background:transparent;color:#fff;width:100%;font-size:11px}.filters select{height:39px;border:1px solid var(--line);background:#11151c;color:#c3cad5;border-radius:10px;padding:0 30px 0 11px;font-size:11px}.mini-kpis{display:flex;gap:22px;margin:-7px 0 17px;padding-left:2px}.mini-stat{display:flex;align-items:baseline;gap:6px}.mini-stat strong{font-size:16px}.mini-stat span{font-size:9px;color:var(--muted)}.table-panel{padding:0;overflow:hidden}.table-title{padding:18px 18px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:11px 16px;color:#687384;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 16px;border-bottom:1px solid rgba(36,42,53,.7);font-size:10px;color:#b2bac7;vertical-align:middle}tbody tr{transition:.15s}tbody tr:hover{background:rgba(139,92,246,.035)}tbody tr:last-child td{border-bottom:0}.table-person{min-width:175px}.table-person .avatar{width:29px;height:29px}.plan-stack{display:flex;flex-wrap:wrap;gap:4px;max-width:230px}.plan-chip{display:inline-flex;padding:3px 6px;border-radius:6px;background:#1a1f29;color:#b9c1ce;font-size:8px;border:1px solid #292f3b}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:99px;font-size:8px;font-weight:750;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.good{color:#5de4a4;background:rgba(66,211,146,.09)}.badge.warn{color:#f3c566;background:rgba(245,191,79,.09)}.badge.bad{color:#ff7e88;background:rgba(255,98,109,.09)}.badge.info{color:#a991f7;background:rgba(139,92,246,.1)}.quality-cell{display:flex;align-items:center;gap:8px;min-width:110px}.score-ring{--score:50;width:28px;height:28px;border-radius:50%;background:conic-gradient(var(--score-color,var(--green)) calc(var(--score)*1%),#252b35 0);display:grid;place-items:center;position:relative}.score-ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#11151c}.score-ring span{position:relative;z-index:1;font-size:7px;font-weight:800;color:#fff}.quality-cell small{font-size:9px}.table-footer{padding:11px 16px;border-top:1px solid var(--line);font-size:9px;color:#687384}.aging-chart{display:flex;flex-direction:column;gap:16px;padding:8px 2px 4px}.aging-row{display:grid;grid-template-columns:80px 1fr 70px;align-items:center;gap:10px}.aging-row label{font-size:10px;color:#adb5c2}.aging-row strong{font-size:10px;text-align:right}.aging-track{height:11px;border-radius:4px;background:#1e242e;overflow:hidden}.aging-fill{height:100%;border-radius:4px;min-width:2px}.risk-summary-card{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.risk-summary-card:last-child{border:0}.risk-summary-card div strong{display:block;font-size:12px}.risk-summary-card div span{font-size:9px;color:var(--muted)}.risk-summary-card>strong{font-size:19px}.payment-product{display:flex;flex-direction:column}.payment-product small{color:#6f7989}.dispute-item{border:1px solid rgba(255,98,109,.16);background:rgba(255,98,109,.04);padding:12px;border-radius:11px;margin-bottom:9px}.dispute-item-head{display:flex;justify-content:space-between;gap:10px}.dispute-item strong{font-size:11px}.dispute-item p{font-size:9px;color:#a9b1be;margin:5px 0}.dispute-item small{color:var(--red);font-size:8px}.empty{min-height:100px;display:grid;place-items:center;text-align:center;color:#657083;font-size:10px;padding:20px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.product-card{background:linear-gradient(145deg,#161a22,#101319);border:1px solid var(--line);border-radius:16px;padding:18px;position:relative;overflow:hidden}.product-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:var(--product-color);opacity:.1;filter:blur(42px);right:-25px;top:-30px}.product-card-top{display:flex;justify-content:space-between;align-items:start}.product-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--product-color) 15%,transparent);color:var(--product-color);font-weight:900}.product-card h3{font-size:14px;margin:15px 0 2px}.product-card .route{font-size:9px;color:var(--muted)}.product-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:19px}.product-number{border-left:1px solid var(--line);padding-left:9px}.product-number:first-child{border-left:0;padding-left:0}.product-number strong,.product-number span{display:block}.product-number strong{font-size:13px}.product-number span{font-size:8px;color:var(--muted)}.link-button{display:inline-flex;color:var(--purple-2);font-size:9px;text-decoration:none}.modal-backdrop{position:fixed;inset:0;background:rgba(3,5,8,.78);backdrop-filter:blur(6px);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(820px,100%);max-height:88vh;overflow:auto;background:#11151c;border:1px solid #2a313d;border-radius:20px;box-shadow:var(--shadow);padding:24px;position:relative}.modal-close{position:absolute;right:16px;top:14px;width:31px;height:31px;border-radius:9px;border:1px solid var(--line);background:#171c24;color:#bac2ce;font-size:19px;cursor:pointer}.detail-head{display:flex;align-items:center;gap:14px;padding-right:45px}.detail-head .avatar{width:52px;height:52px;font-size:15px;border-radius:15px}.detail-head h2{margin:0;font-size:20px}.detail-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0}.detail-stat{background:#161b23;border:1px solid var(--line);border-radius:11px;padding:12px}.detail-stat span,.detail-stat strong{display:block}.detail-stat span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.detail-stat strong{font-size:16px;margin-top:5px}.detail-section{margin-top:21px}.detail-section h3{font-size:12px;margin:0 0 9px}.timeline{display:flex;flex-direction:column}.timeline-row{display:grid;grid-template-columns:90px 1fr 90px 80px;gap:10px;padding:9px;border-bottom:1px solid var(--line);font-size:9px}.timeline-row span:last-child{text-align:right}.toast-stack{position:fixed;right:22px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#181d25;border:1px solid #303743;color:#dbe0e8;padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);font-size:10px;animation:toast-in .25s ease}.toast.error{border-color:rgba(255,98,109,.35)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.span-2{grid-column:span 1}.risk-row{grid-template-columns:1.2fr 1fr 65px 60px 20px}}
@media(max-width:860px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:20px 0 50px rgba(0,0,0,.45)}.main{margin-left:0;padding:0 17px 35px}.menu-button{display:block}.topbar{min-height:100px}.top-actions .ghost{display:none}.grid-2,.grid-3{grid-template-columns:1fr}.kpi-grid,.kpi-grid.compact{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:auto}.section-toolbar{align-items:start;gap:15px;flex-direction:column}.filters{width:100%}.search{min-width:0;flex:1}.product-grid{grid-template-columns:1fr}.detail-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.main{padding:0 12px 30px}.topbar{gap:10px}.page-heading h1{font-size:21px}.eyebrow{display:none}.top-actions .primary{font-size:0;width:39px;padding:0}.top-actions .primary span{font-size:17px}.hero-row{align-items:start;flex-direction:column;gap:8px}.kpi-grid,.kpi-grid.compact{grid-template-columns:1fr 1fr;gap:8px}.kpi-card{padding:13px;min-height:105px}.kpi-value{font-size:19px}.grid-2{gap:9px}.panel{padding:14px}.donut-layout{grid-template-columns:115px 1fr}.donut{width:115px;height:115px}.risk-row{grid-template-columns:1fr 48px 20px}.risk-row .plan-name,.risk-row .days-badge{display:none}.filters{flex-direction:column}.filters select,.search{width:100%}.mini-kpis{flex-wrap:wrap;gap:8px 18px}.timeline-row{grid-template-columns:70px 1fr 65px}.timeline-row span:nth-child(3){display:none}.detail-kpis{grid-template-columns:1fr 1fr}.modal{padding:18px 13px}.product-numbers{gap:5px}}

/* Acceso privado y gestión de cuentas */
.login-screen{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% -10%,#211943 0,transparent 42%),#090b10}.login-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.19;pointer-events:none}.login-glow-one{width:430px;height:430px;background:#8b5cf6;left:-180px;top:-120px}.login-glow-two{width:360px;height:360px;background:#32d6c5;right:-170px;bottom:-150px}.login-card{width:min(440px,100%);position:relative;z-index:1;background:linear-gradient(145deg,rgba(24,28,38,.97),rgba(14,17,23,.97));border:1px solid #2a3040;border-radius:24px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.48)}.login-brand{display:flex;align-items:center;gap:12px}.login-brand>div{display:flex;flex-direction:column}.login-brand strong{font-size:13px;letter-spacing:.08em}.login-brand small{font-size:8px;color:#778195;letter-spacing:.18em}.login-copy{margin:35px 0 25px}.login-kicker{color:var(--purple-2);font-size:9px;font-weight:800;letter-spacing:.18em}.login-copy h1{font-size:30px;letter-spacing:-.045em;margin:8px 0}.login-copy p{color:var(--muted);font-size:11px;line-height:1.65;margin:0;max-width:330px}.login-form{display:flex;flex-direction:column;gap:16px}.login-form label,.access-form label{display:flex;flex-direction:column;gap:7px;color:#aab3c2;font-size:10px;font-weight:700;letter-spacing:.03em}.login-form input,.access-form input,.access-form select{width:100%;height:45px;border:1px solid #2b3240;border-radius:11px;background:#11151c;color:#fff;outline:0;padding:0 13px;font-size:12px;transition:.2s}.login-form input:focus,.access-form input:focus,.access-form select:focus{border-color:#8158e7;box-shadow:0 0 0 3px rgba(139,92,246,.12)}.password-field{position:relative}.password-field input{padding-right:52px}.password-field button{position:absolute;right:6px;top:6px;height:33px;padding:0 10px;border:0;border-radius:7px;background:#1b202a;color:#aeb6c4;font-size:9px;cursor:pointer}.login-submit{height:46px;margin-top:3px}.login-error{padding:9px 11px;border:1px solid rgba(255,98,109,.25);border-radius:9px;background:rgba(255,98,109,.08);color:#ff9aa2;font-size:10px}.login-security{border-top:1px solid var(--line);margin-top:24px;padding-top:17px;color:#667184;text-align:center;font-size:9px}.login-security span{color:var(--green);margin-right:5px}.account-menu{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 7px;border:1px solid var(--line);background:#11151c;border-radius:11px}.account-avatar{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#7045d7,#9b71f2);font-size:10px;font-weight:900}.account-menu>div{min-width:62px}.account-menu strong,.account-menu small{display:block}.account-menu strong{font-size:9px;max-width:95px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu small{font-size:7px;color:var(--purple-2);letter-spacing:.08em}.account-menu button{border:0;background:transparent;color:#7c8797;font-size:9px;cursor:pointer;padding:6px}.account-menu button:hover{color:#ff7e88}.access-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.access-stat{padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,#151922,#101319)}.access-stat span,.access-stat strong{display:block}.access-stat span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.access-stat strong{font-size:23px;margin-top:7px}.online-legend{font-size:9px;color:#7e8999;display:flex;align-items:center;gap:6px}.online-legend i,.presence-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#596374}.online-legend i,.presence-dot.online{background:var(--green);box-shadow:0 0 0 4px rgba(66,211,146,.09)}.access-user{display:flex;align-items:center;gap:9px;min-width:150px}.access-user-copy strong,.access-user-copy small{display:block}.access-user-copy strong{font-size:11px;color:#e9edf3}.access-user-copy small{font-size:8px;color:var(--muted)}.role-badge{display:inline-flex;padding:4px 8px;border-radius:7px;background:rgba(139,92,246,.1);color:#b59df9;font-size:8px;font-weight:800;text-transform:uppercase}.role-badge.viewer{background:rgba(95,141,247,.1);color:#87aafa}.access-actions{display:flex;gap:5px;min-width:195px}.mini-action{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:#161b23;color:#9fa8b6;font-size:8px;cursor:pointer}.mini-action:hover{color:#fff;border-color:#3a4251}.mini-action.danger:hover{color:#ff7e88;border-color:rgba(255,98,109,.3)}.access-modal{width:min(520px,100%)}.access-modal h2{font-size:20px;margin:0 0 5px}.access-modal>div>p{color:var(--muted);font-size:10px;margin:0 0 21px}.access-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.access-form .full-row{grid-column:1/-1}.access-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.form-hint{font-size:8px;color:#687384;font-weight:400}.confirm-copy{font-size:11px!important;color:#aeb6c4!important;line-height:1.6}.danger-button{background:linear-gradient(135deg,#d84d66,#ad354c)!important}.button.small{min-height:30px;padding:0 10px;font-size:9px}
@media(max-width:1050px){.account-menu>div{display:none}.account-menu{padding:5px}.account-menu button{padding:4px}.top-actions{gap:6px}}
@media(max-width:700px){.login-card{padding:26px 21px}.login-copy h1{font-size:26px}.account-menu{display:none}.access-kpis{grid-template-columns:1fr}.access-form{grid-template-columns:1fr}.access-form .full-row,.access-form-actions{grid-column:auto}.online-legend{display:none}}

/* Login Pro v3 */
.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px;isolation:isolate;background:radial-gradient(circle at 16% 10%,rgba(124,86,230,.19),transparent 34%),radial-gradient(circle at 88% 86%,rgba(50,214,197,.09),transparent 30%),linear-gradient(145deg,#080a0f,#0b0e15 58%,#080a10)}
.login-screen:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.28;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.login-glow{z-index:-1}.login-glow-one{width:520px;height:520px;left:-210px;top:-230px;opacity:.16}.login-glow-two{width:430px;height:430px;right:-190px;bottom:-210px;opacity:.1}
.login-frame{width:min(960px,100%);min-height:580px;display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden;border:1px solid rgba(149,159,180,.18);border-radius:28px;background:rgba(12,15,22,.86);box-shadow:0 45px 120px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.018) inset;backdrop-filter:blur(22px)}
.login-showcase{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:46px;background:linear-gradient(145deg,rgba(120,76,218,.3),rgba(21,25,36,.82) 58%,rgba(17,29,35,.82));border-right:1px solid rgba(149,159,180,.14)}
.login-showcase:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;left:-160px;bottom:-205px;border:1px solid rgba(190,169,255,.16);box-shadow:0 0 0 48px rgba(155,115,244,.035),0 0 0 96px rgba(155,115,244,.025)}
.login-showcase:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-110px;top:-100px;background:radial-gradient(circle,rgba(167,139,250,.3),transparent 68%);filter:blur(5px)}
.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.login-logo{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#a98bff,#7042d7);color:#fff;font-size:20px;font-weight:950;box-shadow:0 12px 34px rgba(115,69,222,.4),inset 0 1px rgba(255,255,255,.25)}.login-brand>div{display:flex;flex-direction:column}.login-brand strong{font-size:13px;letter-spacing:.09em}.login-brand small{font-size:8px;color:#9a92b7;letter-spacing:.2em;margin-top:2px}
.showcase-copy{position:relative;z-index:1;margin:auto 0 26px}.showcase-copy .login-kicker{color:#c7b7ff}.showcase-copy h2{font-size:36px;line-height:1.14;letter-spacing:-.05em;margin:12px 0 15px}.showcase-copy h2 em{font-style:normal;color:#b69cff}.showcase-copy p{max-width:340px;margin:0;color:#a6aebe;font-size:12px;line-height:1.75}
.showcase-points{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;margin-bottom:36px}.showcase-points span{display:flex;align-items:center;gap:9px;color:#bdc4d0;font-size:10px}.showcase-points i{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:rgba(66,211,146,.1);color:#5de4a4;font-size:9px;font-style:normal}
.showcase-status{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:9px;color:#7f899a}.showcase-status>i{width:7px;height:7px;border-radius:50%;background:#42d392;box-shadow:0 0 0 5px rgba(66,211,146,.08)}.showcase-status strong{margin-left:auto;color:#56dba0;font-size:8px;letter-spacing:.12em}
.login-card{width:auto;min-width:0;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:54px 48px;background:linear-gradient(155deg,rgba(20,24,33,.96),rgba(12,15,21,.98));border:0;border-radius:0;box-shadow:none}.login-mobile-brand{display:none}.login-card .login-copy{margin:0 0 31px}.login-card .login-kicker{display:inline-flex;align-items:center;gap:7px;color:#a98df8}.login-card .login-kicker:before{content:"";width:18px;height:1px;background:#8b5cf6}.login-card .login-copy h1{font-size:30px;line-height:1.2;margin:10px 0 9px;letter-spacing:-.045em}.login-card .login-copy p{font-size:11px;line-height:1.65;color:#788395}
.login-form{gap:18px}.login-form label{gap:8px;color:#b7bfcb;font-size:10px}.login-input-wrap{position:relative}.login-input-icon{position:absolute;z-index:2;left:15px;top:50%;transform:translateY(-50%);font-style:normal;font-size:7px;color:#8770d4}.login-input-icon.lock-icon{font-size:8px}.login-form .login-input-wrap input{height:48px;padding:0 58px 0 38px;border:1px solid #2b3240;border-radius:12px;background:rgba(10,13,19,.78);font-size:11px;box-shadow:inset 0 1px rgba(255,255,255,.018)}.login-form .login-input-wrap input::placeholder{color:#505a69}.login-form .login-input-wrap input:focus{border-color:#805ae0;background:#0e1118;box-shadow:0 0 0 4px rgba(139,92,246,.1)}.password-field button{right:8px;top:8px;height:32px;border:1px solid #292f3a;background:#171b23;color:#8f99a8;border-radius:8px}.password-field button:hover{color:#fff;border-color:#3a4250}
.login-submit{width:100%;height:49px;justify-content:space-between;padding:0 18px;margin-top:3px;border-radius:12px;background:linear-gradient(110deg,#7543da,#9369ed 62%,#7a50df);box-shadow:0 13px 32px rgba(119,70,217,.28)}.login-submit:hover{box-shadow:0 16px 38px rgba(119,70,217,.36)}.login-submit>span{font-size:11px}.login-submit>b{font-size:17px;font-weight:400}.login-security{display:flex;align-items:center;gap:10px;text-align:left;margin-top:25px;padding-top:19px}.security-shield{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:rgba(66,211,146,.09);color:#54dda0;font-size:10px}.login-security>div{display:flex;flex-direction:column}.login-security strong{font-size:9px;color:#8e98a8}.login-security small{font-size:8px;color:#535e6e;margin-top:1px}
@media(max-width:820px){.login-screen{padding:20px}.login-frame{width:min(480px,100%);min-height:auto;grid-template-columns:1fr}.login-showcase{display:none}.login-card{padding:42px 38px;border-radius:26px}.login-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:37px}.login-mobile-brand .login-logo{width:40px;height:40px;border-radius:12px;font-size:17px}.login-mobile-brand strong{font-size:11px;letter-spacing:.08em}}
@media(max-width:500px){.login-screen{padding:13px}.login-frame{border-radius:22px}.login-card{padding:30px 22px 27px;border-radius:22px}.login-mobile-brand{margin-bottom:29px}.login-card .login-copy{margin-bottom:25px}.login-card .login-copy h1{font-size:26px}.login-form .login-input-wrap input{height:47px}.login-security{margin-top:21px}}

/* Centro financiero */
.finance-grid{grid-template-columns:1fr 1fr}.finance-detail,.finance-list{display:flex;flex-direction:column;gap:9px}.finance-detail-row,.finance-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#11151c}.finance-detail-row span,.finance-list-row span{font-size:9px;color:var(--muted)}.finance-detail-row strong,.finance-list-row strong{font-size:11px;text-align:right}.finance-list-row>div{min-width:0}.finance-list-row>div strong,.finance-list-row>div span{display:block;text-align:left}.finance-transfers{margin-top:14px}.finance-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:160px}.finance-action{height:27px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:#161b23;color:#a7b0bd;font-size:8px;cursor:pointer}.finance-action:hover{color:#fff;border-color:#51406f}.finance-action.danger:hover{color:#ff7e88;border-color:rgba(255,98,109,.35)}.finance-modal h2{font-size:20px;margin:0 0 5px}.finance-modal>div>p{font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 20px}.finance-alert{padding:11px;border:1px solid rgba(245,191,79,.24);border-radius:10px;background:rgba(245,191,79,.07);color:#e8c675;font-size:9px;line-height:1.55}.confirmation-field input{text-transform:uppercase;letter-spacing:.09em}.button.financial-danger{background:linear-gradient(135deg,#d84d66,#ad354c)}
@media(max-width:860px){.finance-grid{grid-template-columns:1fr}.finance-actions{min-width:120px}}

/* Periodos, clasificación verificable y ficha avanzada de cliente */
.overview-hero{align-items:flex-start}.overview-controls{display:flex;flex-direction:column;align-items:flex-end;gap:9px;max-width:560px}.period-switch{display:flex;align-items:center;padding:4px;border:1px solid var(--line);border-radius:11px;background:#0f131a}.period-switch button{min-width:42px;height:30px;border:0;border-radius:7px;background:transparent;color:#7e8998;font-size:9px;font-weight:800;cursor:pointer}.period-switch button:hover{color:#dce1e9}.period-switch button.active{color:#fff;background:linear-gradient(135deg,#7548db,#9168ea);box-shadow:0 5px 15px rgba(139,92,246,.2)}.custom-period{display:flex;align-items:end;gap:7px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#11151c}.custom-period label{display:flex;flex-direction:column;gap:4px;color:#768193;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.custom-period input{height:31px;padding:0 8px;border:1px solid #2b3240;border-radius:7px;background:#0d1117;color:#d9dee6;font-size:9px;color-scheme:dark}.cell-note{display:block;max-width:230px;margin-top:5px;color:#687384;font-size:8px;line-height:1.35}.truth-reason{display:block;color:#e7c77e;font-size:9px;font-weight:700;max-width:210px}.quality-cell.no-score .score-ring{background:#252b35}.detail-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.truth-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:15px 16px;border:1px solid var(--line);border-left:3px solid var(--purple);border-radius:13px;background:#151922}.truth-card.good{border-left-color:var(--green)}.truth-card.warn{border-left-color:var(--yellow)}.truth-card.bad{border-left-color:var(--red)}.truth-card strong{display:block;font-size:15px;margin:3px 0}.truth-card p{margin:0;color:#8d97a7;font-size:9px;line-height:1.55}.truth-facts{display:flex;flex-direction:column;gap:5px;min-width:160px}.truth-facts span{display:flex;justify-content:space-between;padding:5px 8px;border-radius:7px;background:#10141b;color:#9da7b5;font-size:8px}.customer-insight-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr);gap:10px;margin:0 0 21px}.detail-insight{min-width:0;padding:15px;border:1px solid var(--line);border-radius:13px;background:#131820}.customer-chart{height:190px}.customer-health h3{font-size:15px;margin:8px 0 4px}.customer-health>p{min-height:42px;margin:0 0 11px;color:#7f8999;font-size:9px;line-height:1.55}.customer-health dl{margin:0}.customer-health dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:9px}.customer-health dt{color:#778293}.customer-health dd{margin:0;color:#e0e5ec;font-weight:700;text-align:right}
@media(max-width:980px){.overview-hero{flex-direction:column;gap:14px}.overview-controls{width:100%;align-items:flex-start;max-width:none}.customer-insight-grid{grid-template-columns:1fr}}
@media(max-width:620px){.period-switch{width:100%;overflow-x:auto}.period-switch button{flex:1;min-width:39px}.custom-period{width:100%;align-items:stretch;flex-wrap:wrap}.custom-period label{flex:1;min-width:120px}.custom-period .button{width:100%}.truth-card{align-items:flex-start;flex-direction:column}.truth-facts{width:100%}.customer-chart{height:165px}}

.permission-warning{display:grid;grid-template-columns:minmax(155px,.7fr) minmax(180px,1fr);gap:4px 14px;padding:10px 0;border-bottom:1px solid rgba(245,191,79,.14)}.permission-warning b{font-size:10px;color:#f4d17c}.permission-warning span{font-size:9px;color:#c9aa64}.permission-warning small{grid-column:1/-1;color:#e6c373;font-size:8px;line-height:1.55}.permission-help{margin:10px 0 0;color:#a88d55;font-size:8px}.permission-help:before{content:"✓ ";color:var(--green)}@media(max-width:620px){.permission-warning{grid-template-columns:1fr}}
.finance-coverage{display:flex;flex-direction:column;gap:8px}.coverage-row{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#11151c}.coverage-check{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:rgba(66,211,146,.1);color:var(--green);font-size:11px;font-weight:900}.coverage-row strong,.coverage-row small{display:block}.coverage-row strong{font-size:10px;color:#e2e7ed}.coverage-row small{margin-top:2px;color:#737e8e;font-size:8px}.coverage-note{margin-top:3px;padding:9px 10px;border-radius:9px;background:rgba(95,141,247,.06);color:#8092b3;font-size:8px;line-height:1.55}
