:root{--bg:#07101d;--bg2:#0b1626;--panel:#0e1a2c;--panel2:#12213a;--line:#21324d;--text:#edf4ff;--muted:#8fa2bd;--blue:#2563eb;--violet:#7c3aed;--cyan:#22d3ee;--green:#22c55e;--red:#ef4444;--yellow:#f59e0b;--radius:20px;--shadow:0 24px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 85% 0,rgba(37,99,235,.2),transparent 28%),radial-gradient(circle at 15% 100%,rgba(124,58,237,.13),transparent 24%),var(--bg);color:var(--text)}a{color:#86b4ff;text-decoration:none}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.block{display:block;margin-top:6px}.eyebrow{display:block;color:#6ea8ff;text-transform:uppercase;letter-spacing:.12em;font-size:.69rem;font-weight:800}.brand{display:flex;align-items:center;gap:12px;color:var(--text)}.brand img{width:44px;height:44px}.brand strong,.brand span{display:block}.brand strong{font-size:1rem}.brand span{font-size:.74rem;color:var(--muted);margin-top:3px}
.btn,.icon-button,.menu-button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:800;border-radius:13px;transition:.18s}.btn{min-height:44px;padding:11px 17px}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 10px 28px rgba(37,99,235,.22)}.btn.primary:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(37,99,235,.34)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.panel{background:linear-gradient(145deg,rgba(15,28,47,.98),rgba(10,21,37,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 50px rgba(0,0,0,.12)}
.app-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(6,14,26,.95);border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;z-index:30;backdrop-filter:blur(16px)}.sidebar .brand{padding:0 8px}.main-nav{display:flex;flex-direction:column;gap:7px;margin-top:34px}.nav-label{font-size:.65rem;color:#64758f;text-transform:uppercase;letter-spacing:.12em;padding:0 12px 7px}.main-nav a{display:flex;align-items:center;gap:12px;color:#b8c7db;padding:12px 13px;border-radius:13px;font-weight:700;font-size:.9rem}.main-nav a:hover,.main-nav a.active{background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(59,130,246,.82));color:#fff}.nav-icon{width:24px;text-align:center}.sidebar-status{margin-top:auto;display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#0b1728}.sidebar-status strong,.sidebar-status small{display:block}.sidebar-status strong{font-size:.78rem}.sidebar-status small{font-size:.68rem;color:var(--muted);margin-top:3px}.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 13px var(--green)}.sidebar-user{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:14px}.sidebar-user strong,.sidebar-user span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{font-size:.78rem}.sidebar-user span{font-size:.68rem;color:var(--muted);margin-top:2px}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue),var(--violet));font-weight:900;color:white}.avatar.large{width:76px;height:76px;border-radius:22px;font-size:1.8rem}.main-content{min-width:0;padding:28px 32px 100px}.topbar{display:flex;align-items:center;gap:16px;margin-bottom:24px}.topbar h1{margin:3px 0 0;font-size:1.62rem}.topbar-right{margin-left:auto;display:flex;gap:10px;align-items:center}.date-chip{background:var(--panel);border:1px solid var(--line);padding:10px 13px;border-radius:12px;color:#b7c6da;font-size:.8rem}.icon-button,.menu-button{width:42px;height:42px;background:var(--panel);color:#fff;border:1px solid var(--line)}.menu-button{display:none}.welcome-card{padding:24px;display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:16px;overflow:hidden;position:relative}.welcome-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-120px;background:radial-gradient(circle,rgba(34,211,238,.2),transparent 65%)}.welcome-card h2{font-size:1.65rem;margin:5px 0 7px}.welcome-card p{color:var(--muted);margin:0;max-width:680px;line-height:1.55}.security-seal{position:relative;z-index:1;display:flex;align-items:center;gap:12px;min-width:270px;background:rgba(6,78,59,.18);border:1px solid rgba(34,197,94,.26);padding:14px;border-radius:15px}.security-seal>span{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#064e3b;color:#74efad;font-weight:900}.security-seal strong,.security-seal small{display:block}.security-seal strong{font-size:.83rem}.security-seal small{font-size:.69rem;color:#91bda5;margin-top:3px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi-card{min-height:135px;padding:18px;background:linear-gradient(145deg,var(--panel),#101f36);border:1px solid var(--line);border-radius:var(--radius)}.kpi-card>span,.kpi-card>small{display:block;color:var(--muted)}.kpi-card>span{font-size:.76rem}.kpi-card>strong{display:block;margin:15px 0 8px;font-size:1.85rem}.kpi-card>strong.small-value{font-size:1.36rem}.kpi-card>small{font-size:.69rem}.kpi-card.accent{background:linear-gradient(145deg,rgba(37,99,235,.24),rgba(124,58,237,.17));border-color:rgba(96,165,250,.42)}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.content-grid>.panel,.form-panel,.info-panel{padding:20px}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:16px}.panel-heading h2{margin:4px 0 0;font-size:1.05rem}.progress-badge,.version-pill,.role-badge,.status-label{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.7rem;font-weight:800}.progress-badge,.version-pill{background:rgba(37,99,235,.16);border:1px solid rgba(96,165,250,.25);color:#8cb9ff}.roadmap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.roadmap-item{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.06);border-radius:13px;background:rgba(5,13,25,.34)}.roadmap-item>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#182942;color:#8fa2bd;font-weight:900}.roadmap-item strong,.roadmap-item small{display:block}.roadmap-item strong{font-size:.76rem}.roadmap-item small{font-size:.65rem;color:var(--muted);margin-top:3px}.roadmap-item.done{border-color:rgba(34,197,94,.27);background:rgba(6,78,59,.12)}.roadmap-item.done>span{background:#065f46;color:#8cf3bb}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.check-list li{position:relative;padding:11px 11px 11px 40px;background:#0b1728;border:1px solid rgba(255,255,255,.055);border-radius:12px;color:#c9d7e8;font-size:.8rem}.check-list li:before{content:"✓";position:absolute;left:13px;top:10px;color:#69e99b;font-weight:900}.activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.activity-item{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.06);background:#0b1728;border-radius:13px}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:.78rem}.activity-item small{font-size:.66rem;color:var(--muted);margin-top:3px}.activity-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(37,99,235,.18);color:#7cb0ff}.empty-state{color:var(--muted);padding:22px;text-align:center}.flash{padding:13px 15px;border-radius:13px;margin-bottom:15px;font-size:.85rem}.flash.success{background:rgba(34,197,94,.13);border:1px solid rgba(34,197,94,.28);color:#8df0b1}.flash.error{background:rgba(239,68,68,.13);border:1px solid rgba(239,68,68,.29);color:#ffa1a1}.flash.info{background:rgba(37,99,235,.14);border:1px solid rgba(37,99,235,.28);color:#a8c6ff}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stack-form{display:flex;flex-direction:column;gap:14px}.form-grid h3{margin:8px 0 0}.form-actions{display:flex;justify-content:flex-end;gap:10px}label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;color:#c8d5e6;font-weight:650}input,select,textarea{width:100%;background:#081525;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:#4d83ef;box-shadow:0 0 0 3px rgba(37,99,235,.13)}.info-panel{margin-top:16px}.info-panel h2{margin-top:0}.info-panel dl,.profile-card dl{display:grid;grid-template-columns:130px 1fr;gap:11px;font-size:.8rem}.info-panel dt,.profile-card dt{color:var(--muted)}.info-panel dd,.profile-card dd{margin:0}.profile-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:16px}.profile-card{padding:25px;text-align:center}.profile-card h2{margin:14px 0 3px}.profile-card .avatar{margin:auto}.profile-card dl{text-align:left;margin-top:25px}.role-badge{background:rgba(124,58,237,.17);color:#c4a5ff;margin-top:10px}
.auth-body{display:grid;place-items:center;padding:22px}.auth-layout{width:min(1050px,100%);display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(9,20,35,.94);box-shadow:var(--shadow)}.auth-showcase{min-height:630px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 85% 20%,rgba(34,211,238,.14),transparent 24%),radial-gradient(circle at 25% 80%,rgba(124,58,237,.2),transparent 30%),#0a1729}.auth-showcase h1{font-size:2.55rem;line-height:1.05;max-width:590px;margin:10px 0 16px}.auth-showcase p{color:#a4b5cb;max-width:530px;line-height:1.6}.showcase-points{display:flex;gap:10px;flex-wrap:wrap}.showcase-points span{padding:9px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:999px;font-size:.72rem}.auth-card{padding:38px;display:flex;flex-direction:column;justify-content:center}.auth-card h1,.auth-card h2{margin:7px 0}.auth-logo{width:58px;height:58px;margin-bottom:22px}.auth-foot{display:block;text-align:center;color:#5f718b;margin-top:22px}.installer-body{display:block}.installer-shell{width:min(980px,calc(100% - 28px));margin:28px auto;display:grid;gap:16px}.installer-hero{padding:24px;display:grid;grid-template-columns:auto 1fr;gap:25px;align-items:center}.installer-hero h1{margin:7px 0}.installer-section{padding:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.section-heading h2{margin:4px 0}.status-label.ok{background:rgba(34,197,94,.14);color:#7be9a3}.status-label.fail{background:rgba(239,68,68,.14);color:#ff9292}.requirements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.requirement{display:flex;align-items:flex-start;gap:11px;padding:13px;background:#0a1728;border:1px solid var(--line);border-radius:13px}.requirement>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:900}.requirement.ok>span{background:#064e3b;color:#77edaa}.requirement.fail>span{background:#5f1721;color:#ff9aa5}.requirement strong,.requirement small{display:block}.requirement strong{font-size:.77rem}.requirement small{font-size:.66rem;color:var(--muted);margin-top:4px}.installer-form{margin-top:18px}.check-label{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px}.check-label input{width:auto;margin-top:3px}.check-label strong,.check-label small{display:block}.check-label small{color:var(--muted);font-weight:400;margin-top:4px}.installer-note,.summary-box{padding:14px;background:#0a1728;border:1px dashed #334866;border-radius:13px;color:#b4c3d7;font-size:.78rem}.success-card{padding:42px 24px;text-align:center}.success-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px;background:#065f46;color:#8af2b6;font-size:2rem;font-weight:900}.success-card .summary-box{max-width:500px;margin:18px auto;text-align:left}.installer-footer{text-align:center;color:#61748e;font-size:.72rem;padding:5px}.mobile-nav,.sidebar-overlay{display:none}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:258px;transition:left .22s}.sidebar.open{left:0}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:20}.menu-button{display:inline-flex}.main-content{padding:22px 19px 90px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:span 2}.welcome-card{align-items:flex-start;flex-direction:column}.security-seal{min-width:0;width:100%}.auth-layout{grid-template-columns:1fr}.auth-showcase{min-height:360px}.auth-showcase h1{font-size:2rem}.profile-grid{grid-template-columns:1fr 1.4fr}}
@media(max-width:680px){.main-content{padding:17px 12px 82px}.topbar{align-items:flex-start}.topbar h1{font-size:1.25rem}.date-chip{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi-card{padding:14px;min-height:115px}.kpi-card>strong{font-size:1.35rem}.content-grid,.profile-grid,.form-grid,.requirements-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.roadmap,.activity-list{grid-template-columns:1fr}.welcome-card{padding:18px}.welcome-card h2{font-size:1.35rem}.panel{border-radius:17px}.mobile-nav{display:grid;position:fixed;left:0;right:0;bottom:0;height:62px;z-index:18;grid-template-columns:repeat(3,1fr);background:rgba(6,14,26,.97);border-top:1px solid var(--line);align-items:center;text-align:center}.mobile-nav a{font-size:.72rem;color:#b7c6d9}.auth-body{padding:10px}.auth-showcase{display:none}.auth-card{padding:27px 21px;min-height:560px}.auth-layout{display:block;border-radius:22px}.installer-shell{margin:12px auto}.installer-hero{grid-template-columns:1fr;padding:18px}.installer-section{padding:17px}.form-actions .btn{width:100%}.profile-card dl,.info-panel dl{grid-template-columns:105px 1fr}}
.single-column{grid-template-columns:1fr}.update-form{margin-top:18px;display:flex;justify-content:flex-end}

/* Bloque 2: usuarios, roles y permisos */
.btn.soft{background:#142641;color:#b9d2f6;border:1px solid #294261}.btn.ghost{background:transparent;color:#aebed2;border:1px solid var(--line)}.btn.danger-soft{background:rgba(239,68,68,.12);color:#ff9d9d;border:1px solid rgba(239,68,68,.25)}.btn.success-soft{background:rgba(34,197,94,.12);color:#8ef0b1;border:1px solid rgba(34,197,94,.25)}.btn.mini{min-height:34px;padding:7px 10px;border-radius:10px;font-size:.69rem}.btn.full-width{width:100%;margin-top:15px}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-strip article{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--panel),#101f36)}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:var(--muted);font-size:.72rem}.summary-strip strong{font-size:1.55rem;margin-top:7px}.data-panel{padding:20px}.action-heading{align-items:center}.action-heading p{margin:7px 0 0}.filter-bar{display:grid;grid-template-columns:minmax(210px,1.8fr) minmax(130px,.7fr) minmax(160px,.8fr) auto auto;gap:10px;align-items:end;padding:14px;background:#091627;border:1px solid rgba(255,255,255,.055);border-radius:15px;margin-bottom:16px}.filter-bar.compact-filters{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto}.table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.06);border-radius:15px}.data-table{width:100%;border-collapse:collapse;min-width:860px}.data-table th,.data-table td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.055);font-size:.75rem;vertical-align:middle}.data-table th{color:#8093ae;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;background:#091526;position:sticky;top:0}.data-table tbody tr:hover{background:rgba(37,99,235,.045)}.data-table tbody tr:last-child td{border-bottom:0}.actions-col{text-align:right!important}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.row-actions form{margin:0}.person-cell{display:flex;align-items:center;gap:10px;min-width:210px}.person-cell strong,.person-cell small{display:block}.person-cell small,.table-subtext{font-size:.65rem;color:var(--muted);margin-top:3px}.avatar.small{width:34px;height:34px;border-radius:11px;font-size:.76rem}.role-badge.compact{margin:0;padding:5px 9px;font-size:.64rem}.status-badge,.action-badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.63rem;font-weight:800;white-space:nowrap}.status-badge.active{background:rgba(34,197,94,.13);color:#82edaa}.status-badge.inactive{background:rgba(239,68,68,.13);color:#ff9999}.action-badge{background:rgba(37,99,235,.14);color:#9ec1ff}.wide-form{max-width:980px}.switch-row{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:11px;padding:13px;background:#0a1728;border:1px solid var(--line);border-radius:13px}.switch-row input{width:auto;margin-top:3px}.switch-row strong,.switch-row small{display:block}.switch-row small{color:var(--muted);font-weight:400;margin-top:4px}.compact-switch{align-self:end}.roles-layout{display:grid;grid-template-columns:minmax(250px,.68fr) minmax(0,1.7fr);gap:16px}.roles-list-panel,.role-editor{padding:20px}.icon-add{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;font-size:1.25rem;font-weight:700}.role-list{display:grid;gap:8px}.role-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;border:1px solid rgba(255,255,255,.06);background:#0a1728;border-radius:13px;color:var(--text)}.role-list-item:hover,.role-list-item.active{border-color:#385d91;background:rgba(37,99,235,.1)}.role-list-item strong,.role-list-item small{display:block}.role-list-item strong{font-size:.78rem}.role-list-item small{font-size:.64rem;color:var(--muted);margin-top:4px}.status-dot{width:9px;height:9px;border-radius:50%;flex:none}.status-dot.on{background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.6)}.status-dot.off{background:#64748b}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-group{margin:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0a1728}.permission-group legend{padding:0 7px;color:#7eaefd;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.permission-item{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:9px 3px;border-bottom:1px solid rgba(255,255,255,.05)}.permission-item:last-child{border-bottom:0}.permission-item input{width:auto;margin-top:3px}.permission-item strong,.permission-item small{display:block}.permission-item strong{font-size:.74rem}.permission-item small{font-size:.63rem;color:var(--muted);font-weight:400;margin-top:3px}.permissions-form{gap:18px}.mobile-nav{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
@media(max-width:1050px){.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar .btn{width:100%}.roles-layout{grid-template-columns:1fr}.role-list{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-strip article{padding:12px}.summary-strip strong{font-size:1.2rem}.filter-bar,.filter-bar.compact-filters{grid-template-columns:1fr}.action-heading{align-items:flex-start;flex-direction:column}.action-heading>.btn{width:100%}.data-panel{padding:14px}.role-list{grid-template-columns:1fr}.permission-groups{grid-template-columns:1fr}.roles-list-panel,.role-editor{padding:15px}.row-actions{justify-content:flex-start}.wide-form{max-width:none}}

/* Bloque 3: clientes, contactos, expediente e importación */
.heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.clients-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.clients-filters{grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(130px,.75fr)) auto auto auto}.archive-filter{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:0 7px;white-space:nowrap}.archive-filter input{width:auto}.clients-table{min-width:1050px}.status-badge.lead{background:rgba(37,99,235,.14);color:#9fc2ff}.status-badge.blocked{background:rgba(245,158,11,.14);color:#ffc86b}.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:16px}.pagination a{min-width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:#b9c9dd;background:#091627;font-size:.72rem;font-weight:800}.pagination a.active,.pagination a:hover{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;border-color:transparent}.client-form-panel{max-width:1100px}.client-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;margin-bottom:16px}.client-identity{display:flex;align-items:center;gap:16px}.client-identity h2{margin:4px 0 6px;font-size:1.45rem}.client-identity p{margin:0;color:var(--muted)}.btn.whatsapp{background:rgba(34,197,94,.14);color:#91efb2;border:1px solid rgba(34,197,94,.32)}.client-detail-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:16px;margin-bottom:16px}.client-info-card,.contacts-card,.timeline-panel,.interaction-form-card,.import-history{padding:20px}.detail-list{display:grid;grid-template-columns:145px 1fr;gap:10px;font-size:.76rem;margin:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.note-box{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#091627}.note-box strong{font-size:.76rem}.note-box p{margin:8px 0 0;color:#c4d1e2;font-size:.75rem;line-height:1.55}.contact-list{display:grid;gap:9px}.contact-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#0a1728}.contact-card strong,.contact-card small{display:block}.contact-card strong{font-size:.78rem}.contact-card small{font-size:.65rem;color:var(--muted);margin-top:3px}.primary-chip{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;background:rgba(37,99,235,.15);color:#9fc1ff;font-size:.56rem;vertical-align:middle}.client-timeline-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:16px}.timeline-list{display:grid;gap:12px}.timeline-entry{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding:2px 0}.timeline-entry:after{content:"";position:absolute;left:7px;top:20px;bottom:-14px;width:1px;background:var(--line)}.timeline-entry:last-child:after{display:none}.timeline-dot{position:relative;z-index:1;width:15px;height:15px;border-radius:50%;margin-top:4px;background:#64748b;box-shadow:0 0 0 4px #0e1a2c}.timeline-dot.type-call{background:#22d3ee}.timeline-dot.type-whatsapp{background:#22c55e}.timeline-dot.type-email{background:#2563eb}.timeline-dot.type-meeting{background:#7c3aed}.timeline-dot.type-note{background:#f59e0b}.timeline-heading{display:flex;justify-content:space-between;gap:12px}.timeline-heading strong{font-size:.8rem}.timeline-heading span{font-size:.65rem;color:var(--muted);white-space:nowrap}.timeline-entry small{display:block;color:#7f93ad;font-size:.64rem;margin-top:4px}.timeline-entry p{margin:8px 0 0;color:#c6d4e5;font-size:.75rem;line-height:1.5}.next-action-chip{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:rgba(124,58,237,.15);color:#ceb9ff;font-size:.62rem;font-weight:800}.interaction-form-card{align-self:start;position:sticky;top:20px}.import-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px}.import-instructions{padding:15px;border:1px solid var(--line);border-radius:14px;background:#091627;margin-bottom:16px}.import-instructions strong{font-size:.78rem}.import-instructions p{font-size:.72rem;color:var(--muted);line-height:1.55}.recent-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.recent-client-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.06);background:#0a1728;border-radius:13px;color:var(--text)}.recent-client-card:hover{border-color:#3a6399;background:rgba(37,99,235,.08)}.recent-client-card strong,.recent-client-card small{display:block}.recent-client-card strong{font-size:.76rem}.recent-client-card small{font-size:.63rem;color:var(--muted);margin-top:3px}
@media(max-width:1180px){.clients-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.client-detail-grid,.client-timeline-layout,.import-layout{grid-template-columns:1fr}.interaction-form-card{position:static}.recent-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.clients-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-filters{grid-template-columns:1fr}.heading-actions{width:100%;justify-content:stretch}.heading-actions .btn{flex:1}.client-hero{align-items:flex-start;flex-direction:column}.client-identity{align-items:flex-start}.detail-list{grid-template-columns:110px 1fr}.recent-client-grid{grid-template-columns:1fr}.timeline-heading{flex-direction:column;gap:3px}.contact-card{grid-template-columns:36px minmax(0,1fr)}.contact-card>.btn{grid-column:2;justify-self:start}}

/* Bloque 4: prospectos, oportunidades y embudo comercial */
.summary-money{font-size:1rem!important;line-height:1.25}
.sales-filters{grid-template-columns:minmax(240px,1.6fr) minmax(150px,.7fr) minmax(170px,.8fr) auto auto}
.opportunity-filters{grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(135px,.72fr)) auto auto}
.sales-table{min-width:1030px}
.status-badge.lead-new{background:rgba(37,99,235,.15);color:#a7c7ff}
.status-badge.lead-contacted{background:rgba(34,211,238,.14);color:#9cf3ff}
.status-badge.lead-qualified{background:rgba(124,58,237,.17);color:#d0b9ff}
.status-badge.lead-converted,.status-badge.won{background:rgba(34,197,94,.14);color:#8ff0b2}
.status-badge.lead-disqualified,.status-badge.lost{background:rgba(239,68,68,.14);color:#ffa0a0}
.status-badge.open{background:rgba(37,99,235,.14);color:#9fc2ff}
.sales-detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.note-box.warning{border-color:rgba(245,158,11,.28);background:rgba(120,53,15,.14)}
.opportunity-mini-list{display:grid;gap:9px}
.opportunity-mini{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#0a1728;color:var(--text)}
.opportunity-mini:hover{border-color:#3b6398;background:rgba(37,99,235,.08)}
.opportunity-mini strong,.opportunity-mini small{display:block}
.opportunity-mini strong{font-size:.78rem}
.opportunity-mini small{font-size:.65rem;color:var(--muted);margin-top:4px}
.stage-color{display:inline-block;width:10px;height:38px;border-radius:999px;background:var(--stage-color,#2563eb);box-shadow:0 0 14px color-mix(in srgb,var(--stage-color,#2563eb) 50%,transparent)}
.conversion-panel{margin-top:16px;max-width:100%}
.pipeline-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px;margin-bottom:12px}
.pipeline-toolbar h2{margin:4px 0 6px}
.pipeline-toolbar p{margin:0}
.pipeline-filters{grid-template-columns:minmax(250px,1fr) minmax(170px,.55fr) auto auto;padding:15px;margin-bottom:14px}
.pipeline-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding:2px 1px 18px;scrollbar-width:thin}
.pipeline-column{flex:0 0 300px;min-width:300px;border:1px solid var(--line);border-radius:18px;background:rgba(8,20,35,.72);overflow:hidden}
.pipeline-column>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:15px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--stage-color) 14%,#0c192b),#0a1728)}
.pipeline-column>header>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}
.pipeline-column>header strong{font-size:.78rem}
.pipeline-column>header small{grid-column:2;display:block;font-size:.62rem;color:var(--muted);margin-top:3px}
.pipeline-column>header>span{font-size:.64rem;color:#c9d7e8;text-align:right;white-space:nowrap}
.pipeline-stage-dot{width:9px;height:9px;border-radius:50%;background:var(--stage-color);box-shadow:0 0 11px var(--stage-color)}
.pipeline-cards{display:grid;gap:10px;padding:10px;min-height:120px}
.pipeline-card{padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:14px;background:linear-gradient(145deg,#0e1d31,#091625);box-shadow:0 10px 25px rgba(0,0,0,.11)}
.pipeline-card>a{display:block;color:var(--text)}
.pipeline-card>a>strong,.pipeline-card>a>small{display:block}
.pipeline-card>a>strong{font-size:.8rem;line-height:1.4;margin:4px 0}
.pipeline-card>a>small{font-size:.65rem;color:var(--muted)}
.pipeline-card-meta,.pipeline-card-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}
.pipeline-card-meta{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.055);font-size:.69rem;font-weight:800}
.pipeline-card-meta span:last-child{color:#9fc1ff}
.pipeline-card-foot{margin-top:8px;color:var(--muted)}
.pipeline-card-foot small{font-size:.59rem}
.pipeline-move-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}
.pipeline-move-actions form{margin:0}
.pipeline-move-actions button{width:31px;height:29px;border:1px solid var(--line);border-radius:9px;background:#11233b;color:#bcd2ec;cursor:pointer}
.pipeline-move-actions button:hover{background:var(--blue);color:#fff}
.pipeline-empty{padding:20px;text-align:center;color:#687b96;font-size:.7rem;border:1px dashed #263954;border-radius:13px}
.stage-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--stage-color) 15%,transparent);color:color-mix(in srgb,var(--stage-color) 75%,white);font-size:.65rem;font-weight:800}
.stage-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--stage-color)}
.opportunity-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:22px;margin-bottom:16px;border-top:3px solid var(--stage-color)}
.opportunity-hero h2{font-size:1.5rem;margin:4px 0 7px}
.opportunity-hero p{margin:0;color:var(--muted)}
.opportunity-value{min-width:185px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:#091727;text-align:right}
.opportunity-value span,.opportunity-value small{display:block;color:var(--muted);font-size:.65rem}
.opportunity-value strong{display:block;font-size:1.05rem;margin:5px 0}
.stage-progress{padding:20px;margin-bottom:16px}
.stage-track{display:flex;align-items:flex-start;overflow-x:auto;padding:8px 0 14px}
.stage-step{position:relative;flex:1;min-width:105px;text-align:center;color:#657891}
.stage-step:before{content:"";position:absolute;left:0;right:0;top:8px;height:3px;background:#21324d}
.stage-step:first-child:before{left:50%}.stage-step:last-child:before{right:50%}
.stage-step span{position:relative;z-index:1;display:block;width:18px;height:18px;border-radius:50%;margin:0 auto 8px;background:#21324d;border:4px solid #0e1a2c}
.stage-step small{font-size:.61rem;white-space:nowrap}
.stage-step.passed:before,.stage-step.passed span,.stage-step.current span{background:var(--stage-color)}
.stage-step.current{color:#fff;font-weight:800}
.stage-step.current span{box-shadow:0 0 13px var(--stage-color)}
.stage-change-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;max-width:570px;margin-top:12px}
.btn.success-btn{background:rgba(34,197,94,.16);border:1px solid rgba(34,197,94,.36);color:#8ef0b1}
.timeline-dot.type-created{background:#2563eb}.timeline-dot.type-stage{background:#22d3ee}.timeline-dot.type-status{background:#22c55e}
.quick-action-stack{display:grid;gap:8px;margin-top:14px}
.dashboard-opportunities .opportunity-mini{grid-template-columns:10px minmax(0,1fr) auto}
.dashboard-opportunities .opportunity-mini>span:last-child{font-size:.66rem;font-weight:800;white-space:nowrap}
.dashboard-clients{grid-template-columns:1fr}

@media(max-width:1180px){.sales-filters,.opportunity-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-hero{grid-template-columns:1fr auto}.opportunity-hero .heading-actions{grid-column:1/-1}.pipeline-toolbar{flex-direction:column}.pipeline-toolbar .heading-actions{width:100%}.pipeline-toolbar .heading-actions .btn{flex:1}}
@media(max-width:800px){.sales-detail-layout{grid-template-columns:1fr}.sales-filters,.opportunity-filters,.pipeline-filters{grid-template-columns:1fr}.opportunity-hero{grid-template-columns:1fr}.opportunity-value{text-align:left}.stage-change-form{grid-template-columns:1fr}.pipeline-column{flex-basis:280px;min-width:280px}.opportunity-mini{grid-template-columns:9px minmax(0,1fr)}.opportunity-mini>.status-badge,.opportunity-mini>span:last-child{grid-column:2;justify-self:start}.dashboard-opportunities .opportunity-mini{grid-template-columns:9px minmax(0,1fr)}}
.client-opportunities-panel{padding:20px;margin-bottom:16px}

/* BLOQUE 5: CATÁLOGO Y COTIZACIONES */
.category-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}
.quote-form-panel{max-width:none}
.quote-builder{display:flex;flex-direction:column;gap:22px}
.quote-main-fields{padding-bottom:20px;border-bottom:1px solid var(--border)}
.quote-items-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.quote-items-header h3{margin:2px 0 0;font-size:1.12rem}
.quote-lines{display:flex;flex-direction:column;gap:14px}
.quote-line{background:rgba(5,13,25,.55);border:1px solid var(--border);border-radius:18px;padding:16px}
.quote-line-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.quote-line-grid{display:grid;grid-template-columns:1.4fr .7fr 2fr .65fr .75fr .85fr .75fr .75fr .9fr;gap:10px;align-items:end}
.quote-line-grid label{min-width:0}
.quote-line-grid input,.quote-line-grid select{min-width:0;width:100%}
.quote-line-grid .description-field{grid-column:auto}
.line-total{min-height:67px;border-radius:13px;background:rgba(37,99,235,.1);border:1px solid rgba(96,165,250,.18);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:10px 12px}
.line-total span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.line-total strong{font-size:.96rem}
.quote-footer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:20px;align-items:start}
.quote-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-live-totals,.quote-view-totals{background:rgba(5,13,25,.7);border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}
.quote-live-totals>div,.quote-view-totals>div{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted)}
.quote-live-totals strong,.quote-view-totals strong{color:var(--text)}
.quote-live-totals .grand-total,.quote-view-totals .grand-total{border-top:1px solid var(--border);padding-top:13px;color:var(--text);font-size:1.05rem}.quote-live-totals .grand-total strong,.quote-view-totals .grand-total strong{font-size:1.3rem;color:#93c5fd}
.quote-hero{display:grid;grid-template-columns:minmax(0,2fr) auto auto;align-items:center;gap:22px;margin-bottom:18px}
.quote-detail-layout{grid-template-columns:minmax(0,2fr) minmax(280px,.85fr)}
.quote-detail-layout .span-2{grid-column:auto}
.quote-items-table td:first-child{min-width:260px}
.quote-view-totals{max-width:420px;margin:18px 0 0 auto}
.quote-actions-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr) minmax(270px,.85fr)}
.status-badge.quote-draft{background:rgba(148,163,184,.12);color:#cbd5e1}.status-badge.quote-sent{background:rgba(37,99,235,.14);color:#93c5fd}.status-badge.quote-accepted{background:rgba(34,197,94,.14);color:#86efac}.status-badge.quote-rejected{background:rgba(239,68,68,.14);color:#fca5a5}.status-badge.quote-expired{background:rgba(245,158,11,.14);color:#fcd34d}
.quote-dot{border-radius:999px}.quote-dot.quote-draft{background:#94a3b8}.quote-dot.quote-sent{background:#3b82f6}.quote-dot.quote-accepted{background:#22c55e}.quote-dot.quote-rejected{background:#ef4444}.quote-dot.quote-expired{background:#f59e0b}
.quote-print-body{background:#eef2f7;color:#111827;min-height:100vh;padding:34px;font-family:Inter,Arial,sans-serif}
.quote-print-sheet{width:min(960px,100%);margin:auto;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.13);padding:46px;border-radius:8px}
.quote-print-header{display:flex;justify-content:space-between;gap:30px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.quote-print-header>div:first-child{display:grid;grid-template-columns:52px auto;column-gap:14px;align-items:center}.quote-print-header img{width:52px;grid-row:span 2}.quote-print-header h1{margin:0;font-size:1.55rem}.quote-print-header p{margin:2px 0;color:#64748b}.quote-print-header>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.quote-print-header>div:last-child strong{font-size:1.3rem;color:#2563eb}.quote-print-header span{color:#64748b;font-size:.86rem}
.quote-print-client{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:24px 0}.quote-print-client>div{display:flex;flex-direction:column;gap:3px}.quote-print-client span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.quote-print-client strong{font-size:1.04rem}.quote-print-client small{color:#64748b}
.quote-print-table{width:100%;border-collapse:collapse;font-size:.86rem}.quote-print-table th{background:#f1f5f9;text-align:left;padding:11px;border-bottom:1px solid #cbd5e1}.quote-print-table td{padding:12px 11px;border-bottom:1px solid #e5e7eb;vertical-align:top}.quote-print-table td:not(:first-child),.quote-print-table th:not(:first-child){text-align:right}.quote-print-table td:first-child strong,.quote-print-table td:first-child small{display:block}.quote-print-table small{color:#64748b;margin-top:3px}
.quote-print-bottom{display:grid;grid-template-columns:1.5fr .75fr;gap:35px;padding-top:26px}.quote-print-bottom h3{font-size:.9rem;margin:0 0 6px}.quote-print-bottom p{font-size:.82rem;color:#475569;line-height:1.55;margin:0 0 18px}.quote-print-totals{display:flex;flex-direction:column;gap:9px}.quote-print-totals span{display:flex;justify-content:space-between;gap:20px;color:#64748b}.quote-print-totals strong{color:#111827}.quote-print-totals .total{font-size:1.05rem;padding-top:12px;border-top:2px solid #e5e7eb;color:#111827}.quote-print-sheet footer{border-top:1px solid #e5e7eb;margin-top:30px;padding-top:15px;text-align:center;color:#94a3b8;font-size:.75rem}.print-toolbar{position:fixed;right:24px;bottom:24px;display:flex;gap:10px}.print-toolbar button{border:0;border-radius:999px;padding:11px 17px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.print-toolbar button+button{background:#334155}
@media(max-width:1180px){.quote-line-grid{grid-template-columns:1.5fr .7fr 1.8fr .7fr}.line-total{min-height:64px}.quote-actions-grid{grid-template-columns:1fr 1.5fr}.quote-actions-grid>.interaction-form-card{grid-column:1/-1}.quote-detail-layout{grid-template-columns:1fr}}
@media(max-width:850px){.category-layout,.quote-footer-grid,.quote-notes,.quote-actions-grid{grid-template-columns:1fr}.quote-line-grid{grid-template-columns:1fr 1fr}.quote-line-grid .catalog-select-label,.quote-line-grid .description-field{grid-column:1/-1}.quote-hero{grid-template-columns:1fr}.quote-hero .heading-actions{justify-content:flex-start;flex-wrap:wrap}.quote-view-totals{max-width:none}.quote-print-body{padding:0}.quote-print-sheet{border-radius:0;padding:24px;box-shadow:none}.quote-print-header,.quote-print-bottom{grid-template-columns:1fr;display:grid}.quote-print-header>div:last-child{align-items:flex-start}.print-toolbar{position:static;background:#fff;padding:15px;justify-content:center}}
@media(max-width:560px){.quote-line-grid{grid-template-columns:1fr}.quote-line-grid .catalog-select-label,.quote-line-grid .description-field{grid-column:auto}.quote-items-header{align-items:flex-start;flex-direction:column}.quote-print-sheet{padding:18px}.quote-print-table{font-size:.75rem}.quote-print-table th,.quote-print-table td{padding:7px 5px}}
@media print{.quote-print-body{background:#fff;padding:0}.quote-print-sheet{width:100%;max-width:none;box-shadow:none;padding:0}.print-toolbar{display:none}.quote-print-sheet footer{margin-top:18px}@page{size:A4;margin:14mm}}

.status-badge.sale-pending{background:#fff7d6;color:#8a6500}.status-badge.sale-partial{background:#e8efff;color:#3159b8}.status-badge.sale-paid{background:#dcfce7;color:#166534}.status-badge.sale-overdue{background:#fee2e2;color:#b91c1c}.status-badge.sale-cancelled{background:#eef0f4;color:#596273}.print-body{background:#f5f7fb;padding:30px}.print-sheet{max-width:850px;margin:auto;background:white;padding:40px;border-radius:20px;box-shadow:0 15px 40px #0b122020}.print-sheet dl{display:grid;grid-template-columns:180px 1fr;gap:12px;margin:30px 0}.print-sheet dt{color:#687386}.print-sheet dd{margin:0;font-weight:600}@media print{.print-body{padding:0;background:white}.print-sheet{box-shadow:none;max-width:none}.print-sheet button{display:none}}

.nav-count{margin-left:auto;background:#ef4444;color:#fff;border-radius:999px;padding:1px 7px;font-size:.68rem}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.table-actions form{margin:0}
.task-list{display:flex;flex-direction:column;gap:10px}.task-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 170px;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);color:inherit;text-decoration:none}.task-row:hover{border-color:rgba(96,165,250,.45);transform:translateY(-1px)}.task-row.overdue{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.06)}.task-check{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(124,58,237,.15);color:#c4b5fd;font-weight:800}.task-row small,.task-date small{display:block;color:var(--muted);margin-top:4px}.task-date{text-align:right}.badge.low{background:rgba(34,197,94,.13);color:#86efac}.badge.medium{background:rgba(245,158,11,.14);color:#fcd34d}.badge.high,.badge.urgent{background:rgba(239,68,68,.14);color:#fca5a5}.agenda-list{display:flex;flex-direction:column;gap:12px}.agenda-item{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:16px;border-left:4px solid #7c3aed;background:rgba(255,255,255,.025);border-radius:12px;color:inherit;text-decoration:none}.agenda-item>strong{font-size:1.15rem;color:#93c5fd}.agenda-item h3{margin:0 0 4px}.agenda-item p{margin:0;color:var(--muted)}.task-actions{margin-top:18px;flex-wrap:wrap}.task-actions form{margin:0}.note-box{margin-top:18px;padding:16px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);line-height:1.6}@media(max-width:760px){.task-row{grid-template-columns:30px 1fr}.task-row>.badge,.task-date{grid-column:2;text-align:left}.agenda-item{grid-template-columns:60px 1fr}.agenda-item>.badge{grid-column:2}}

/* Reportes e indicadores */
.report-filter-panel,.report-card,.export-panel{padding:20px}.report-filters{grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(120px,.45fr) auto auto}.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.report-grid{margin-bottom:16px}.report-bars{display:grid;gap:13px}.report-bar-row{display:grid;grid-template-columns:110px minmax(130px,1fr) 150px;gap:12px;align-items:center}.report-bar-label strong,.report-bar-label small{display:block}.report-bar-label strong{font-size:.74rem}.report-bar-label small{font-size:.63rem;color:var(--muted);margin-top:3px}.report-bar-track{height:12px;background:#071423;border:1px solid rgba(255,255,255,.06);border-radius:999px;overflow:hidden}.report-bar-track span{display:block;height:100%;min-width:3px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--violet),var(--cyan))}.report-bar-row>strong{text-align:right;font-size:.74rem}.report-stat-list{display:grid;gap:9px}.report-stat-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;background:#0a1728;border:1px solid rgba(255,255,255,.055);border-radius:12px}.report-stat-list strong,.report-stat-list small{display:block}.report-stat-list strong{font-size:.75rem}.report-stat-list small{font-size:.63rem;color:var(--muted);margin-top:3px}.report-stat-list b{font-size:.7rem;text-align:right}.report-dot{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px rgba(34,211,238,.45)}.report-dot.violet{background:var(--violet);box-shadow:0 0 10px rgba(124,58,237,.55)}.ranking-list{display:grid;gap:8px}.ranking-list>a,.ranking-static{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.055);background:#0a1728;border-radius:12px;color:var(--text)}.ranking-list>a:hover{border-color:#385d91;background:rgba(37,99,235,.08)}.ranking-list>a>span,.ranking-static>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(37,99,235,.17);color:#90b9ff;font-size:.68rem;font-weight:900}.ranking-list strong,.ranking-list small{display:block}.ranking-list strong{font-size:.73rem}.ranking-list small{font-size:.62rem;color:var(--muted);margin-top:3px}.ranking-list b{font-size:.68rem;text-align:right}.report-donut-summary{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;width:220px;height:220px;margin:10px auto;background:radial-gradient(circle at center,#0d1b2e 54%,transparent 55%),conic-gradient(var(--green) 0 65%,rgba(239,68,68,.7) 65% 100%);box-shadow:inset 0 0 40px rgba(0,0,0,.25)}.report-donut-summary>strong{font-size:2rem}.report-donut-summary>span{font-size:.72rem;color:var(--muted);margin:4px 0 10px}.report-donut-summary>div{font-size:.68rem}.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.export-card{display:block;padding:16px;background:#0a1728;border:1px solid var(--line);border-radius:14px;color:var(--text)}.export-card:hover{border-color:#3b67a2;transform:translateY(-1px)}.export-card strong,.export-card span{display:block}.export-card strong{font-size:.82rem}.export-card span{color:var(--muted);font-size:.67rem;margin-top:5px}.nav-count{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:rgba(239,68,68,.18);color:#ff9b9b;font-size:.62rem}
@media(max-width:1000px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-bar-row{grid-template-columns:90px minmax(110px,1fr) 125px}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.report-filters{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-bar-row{grid-template-columns:1fr}.report-bar-row>strong{text-align:left}.export-grid{grid-template-columns:1fr}.report-card,.report-filter-panel,.export-panel{padding:15px}.report-donut-summary{width:190px;height:190px}}

/* Mantenimiento, respaldos y PWA */
.connection-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(34,197,94,.12);color:#86efac;font-size:.65rem;font-weight:800;border:1px solid rgba(34,197,94,.2)}
.connection-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.8)}
.connection-chip.offline{background:rgba(239,68,68,.12);color:#fca5a5;border-color:rgba(239,68,68,.25)}
.connection-chip.offline:before{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.75)}
.pwa-install[hidden]{display:none!important}.pwa-install{white-space:nowrap}
.maintenance-grid{align-items:start}.health-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.health-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:center;padding:13px;border-radius:14px;border:1px solid var(--line);background:#0a1728}
.health-row>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:900}.health-row strong,.health-row small{display:block}.health-row strong{font-size:.74rem}.health-row small{margin-top:4px;color:var(--muted);font-size:.63rem;overflow-wrap:anywhere}
.health-row.ok>span{background:rgba(34,197,94,.14);color:#86efac}.health-row.warning{border-color:rgba(245,158,11,.28);background:rgba(120,53,15,.11)}.health-row.warning>span{background:rgba(245,158,11,.15);color:#fcd34d}
.checksum-code{font-size:.65rem;color:#9fc2ff;background:#071423;padding:5px 7px;border-radius:8px}.status-badge.backup-completed{background:rgba(34,197,94,.14);color:#86efac}.status-badge.backup-creating{background:rgba(37,99,235,.14);color:#9fc2ff}.status-badge.backup-failed{background:rgba(239,68,68,.14);color:#fca5a5}.status-badge.backup-deleted{background:rgba(148,163,184,.13);color:#cbd5e1}
@media(max-width:900px){.health-list{grid-template-columns:1fr}.topbar-right .connection-chip{display:none}}
@media(max-width:620px){.pwa-install{display:none!important}}
