:root{
    --primary:#075e72;
    --primary-2:#0f8a9d;
    --secondary:#0b2b45;
    --success:#0b8f63;
    --warning:#f59e0b;
    --danger:#dc3545;
    --soft:#eff9fb;
    --text:#132238;
    --muted:#667085;
    --card:#ffffff;
    --border:#dce8ee;
    --shadow:0 18px 48px rgba(7,94,114,.14);
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f3f7fb;color:var(--text);}
a{text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:292px;background:linear-gradient(160deg,#073b4c 0%,#075e72 48%,#0a7d8f 100%);color:#fff;position:fixed;left:0;top:0;bottom:0;padding:20px 16px;z-index:1040;box-shadow:12px 0 34px rgba(8,44,68,.18);display:flex;flex-direction:column}.brand-box{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.12);padding:12px;border-radius:24px;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(14px)}.brand-logo{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:17px;padding:4px}.brand-title{font-weight:900;font-size:1.05rem}.brand-subtitle{font-size:.78rem;opacity:.85}.side-nav{margin-top:22px;overflow:auto;padding-right:4px}.side-link{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.88);padding:11px 12px;border-radius:16px;font-weight:750;margin-bottom:6px;transition:.22s ease}.side-link:hover,.side-link.active{background:rgba(255,255,255,.16);color:#fff;transform:translateX(2px)}.side-link i{font-size:1.1rem;width:22px}.side-divider{height:1px;background:rgba(255,255,255,.18);margin:14px 6px}.sidebar-footer{margin-top:auto;padding:14px 12px;background:rgba(255,255,255,.1);border-radius:18px;font-weight:800}.sidebar-footer small{display:block;font-weight:500;opacity:.75}.app-main{margin-left:292px;width:calc(100% - 292px);min-height:100vh}.topbar{height:78px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);position:sticky;top:0;z-index:1030;display:flex;align-items:center;gap:16px;padding:0 28px;border-bottom:1px solid var(--border)}.topbar-title{font-weight:900;font-size:1.08rem}.topbar-subtitle{font-size:.84rem;color:var(--muted)}.content-wrap{padding:28px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#dff7f2;color:#00634b;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.page-title{font-size:clamp(1.8rem,2.4vw,2.75rem);font-weight:950;letter-spacing:-.04em;margin:.55rem 0}.page-subtitle{color:var(--muted);max-width:780px}.glass-card,.stat-card,.table-card{background:var(--card);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow)}.glass-card{padding:24px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{padding:18px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;right:-22px;top:-28px;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,rgba(15,138,157,.18),rgba(11,143,99,.13))}.stat-icon{width:42px;height:42px;border-radius:14px;background:var(--soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:12px}.stat-label{color:var(--muted);font-size:.84rem;font-weight:700}.stat-value{font-size:1.85rem;font-weight:950}.table-card{padding:0;overflow:hidden}.table-card .card-header{background:#fff;border-bottom:1px solid var(--border);padding:18px 22px;font-weight:900}.table thead th{background:#f7fafc;color:#41546b;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.table td,.table th{vertical-align:middle}.btn{border-radius:14px;font-weight:800}.btn-primary{background:linear-gradient(135deg,var(--primary),#1155d4);border:0}.btn-success{background:linear-gradient(135deg,#07885d,#14b985);border:0}.form-control,.form-select{border-radius:14px;border-color:#d8e4ea;padding:.68rem .85rem}.form-label{font-weight:800;color:#344054}.login-bg{min-height:100vh;background:radial-gradient(circle at top left,#d8fbf6 0,#f3f7fb 32%,#eaf1ff 100%);display:flex;align-items:center;justify-content:center;padding:28px}.login-card{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;border-radius:34px;overflow:hidden;box-shadow:0 34px 90px rgba(8,44,68,.18);background:#fff;border:1px solid var(--border)}.login-brand{background:linear-gradient(160deg,#073b4c,#0a7d8f);color:#fff;padding:42px;position:relative}.login-brand img{width:88px;background:#fff;border-radius:24px;padding:8px;margin-bottom:24px}.login-brand h1{font-weight:950;letter-spacing:-.04em}.login-form{padding:42px}.mini-list{display:grid;gap:10px;margin-top:24px}.mini-list span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);padding:10px 12px;border-radius:16px}.data-actions{display:flex;gap:8px;flex-wrap:wrap}.filter-bar{display:flex;gap:10px;flex-wrap:wrap}.filter-bar .form-control,.filter-bar .form-select{max-width:260px}.timeline{display:grid;gap:12px}.timeline-item{border-left:4px solid var(--primary-2);padding:12px 14px;background:#f8fbfd;border-radius:14px}.badge-soft{background:#e7f7fb;color:#075e72}.empty-state{padding:36px;text-align:center;color:var(--muted)}.empty-state i{font-size:3rem;color:#b8cad4}.app-alert{border-left:5px solid var(--warning)}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:991px){.sidebar{transform:translateX(-110%);transition:.25s ease}.sidebar.show{transform:translateX(0)}.app-main{margin-left:0;width:100%}.topbar{padding:0 16px}.content-wrap{padding:20px}.page-head{flex-direction:column}.login-card{grid-template-columns:1fr}.login-brand{padding:30px}.login-form{padding:30px}}@media(max-width:620px){.stat-grid{grid-template-columns:1fr}.topbar-subtitle{display:none}.topbar-actions .btn-outline-primary{display:none}.content-wrap{padding:14px}.glass-card{padding:18px}.page-title{font-size:1.75rem}.table-responsive{font-size:.88rem}}
/* v1.2 */
.fw-black{font-weight:950}.white-space-pre{white-space:pre-wrap}.detail-grid small,.detail-list span{display:block;color:var(--muted);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.detail-grid strong,.detail-list strong{display:block;font-size:.98rem;color:var(--text)}.detail-grid>div{background:#f8fbfd;border:1px solid var(--border);border-radius:16px;padding:12px}.detail-list{display:grid;gap:10px}.detail-list>div{background:#f8fbfd;border:1px solid var(--border);border-radius:16px;padding:12px}.timeline-rich .timeline-item{border-left-width:5px}.print-title{border-bottom:2px solid #111;padding-bottom:10px}.report-kpis{margin-bottom:24px}.ficha-card{position:relative;overflow:hidden}.ficha-card:after{content:"";position:absolute;right:-70px;top:-70px;width:170px;height:170px;border-radius:50%;background:linear-gradient(135deg,rgba(15,138,157,.10),rgba(11,143,99,.08));pointer-events:none}.side-link.active-auto{background:rgba(255,255,255,.18);color:#fff}.print-only{display:none}
@media print{body{background:#fff!important;color:#111;font-size:12px}.sidebar,.topbar,.no-print,.btn,.alert{display:none!important}.app-main{margin:0!important;width:100%!important}.content-wrap{padding:0!important;max-width:100%!important}.glass-card,.stat-card,.table-card{box-shadow:none!important;border:1px solid #bbb!important;border-radius:8px!important;break-inside:avoid}.stat-grid{grid-template-columns:repeat(4,1fr)!important;gap:8px}.stat-card{padding:10px}.stat-icon{display:none}.stat-value{font-size:1.2rem}.table{font-size:11px}.table thead th{background:#eee!important;color:#111!important}.badge{border:1px solid #777!important;color:#111!important;background:#fff!important}.d-print-block{display:block!important}.print-only{display:block}.page-head{margin-bottom:10px}.content-wrap a{color:#111!important;text-decoration:none}}
/* v1.3 - Manual interactivo, asistente local y auditoría */
.help-gradient{background:linear-gradient(145deg,#075e72,#0f8a9d);color:#fff;position:relative;overflow:hidden}.help-gradient:after{content:"";position:absolute;right:-45px;bottom:-45px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.13)}.help-icon-xl{width:68px;height:68px;border-radius:22px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:16px}.flow-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.flow-step{background:#f8fbfd;border:1px solid var(--border);border-radius:18px;padding:14px;min-height:142px;position:relative}.flow-step span{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;margin-bottom:12px}.flow-step strong{display:block;font-size:.95rem}.flow-step small{display:block;color:var(--muted);margin-top:6px}.help-list{display:grid;gap:10px;padding-left:1.2rem}.help-list li{padding-left:4px}.assistant-widget{position:fixed;right:22px;bottom:22px;z-index:2000}.assistant-toggle{border:0;border-radius:999px;padding:13px 18px;background:linear-gradient(135deg,#075e72,#1155d4);color:#fff;box-shadow:0 18px 42px rgba(7,94,114,.28);display:flex;align-items:center;gap:9px;font-weight:900}.assistant-toggle i{font-size:1.2rem}.assistant-panel{position:absolute;right:0;bottom:62px;width:min(410px,calc(100vw - 30px));height:560px;max-height:calc(100vh - 120px);background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:0 26px 80px rgba(8,44,68,.24);display:none;overflow:hidden}.assistant-widget.open .assistant-panel{display:flex;flex-direction:column}.assistant-head{background:linear-gradient(135deg,#073b4c,#0a7d8f);color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between}.assistant-head small{display:block;opacity:.8}.assistant-close{border:0;background:rgba(255,255,255,.18);color:#fff;width:34px;height:34px;border-radius:12px}.assistant-body{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:10px;flex:1;background:#f8fbfd}.assistant-message{padding:11px 13px;border-radius:16px;max-width:92%;line-height:1.35;font-size:.93rem}.assistant-message.bot{background:#fff;border:1px solid var(--border);align-self:flex-start}.assistant-message.user{background:linear-gradient(135deg,var(--primary),#1155d4);color:#fff;align-self:flex-end}.assistant-suggestions{display:flex;gap:7px;flex-wrap:wrap}.assistant-suggestions button{border:1px solid #cfe1e8;background:#fff;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:800;color:var(--primary)}.assistant-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border);background:#fff}.assistant-form input{flex:1;border:1px solid var(--border);border-radius:16px;padding:11px 12px;outline:0}.assistant-form button{width:44px;border:0;border-radius:16px;background:var(--primary);color:#fff}.accordion-button{font-weight:900}.accordion-button:not(.collapsed){background:#eff9fb;color:#075e72}.fw-black{font-weight:950}@media(max-width:1200px){.flow-steps{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.flow-steps{grid-template-columns:1fr}.assistant-widget{right:12px;bottom:12px}.assistant-panel{height:calc(100vh - 96px)}}

/* v1.4 - modo compacto tipo 90%, contenedores controlados y paginación visual */
html{font-size:90%;}
body{overflow-x:hidden;}
.sidebar{width:264px;padding:16px 12px;}
.brand-box{padding:10px;border-radius:20px;}
.brand-logo{width:46px;height:46px;border-radius:14px;}
.brand-title{font-size:.98rem;}
.brand-subtitle{font-size:.74rem;}
.side-nav{margin-top:16px;}
.side-link{padding:9px 10px;border-radius:14px;margin-bottom:4px;gap:10px;}
.side-link i{font-size:1rem;width:20px;}
.side-divider{margin:10px 6px;}
.sidebar-footer{padding:11px 10px;border-radius:16px;}
.app-main{margin-left:264px;width:calc(100% - 264px);}
.topbar{height:68px;padding:0 22px;}
.content-wrap{padding:22px;max-width:1580px;}
.page-head{margin-bottom:18px;}
.page-title{font-size:clamp(1.65rem,2.05vw,2.35rem);line-height:1.05;margin:.45rem 0;}
.page-subtitle{font-size:.94rem;}
.eyebrow{padding:5px 11px;font-size:.73rem;}
.glass-card{padding:18px;border-radius:22px;}
.stat-grid{gap:14px;margin-bottom:18px;}
.stat-card{padding:14px;border-radius:22px;min-height:112px;}
.stat-card:before{width:82px;height:82px;right:-18px;top:-26px;}
.stat-icon{width:36px;height:36px;border-radius:12px;font-size:1.05rem;margin-bottom:9px;}
.stat-label{font-size:.8rem;}
.stat-value{font-size:1.6rem;line-height:1;}
.table-card{border-radius:22px;}
.table-card .card-header{padding:14px 17px;}
.table-card .table{font-size:.9rem;}
.table-card .table th,.table-card .table td{padding:.55rem .65rem;}
.table-card .table-responsive{max-height:430px;overflow:auto;}
.table-card .table thead th{position:sticky;top:0;z-index:2;}
.table-card .pagination{margin-bottom:0;}
.table-footer-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--border);background:#fff;}
.table-footer-compact .record-summary{font-size:.82rem;color:var(--muted);font-weight:800;}
.dashboard-table .table-responsive{max-height:290px;}
.report-table .table-responsive{max-height:360px;}
.filter-bar .form-control,.filter-bar .form-select{max-width:230px;}
.btn{padding:.48rem .82rem;}
.btn-sm{padding:.28rem .55rem;}
.empty-state{padding:24px;}
.assistant-toggle{padding:11px 15px;}
.assistant-panel{height:510px;}
@media(max-width:991px){html{font-size:94%;}.sidebar{width:280px}.app-main{margin-left:0;width:100%;}.content-wrap{padding:18px}.table-card .table-responsive{max-height:none;}.dashboard-table .table-responsive,.report-table .table-responsive{max-height:none;}}
@media(max-width:620px){html{font-size:100%;}.content-wrap{padding:12px}.page-title{font-size:1.55rem}.stat-card{min-height:auto}.table-footer-compact{align-items:flex-start}.table-footer-compact .pagination{justify-content:flex-start!important}}
