@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--qqz-green:#6fba2c;--qqz-lime:#9ac23c;--qqz-olive:#6b6f63;--qqz-graphite:#2b2e32;--qqz-black:#0d0f12;--qqz-navy:#071c2c;--qqz-bg:#f5f7fa;--qqz-card:#fff;--qqz-border:#e4e9ef;--qqz-muted:#6c7785;--qqz-shadow:0 12px 35px rgba(7,28,44,.08);--qqz-radius:18px}
*{box-sizing:border-box}body{font-family:Manrope,Arial,sans-serif;margin:0;background:var(--qqz-bg);color:#142033}a{color:inherit}.qqz-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.qqz-sidebar{background:linear-gradient(180deg,#071c2c,#09273a);color:#fff;padding:28px 18px;display:flex;flex-direction:column}.qqz-sidebar-logo{width:145px;margin:0 auto 30px;filter:brightness(0) invert(1)}.qqz-nav{display:grid;gap:7px}.qqz-nav a{padding:11px 13px;border-radius:10px;text-decoration:none;font-size:13px}.qqz-nav a:hover,.qqz-nav a.active{background:linear-gradient(90deg,var(--qqz-green),var(--qqz-lime));color:#fff}.qqz-user{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);font-size:12px;color:#dbe5ec}.qqz-main{padding:30px 34px 48px}.qqz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.qqz-title h1{margin:0;font-size:28px}.qqz-title p{margin:5px 0 0;color:var(--qqz-muted);font-size:13px}.qqz-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.qqz-card{background:#fff;border:1px solid var(--qqz-border);border-radius:var(--qqz-radius);box-shadow:var(--qqz-shadow)}.qqz-kpi{padding:20px}.qqz-kpi-label{color:var(--qqz-muted);font-size:12px}.qqz-kpi-value{font-size:30px;font-weight:800;margin-top:8px}.qqz-section{margin-top:26px}.qqz-section h2{font-size:18px;margin:0 0 14px}.qqz-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.qqz-module{padding:22px;text-align:center;text-decoration:none;transition:.2s}.qqz-module:hover{transform:translateY(-3px);border-color:#b9d99b}.qqz-module-icon{font-size:28px;margin-bottom:10px}.qqz-module strong{display:block;font-size:13px}.qqz-module small{display:block;margin-top:5px;color:var(--qqz-muted)}.qqz-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:15px}.qqz-panel{padding:22px}.qqz-activity{list-style:none;padding:0;margin:0}.qqz-activity li{padding:13px 0;border-bottom:1px solid #edf0f3}.qqz-activity-title{font-weight:700;font-size:13px}.qqz-activity-meta{color:var(--qqz-muted);font-size:11px;margin-top:4px}.qqz-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 16px;background:linear-gradient(90deg,var(--qqz-green),var(--qqz-lime));color:#fff;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}.qqz-btn-secondary{background:#fff;color:#263444;border:1px solid var(--qqz-border)}.qqz-admin{display:grid;gap:9px}.qqz-admin a{padding:10px 12px;border:1px solid var(--qqz-border);border-radius:10px;text-decoration:none;font-size:12px;background:#fff}.qqz-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#eef8e7;color:#4f8c22}.qqz-badge.future{background:#eef1f4;color:#65717e}.qqz-badge.progress{background:#fff4df;color:#a86600}
body.qqz-login-page{background:radial-gradient(circle at 80% 80%,rgba(111,186,44,.20),transparent 35%),linear-gradient(145deg,#061827,#0c3343);min-height:100vh;display:grid;place-items:center;padding:24px}.qqz-login-card{width:min(410px,100%);background:#fff;border-radius:22px;padding:34px;box-shadow:0 28px 70px rgba(0,0,0,.35)}.qqz-login-logo{width:235px;display:block;margin:0 auto 24px}.qqz-login-card h1{text-align:center;font-size:22px;margin:0 0 22px}.qqz-field{margin-bottom:14px}.qqz-field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.qqz-field input{width:100%;padding:13px 14px;border:1px solid #dbe2e8;border-radius:10px;font:inherit}.qqz-field input:focus{outline:0;border-color:var(--qqz-green);box-shadow:0 0 0 3px rgba(111,186,44,.15)}.qqz-login-card .qqz-btn{width:100%;margin-top:8px}.qqz-error{margin-top:13px;padding:11px;border-radius:10px;background:#fff0f0;color:#9e3434;font-size:12px}.qqz-login-footer{text-align:center;margin-top:22px;color:#71808e;font-size:10px}.qqz-login-footer a{color:var(--qqz-green);text-decoration:none;font-weight:800}
@media(max-width:1050px){.qqz-grid-4,.qqz-module-grid{grid-template-columns:repeat(2,1fr)}.qqz-content-grid{grid-template-columns:1fr}}@media(max-width:760px){.qqz-shell{display:block}.qqz-sidebar{position:relative}.qqz-nav{grid-template-columns:repeat(2,1fr)}.qqz-main{padding:22px 16px}.qqz-grid-4,.qqz-module-grid{grid-template-columns:1fr}}

/* QQZ RC2 — Dashboard refinements */
.qqz-nav a{display:flex;align-items:center;gap:10px}.qqz-nav a span{width:22px;text-align:center;font-size:17px}.qqz-user-name{font-weight:700;color:#fff;overflow-wrap:anywhere}.qqz-user-tenant{margin-top:4px;color:#aebfca}.qqz-top-actions{display:flex;align-items:center;gap:14px}.qqz-logout{padding:10px 14px;border-radius:10px;border:1px solid #dce4e9;background:#fff;color:#263444;text-decoration:none;font-size:12px;font-weight:800;transition:.2s}.qqz-logout:hover{border-color:#9ac23c;color:#4f8c22;box-shadow:0 8px 20px rgba(7,28,44,.08)}
.qqz-kpi{display:flex;align-items:center;gap:15px;position:relative;overflow:hidden}.qqz-kpi:after{content:"";position:absolute;right:-28px;bottom:-38px;width:100px;height:100px;border-radius:50%;background:currentColor;opacity:.055}.qqz-kpi-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:24px;font-weight:800;flex:0 0 auto}.qqz-kpi-green .qqz-kpi-icon{background:#eef8e7;color:#5aa51f}.qqz-kpi-blue .qqz-kpi-icon{background:#eaf3ff;color:#2374d8}.qqz-kpi-orange .qqz-kpi-icon{background:#fff1e3;color:#ee7d19}.qqz-kpi-purple .qqz-kpi-icon{background:#f1ebff;color:#7650c7}
.qqz-module{position:relative;overflow:hidden;border-top:4px solid transparent}.qqz-module:before{content:"";position:absolute;inset:auto -25px -45px auto;width:105px;height:105px;border-radius:50%;opacity:.07;background:currentColor}.qqz-module-icon{width:58px;height:58px;border-radius:17px;margin:0 auto 13px;display:grid;place-items:center;font-size:30px;box-shadow:0 10px 24px rgba(7,28,44,.10)}.module-stability{color:#4f8c22;border-top-color:#72b82f}.module-stability .qqz-module-icon{background:linear-gradient(145deg,#e8f7db,#c9eba9);color:#56a020}.module-monitoring{color:#176cb9;border-top-color:#3a91df}.module-monitoring .qqz-module-icon{background:linear-gradient(145deg,#e6f3ff,#c8e4fb);color:#227dcc}.module-validation{color:#6846b4;border-top-color:#8a69d3}.module-validation .qqz-module-icon{background:linear-gradient(145deg,#f0eaff,#ddd0fb);color:#7652c2}.module-spc{color:#168f91;border-top-color:#2bb6b9}.module-spc .qqz-module-icon{background:linear-gradient(145deg,#e2f8f7,#c4eceb);color:#14999b}.qqz-module strong{color:#142033}.qqz-module small{min-height:24px}
.qqz-activity li{display:grid;grid-template-columns:10px 1fr;gap:12px}.qqz-activity-dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--qqz-green),var(--qqz-lime));margin-top:5px;box-shadow:0 0 0 4px rgba(111,186,44,.10)}
.qqz-admin a{display:flex;align-items:center;gap:12px;padding:12px;border-left:4px solid transparent;transition:.18s}.qqz-admin a:hover{transform:translateX(3px);box-shadow:0 8px 18px rgba(7,28,44,.07)}.qqz-admin a>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:18px;font-weight:800;flex:0 0 auto}.qqz-admin a strong{display:block;font-size:12px;color:#182536}.qqz-admin a small{display:block;margin-top:2px;color:var(--qqz-muted);font-size:10px}.admin-clients{border-left-color:#6fba2c!important}.admin-clients>span{background:#eef8e7;color:#5a9e25}.admin-users{border-left-color:#2e7fd5!important}.admin-users>span{background:#eaf3ff;color:#2875c5}.admin-products{border-left-color:#e88328!important}.admin-products>span{background:#fff1e5;color:#df7720}.admin-forms{border-left-color:#805fc5!important}.admin-forms>span{background:#f1ebff;color:#7352b8}.admin-packaging{border-left-color:#1aa4a5!important}.admin-packaging>span{background:#e5f7f7;color:#168f90}.admin-methods{border-left-color:#c7a020!important}.admin-methods>span{background:#fff8db;color:#9d7c11}.admin-reasons{border-left-color:#d05470!important}.admin-reasons>span{background:#fdebf0;color:#bc4561}
@media(max-width:760px){.qqz-top{align-items:flex-start;gap:15px}.qqz-top-actions img{display:none}.qqz-logout{white-space:nowrap}.qqz-kpi{padding:18px}.qqz-title h1{font-size:23px}}

/* QQZ RC3 — navegación y pantallas internas */
.qqz-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--qqz-green);margin-bottom:6px}.qqz-module-hero{display:flex;align-items:center;gap:20px;padding:24px 26px;border-radius:20px;background:linear-gradient(135deg,#fff,#f1f8eb);border:1px solid #dcebd0;box-shadow:var(--qqz-shadow);color:#4f8c22}.qqz-module-hero-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;font-size:36px;background:linear-gradient(145deg,#e8f7db,#c9eba9);box-shadow:0 12px 28px rgba(79,140,34,.16)}.qqz-module-hero h2{margin:8px 0 5px;color:#142033;font-size:21px}.qqz-module-hero p{margin:0;color:var(--qqz-muted);font-size:13px}.qqz-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.qqz-action-card{display:grid;grid-template-columns:52px 1fr 22px;align-items:center;gap:14px;padding:18px;text-decoration:none;border-left:4px solid transparent;transition:.18s}.qqz-action-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(7,28,44,.12)}.qqz-action-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:24px;font-weight:800}.qqz-action-card strong{display:block;font-size:14px;color:#152235}.qqz-action-card small{display:block;margin-top:4px;color:var(--qqz-muted);font-size:11px;line-height:1.45}.qqz-action-card b{font-size:20px;color:#9aa5af}.action-green{border-left-color:#6fba2c}.action-green .qqz-action-icon{background:#eef8e7;color:#5a9e25}.action-blue{border-left-color:#2e7fd5}.action-blue .qqz-action-icon{background:#eaf3ff;color:#2875c5}.action-orange{border-left-color:#e88328}.action-orange .qqz-action-icon{background:#fff1e5;color:#df7720}.action-purple{border-left-color:#805fc5}.action-purple .qqz-action-icon{background:#f1ebff;color:#7352b8}.action-teal{border-left-color:#1aa4a5}.action-teal .qqz-action-icon{background:#e5f7f7;color:#168f90}.action-slate{border-left-color:#687789}.action-slate .qqz-action-icon{background:#edf1f4;color:#536273}.qqz-crumbs{font-size:12px;color:var(--qqz-muted)}.qqz-crumbs a{color:#397b16;text-decoration:none;font-weight:700}.qqz-internal-content .hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.qqz-internal-content .hero h1{margin:0 0 7px;font-size:28px;color:#142033}.qqz-internal-content .hero p{margin:0;color:var(--qqz-muted);font-size:13px}.qqz-internal-content .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.qqz-internal-content .card{background:#fff;border:1px solid var(--qqz-border);border-radius:var(--qqz-radius);padding:20px;box-shadow:var(--qqz-shadow)}.qqz-internal-content .card h2,.qqz-internal-content .card h3{margin-top:0;color:#142033}.qqz-internal-content .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:10px 14px;border-radius:10px;background:linear-gradient(90deg,var(--qqz-green),var(--qqz-lime));color:#fff;font-weight:800;border:0;cursor:pointer;font:inherit;font-size:12px}.qqz-internal-content .btn.secondary{background:#fff;color:#263444;border:1px solid var(--qqz-border)}.qqz-internal-content .notice{padding:13px 15px;border-radius:12px;background:#fff8df;border:1px solid #f4dfa0;color:#805b0a;margin-bottom:18px;font-size:13px}.qqz-internal-content .error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.qqz-internal-content .ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.qqz-internal-content form.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.qqz-internal-content .field{display:flex;flex-direction:column;gap:5px}.qqz-internal-content .field label{font-size:11px;font-weight:800;color:#475569}.qqz-internal-content .field input,.qqz-internal-content .field select{padding:10px 11px;border:1px solid #d7dfe6;border-radius:10px;background:#fff;min-width:140px;font:inherit;font-size:12px}.qqz-internal-content table{width:100%;border-collapse:collapse;background:#fff}.qqz-internal-content th,.qqz-internal-content td{text-align:left;padding:11px 12px;border-bottom:1px solid #e8edf1;font-size:12px}.qqz-internal-content th{background:#f7f9fb;color:#475569}.qqz-internal-content .table-wrap{overflow:auto;border:1px solid var(--qqz-border);border-radius:14px;margin-top:16px;background:#fff}.qqz-internal-content .badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#eef2ff;color:#3730a3}.qqz-internal-content .badge.good{background:#ecfdf5;color:#047857}.qqz-internal-content .badge.bad{background:#fef2f2;color:#b91c1c}.qqz-internal-content .muted{font-size:12px;color:var(--qqz-muted)}
@media(max-width:900px){.qqz-action-grid,.qqz-internal-content .grid{grid-template-columns:1fr}.qqz-module-hero{align-items:flex-start}.qqz-internal-top{align-items:flex-start}}

/* RC3 final: encabezado institucional de marca */
.qqz-brand-heading h1 {
  margin-bottom: .18rem;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: -.045em;
}
.qqz-brand-meaning {
  margin: 0;
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--qqz-primary, #5a8f27);
}
.qqz-organization {
  margin: .45rem 0 0;
  font-size: .88rem;
  color: var(--qqz-muted, #667085);
}
.qqz-organization strong { color: var(--qqz-dark, #1f2937); }


/* QQZ RC4 — homologación de pantallas internas */
.qqz-internal-page{background:var(--qqz-bg);color:var(--qqz-graphite)}
.qqz-internal-shell{min-height:100vh}
.qqz-internal-main{min-width:0}
.qqz-internal-header{margin-bottom:22px}
.qqz-legacy-content>.container,.qqz-legacy-content>.page{max-width:none!important;margin:0!important;padding:0!important}
.qqz-legacy-content>.hero,.qqz-legacy-content>.container>.hero,.qqz-legacy-content>.page>.header{display:none!important}
.qqz-legacy-content .topbar{display:none!important}
.qqz-legacy-content .card{border:1px solid var(--qqz-border)!important;border-radius:16px!important;box-shadow:var(--qqz-shadow)!important;background:#fff!important}
.qqz-legacy-content .btn,.qqz-legacy-content button[type=submit],.qqz-legacy-content input[type=submit]{border-radius:10px!important;font-family:Manrope,Arial,sans-serif!important;font-weight:800!important}
.qqz-legacy-content .btn-primary,.qqz-legacy-content button[type=submit],.qqz-legacy-content input[type=submit]{background:linear-gradient(90deg,var(--qqz-green),var(--qqz-lime))!important;border-color:transparent!important;color:#fff!important}
.qqz-legacy-content input,.qqz-legacy-content select,.qqz-legacy-content textarea{border:1px solid #d7dfe6!important;border-radius:10px!important;font-family:Manrope,Arial,sans-serif!important}
.qqz-legacy-content input:focus,.qqz-legacy-content select:focus,.qqz-legacy-content textarea:focus{outline:none!important;border-color:var(--qqz-green)!important;box-shadow:0 0 0 3px rgba(111,186,44,.13)!important}
.qqz-legacy-content table{border-collapse:separate!important;border-spacing:0!important;width:100%!important}
.qqz-legacy-content th{background:#f4f8f1!important;color:#405047!important}
.qqz-legacy-content th,.qqz-legacy-content td{border-color:#e7ecef!important}
.qqz-legacy-content a{accent-color:var(--qqz-green)}
.qqz-legacy-content .success{background:#ecfdf5!important;border-color:#a7f3d0!important;color:#065f46!important}
.qqz-legacy-content .error{background:#fef2f2!important;border-color:#fecaca!important;color:#991b1b!important}
.qqz-legacy-content .badge{background:#eef8e7!important;color:#4f8c22!important;border-color:#d4eac3!important}
@media(max-width:760px){
  .qqz-internal-header{flex-direction:column}
  .qqz-legacy-content{overflow-x:visible}
  .qqz-legacy-content .card,
  .qqz-internal-content .card,
  .qqz-legacy-content .table-wrap,
  .qqz-internal-content .table-wrap{
    max-width:100%;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .qqz-legacy-content table,
  .qqz-internal-content table{
    min-width:760px;
    width:max-content!important;
  }
  .qqz-legacy-content th, .qqz-legacy-content td,
  .qqz-internal-content th, .qqz-internal-content td{white-space:normal}
  .study-actions{min-width:120px}
}


/* QQZ RC5 — navegación y componentes internos unificados */
.qqz-internal-header .qqz-title{display:grid;gap:6px}
.qqz-internal-header .qqz-crumbs{order:1;margin-bottom:2px}
.qqz-internal-header .qqz-eyebrow{order:0}
.qqz-internal-header h1{order:2;margin-top:2px!important}
.qqz-internal-header p{order:3}
.qqz-crumbs span{color:#667085}

/* Botones legacy: prioridad visual QQZ, sin alterar acciones ni rutas */
.qqz-internal-content .btn,
.qqz-internal-content button.btn,
.qqz-internal-content input[type="submit"],
.qqz-internal-content button[type="submit"],
.qqz-legacy-content .btn,
.qqz-legacy-content button.btn,
.qqz-legacy-content .btn-primary,
.qqz-legacy-content button.plus-btn {
  background:linear-gradient(90deg,var(--qqz-green),var(--qqz-lime))!important;
  border:1px solid transparent!important;
  color:#fff!important;
  border-radius:10px!important;
  box-shadow:0 7px 16px rgba(111,186,44,.18)!important;
}
.qqz-internal-content .btn:hover,
.qqz-internal-content button.btn:hover,
.qqz-internal-content input[type="submit"]:hover,
.qqz-internal-content button[type="submit"]:hover,
.qqz-legacy-content .btn:hover,
.qqz-legacy-content .btn-primary:hover,
.qqz-legacy-content button.plus-btn:hover {
  filter:brightness(.94)!important;
  transform:translateY(-1px);
}
.qqz-legacy-content .btn-secondary,
.qqz-legacy-content .secondary,
.qqz-legacy-content button.btn-secondary,
.qqz-legacy-content a.btn-secondary,
.qqz-internal-content .btn.secondary {
  background:#fff!important;
  color:#354252!important;
  border:1px solid #d5dde5!important;
  box-shadow:none!important;
}
.qqz-legacy-content .btn-secondary:hover,
.qqz-internal-content .btn.secondary:hover {
  background:#f5f7f9!important;
  color:#142033!important;
}
.qqz-legacy-content .plus-btn,
.qqz-internal-content .plus-btn {
  width:46px!important;min-width:46px!important;height:44px!important;padding:0!important;
  display:inline-grid!important;place-items:center!important;font-size:20px!important;
}
.qqz-legacy-content a,
.qqz-internal-content a{accent-color:var(--qqz-green)}
.qqz-legacy-content input:focus,.qqz-legacy-content select:focus,.qqz-legacy-content textarea:focus,
.qqz-internal-content input:focus,.qqz-internal-content select:focus,.qqz-internal-content textarea:focus{
  outline:0!important;border-color:var(--qqz-green)!important;box-shadow:0 0 0 3px rgba(111,186,44,.15)!important
}
.qqz-legacy-content .modal-box{border-top:4px solid var(--qqz-green)!important}
.qqz-sidebar .qqz-user{min-height:70px}
.qqz-sidebar .qqz-user-name,.qqz-sidebar .qqz-user-tenant{display:block}

/* Neutraliza variables azules heredadas en páginas antiguas */
.qqz-internal-page{--primary:var(--qqz-green)!important;--primary-dark:#568f22!important;--primary-soft:#eef8e7!important}


/* QQZ RC6 — detalle de estudio, breadcrumb y refinamiento de marca */
.qqz-sidebar-logo{width:164px;max-height:74px;object-fit:contain;filter:none!important;margin-bottom:28px}
.qqz-dashboard-brand{display:block;width:min(390px,72vw);height:auto;margin:0 0 8px}
.qqz-login-logo{width:min(390px,86%);height:auto;image-rendering:auto}
.qqz-title .qqz-crumbs{margin-top:2px;line-height:1.5}
.qqz-title .qqz-crumbs strong{color:#263444}
.qqz-study-detail{max-width:1280px}
.qqz-study-detail .qqz-detail-hero{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;padding:0 2px}
.qqz-detail-code{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef8e7;color:#4f8c22;font-weight:800;font-size:13px}
.qqz-study-detail .card{background:#fff!important;border:1px solid var(--qqz-border)!important;border-radius:16px!important;padding:22px!important;margin-bottom:20px!important;box-shadow:var(--qqz-shadow)!important}
.qqz-study-detail .card h3{margin:0 0 14px;color:#142033;font-size:18px}
.qqz-study-detail .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.qqz-study-detail .btn,.qqz-study-detail button.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border-radius:10px;text-decoration:none;background:linear-gradient(90deg,var(--qqz-green),var(--qqz-lime))!important;color:#fff!important;border:0!important;font-weight:800;box-shadow:0 7px 16px rgba(111,186,44,.18)}
.qqz-study-detail .btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;text-decoration:none;background:#fff!important;color:#354252!important;border:1px solid #d5dde5!important;font-weight:750}
.qqz-study-detail .btn-secondary:hover{background:#f5f7f9!important;color:#142033!important}
.qqz-study-detail .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.qqz-study-detail .field label{font-weight:800;font-size:12px;display:block;margin-bottom:6px;color:#475569}
.qqz-study-detail input,.qqz-study-detail select{width:100%;min-width:0;padding:11px;border-radius:10px;border:1px solid #d7dfe6;background:#fff;font:inherit;font-size:13px}
.qqz-study-detail .summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.qqz-study-detail .summary-card{background:#f8fafb;padding:16px;border-radius:14px;border:1px solid var(--qqz-border)}
.qqz-study-detail .summary-card .label{color:var(--qqz-muted);font-size:12px;margin-bottom:8px}.qqz-study-detail .summary-card .value{font-size:22px;font-weight:800;color:#111827}.qqz-study-detail .summary-card .value.small{font-size:16px}
.qqz-study-detail .chart{width:100%;border-radius:12px;border:1px solid var(--qqz-border);background:#fff}
.qqz-study-detail pre{background:#071c2c;color:#e8eef3;padding:18px;border-radius:14px;overflow:auto;line-height:1.55;font-size:13px;max-height:760px;white-space:pre-wrap;word-wrap:break-word}
.qqz-study-detail .muted{color:var(--qqz-muted);font-size:12px}.qqz-study-detail .ok{color:#166534}.qqz-study-detail .bad{color:#991b1b}
.qqz-study-detail .lock-warning{padding:14px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:13px;margin-bottom:16px}
.qqz-study-detail .badge-locked{background:#fffbeb!important;color:#92400e!important;border:1px solid #fde68a!important}.qqz-study-detail .badge-active{background:#ecfdf5!important;color:#166534!important;border:1px solid #bbf7d0!important}
@media(max-width:1100px){.qqz-study-detail .grid,.qqz-study-detail .summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.qqz-dashboard-brand{width:min(320px,85vw)}.qqz-study-detail .grid,.qqz-study-detail .summary{grid-template-columns:1fr}.qqz-study-detail .qqz-detail-hero{align-items:flex-start;gap:10px;flex-direction:column}}

/* QQZ RC6.5 — comparador de corridas homologado */
.qqz-run-compare{max-width:1380px;margin:0 auto;padding-bottom:36px}
.qqz-run-compare .card{background:#fff;border:1px solid var(--qqz-border);border-radius:16px;padding:22px;margin-bottom:20px;box-shadow:var(--qqz-shadow)}
.qqz-run-compare .card h3{margin:0 0 16px;color:#142033;font-size:19px}
.qqz-run-compare .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.qqz-run-compare .metric{background:#f8fafb;border:1px solid var(--qqz-border);border-radius:12px;padding:13px;margin-bottom:10px}
.qqz-run-compare .label{color:var(--qqz-muted);font-size:12px;margin-bottom:5px;font-weight:700}
.qqz-run-compare .value{font-weight:800;color:#142033}
.qqz-run-compare table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--qqz-border);border-radius:13px}
.qqz-run-compare th,.qqz-run-compare td{padding:11px 12px;text-align:left;font-size:13px;vertical-align:top;border-bottom:1px solid var(--qqz-border)}
.qqz-run-compare th{background:#f4f7f9;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.035em}
.qqz-run-compare tr:last-child td{border-bottom:0}
.qqz-run-compare tbody tr:hover td{background:#fbfcfd}
.qqz-run-compare .muted{color:var(--qqz-muted)}
.qqz-run-compare .conclusion-ok{color:#166534;font-weight:800;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:12px;padding:13px 15px}
.qqz-run-compare .conclusion-warn{color:#92400e;font-weight:800;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:13px 15px}
.qqz-run-compare .conclusion-bad{color:#991b1b;font-weight:800;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:13px 15px}
.qqz-run-compare .delta-pos{color:#166534;font-weight:800}.qqz-run-compare .delta-neg{color:#991b1b;font-weight:800}.qqz-run-compare .delta-warn{color:#92400e;font-weight:800}
@media(max-width:900px){.qqz-run-compare .grid-2{grid-template-columns:1fr}.qqz-run-compare{overflow-x:auto}}


/* QQZ RC6.6 — restauración del logo aprobado antes de los ajustes de refinamiento */
.qqz-login-card{padding:34px!important}
.qqz-login-logo{
  display:block!important;width:235px!important;max-width:72%!important;height:auto!important;
  max-height:none!important;margin:0 auto 22px!important;object-fit:contain!important;
}
.qqz-dashboard-brand{
  display:block!important;width:300px!important;max-width:46vw!important;height:auto!important;
  max-height:none!important;margin:0 0 7px!important;object-fit:contain!important;object-position:left center!important;
}
.qqz-sidebar-logo{
  display:block!important;width:145px!important;max-width:82%!important;height:auto!important;
  max-height:none!important;margin:0 auto 28px!important;object-fit:contain!important;
  filter:brightness(0) invert(1)!important;
}
.qqz-brand-heading{display:block!important;max-width:560px!important}
.qqz-brand-heading .qqz-organization{margin-top:4px!important}

/* Ingreso manual homologado */
.qqz-data-entry{max-width:1380px;margin:0 auto;padding-bottom:40px}
.qqz-data-entry .qqz-breadcrumb{margin-bottom:18px}
.qqz-data-entry .hero{margin-bottom:20px}
.qqz-data-entry .badge{background:#eef8e7!important;color:#4f8c22!important;border-color:#cde8b6!important}
.qqz-data-entry .btn{background:linear-gradient(90deg,var(--qqz-green),var(--qqz-lime))!important;color:#fff!important}
.qqz-data-entry .btn:hover{filter:brightness(.96)}
.qqz-data-entry .btn-secondary{border:1px solid var(--qqz-border)!important;background:#fff!important;color:#263444!important}
.qqz-data-entry input:focus{outline:0!important;border-color:var(--qqz-green)!important;box-shadow:0 0 0 3px rgba(111,186,44,.15)!important}
.qqz-data-entry .mini-card{background:#fff!important;box-shadow:var(--qqz-shadow)}
.qqz-data-entry .card{box-shadow:var(--qqz-shadow)!important}

@media(max-width:900px){
  .qqz-dashboard-brand{width:260px!important;max-width:60vw!important}
  .qqz-login-logo{width:215px!important;max-width:68%!important}
}
@media(max-width:620px){
  .qqz-dashboard-brand{width:225px!important;max-width:78vw!important}
  .qqz-login-logo{width:195px!important;max-width:70%!important}
  .qqz-sidebar-logo{width:130px!important}
}


/* QQZ RC7 — tipografía uniforme para todas las acciones */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
a.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-outline,
.btn-outline-primary,
.qqz-btn,
.qqz-nav a {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
button, input[type="button"], input[type="submit"], input[type="reset"],
.btn, a.btn, .btn-primary, .btn-secondary, .btn-success, .btn-danger,
.btn-warning, .btn-outline, .btn-outline-primary, .qqz-btn {
  min-height: 42px;
}


/* =========================================================
   QQZ RC9 — Registros maestros
   ========================================================= */
.qqz-master-crud {
  width: 100%;
  max-width: 1280px;
}
.qqz-master-crud > .container,
.qqz-master-crud .container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.qqz-master-crud .topbar { display: none !important; }
.qqz-master-crud h1,
.qqz-master-crud h2 { display: none !important; }
.qqz-master-crud h3 {
  margin: 0 0 18px;
  color: var(--qqz-navy);
  font-size: 18px;
  font-weight: 800;
}
.qqz-master-crud .card {
  background: var(--qqz-card) !important;
  border: 1px solid var(--qqz-border) !important;
  border-radius: var(--qqz-radius) !important;
  box-shadow: var(--qqz-shadow) !important;
  padding: 22px !important;
  margin-bottom: 22px !important;
}
.qqz-master-crud label {
  display: block;
  margin-bottom: 7px;
  color: #344254;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 13px;
  font-weight: 750;
}
.qqz-master-crud input,
.qqz-master-crud select,
.qqz-master-crud textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #142033 !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  outline: none;
}
.qqz-master-crud input:focus,
.qqz-master-crud select:focus,
.qqz-master-crud textarea:focus {
  border-color: var(--qqz-green) !important;
  box-shadow: 0 0 0 3px rgba(111,186,44,.14) !important;
}
.qqz-master-crud .actions {
  display: flex !important;
  gap: 9px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin-top: 16px !important;
}
.qqz-master-crud .btn,
.qqz-master-crud button,
.qqz-master-crud input[type="submit"],
.qqz-master-crud a.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 9px 15px !important;
  border: 1px solid var(--qqz-green) !important;
  border-radius: 10px !important;
  background: var(--qqz-green) !important;
  color: #fff !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}
.qqz-master-crud .btn:hover,
.qqz-master-crud button:hover,
.qqz-master-crud a.btn:hover {
  background: #5fa621 !important;
  border-color: #5fa621 !important;
  transform: translateY(-1px);
  box-shadow: 0 7px 18px rgba(111,186,44,.20);
}
.qqz-master-crud .btn-secondary,
.qqz-master-crud .btn-outline,
.qqz-master-crud a[href*="/edit/"] {
  background: #fff !important;
  color: var(--qqz-navy) !important;
  border: 1px solid #cfd8e3 !important;
}
.qqz-master-crud .btn-danger,
.qqz-master-crud a.btn-danger {
  background: #fff3f3 !important;
  color: #b42318 !important;
  border-color: #f2b8b5 !important;
}
.qqz-master-crud table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  border: 1px solid var(--qqz-border) !important;
  border-radius: 14px !important;
  font-family: Manrope, Arial, sans-serif !important;
}
.qqz-master-crud th {
  padding: 12px 14px !important;
  background: #f1f6ec !important;
  color: #314028 !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe8d8 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.qqz-master-crud td {
  padding: 12px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f5 !important;
  color: #344254;
  font-size: 13px;
  vertical-align: middle;
}
.qqz-master-crud tbody tr:hover { background: #fafcf8; }
.qqz-master-crud tbody tr:last-child td { border-bottom: 0 !important; }
.qqz-master-crud .status-active { color: #277a22 !important; font-weight: 800; }
.qqz-master-crud .status-inactive { color: #b42318 !important; font-weight: 800; }
@media (max-width: 900px) {
  .qqz-master-crud table { display: block; overflow-x: auto; }
  .qqz-master-crud .grid-5,
  .qqz-master-crud .grid-4,
  .qqz-master-crud .grid-3,
  .qqz-master-crud .grid-2 { grid-template-columns: 1fr !important; }
}

/* Monitoring production states */
.qqz-empty-state{margin-top:18px;padding:28px;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;color:#475569}
.qqz-empty-state h3{margin:0 0 7px;color:#142033}.qqz-empty-state p{margin:0;font-size:13px}
.qqz-method-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;background:#f8fafc;border:1px solid #dfe6ed;border-radius:14px;color:#536273;font-size:12px;line-height:1.55}
.qqz-method-note strong{white-space:nowrap;color:#142033}.qqz-diagnostics-card{margin-top:18px}.qqz-diagnostics-card .table-wrap{margin-top:12px}
.qqz-sample{display:block;max-width:420px;margin:3px 0;padding:4px 7px;border-radius:6px;background:#f3f6f8;color:#475569;white-space:normal;word-break:break-word;font-size:10px}


/* QQZ RC13 — módulos por cliente */
.qqz-module-inactive {
  opacity: .58;
  filter: grayscale(.15);
  cursor: not-allowed;
  user-select: none;
}
.qqz-badge-active {
  background: #eaf7df !important;
  color: #4f8d19 !important;
}
.qqz-badge-inactive {
  background: #edf1f5 !important;
  color: #66717e !important;
}
.qqz-badge-beta {
  background: #e8f2ff !important;
  color: #2470b8 !important;
}
.qqz-module-admin {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--qqz-border);
}
.qqz-module-admin h2 {
  margin: 0 0 6px;
}
.qqz-module-admin-grid {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.qqz-module-admin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid var(--qqz-border);
  border-radius: 14px;
  background: #f9fbfc;
}
.qqz-module-admin-info {
  display: flex;
  align-items: center;
  gap: 12px;
}
.qqz-module-admin-info small {
  display: block;
  margin-top: 3px;
  color: var(--qqz-muted);
}
.qqz-module-admin-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #eef7e7;
  color: var(--qqz-green);
  font-size: 20px;
}
.qqz-module-admin-row select {
  min-width: 145px;
  padding: 10px 12px;
  border: 1px solid var(--qqz-border);
  border-radius: 10px;
  background: #fff;
  font-family: Manrope, Arial, sans-serif;
}
@media (max-width: 720px) {
  .qqz-module-admin-row {
    align-items: stretch;
    flex-direction: column;
  }
  .qqz-module-admin-row select {
    width: 100%;
  }
}


/* QQZ RC14 — retroalimentación de procesos */
.qqz-operation-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 16px;padding:14px 16px;border-radius:13px;font-size:13px}
.qqz-operation-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.qqz-operation-feedback strong{font-size:14px}
.qqz-operation-feedback a{color:#397b16;font-weight:800}
.qqz-inline-status{display:inline-block;margin-left:10px;color:var(--qqz-muted);font-size:12px}
#reprocess-submit[disabled]{opacity:.72;cursor:wait}


/* QQZ RC15 — tablas responsivas globales */
.qqz-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  border-radius:14px;
}
.qqz-table-scroll > table{margin:0}
@media(max-width:760px){
  .qqz-main,.qqz-internal-main,.qqz-legacy-content,.qqz-internal-content{min-width:0!important;max-width:100%!important}
  .qqz-legacy-content table,
  .qqz-internal-content table,
  .qqz-master-crud table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:760px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .qqz-legacy-content table tbody,
  .qqz-internal-content table tbody,
  .qqz-master-crud table tbody{display:table-row-group}
  .qqz-legacy-content table thead,
  .qqz-internal-content table thead,
  .qqz-master-crud table thead{display:table-header-group}
  .qqz-legacy-content table tr,
  .qqz-internal-content table tr,
  .qqz-master-crud table tr{display:table-row}
  .qqz-legacy-content table th,.qqz-legacy-content table td,
  .qqz-internal-content table th,.qqz-internal-content table td,
  .qqz-master-crud table th,.qqz-master-crud table td{display:table-cell;white-space:normal}
  .study-actions{min-width:132px;position:relative}
}


.qqz-process-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(7,28,44,.52);backdrop-filter:blur(2px)}
.qqz-process-overlay[hidden]{display:none!important}
.qqz-process-dialog{display:grid;gap:8px;width:min(440px,100%);padding:24px;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28);text-align:center;color:#142033}
.qqz-process-dialog strong{font-size:18px;color:#4f8c22}
.qqz-process-dialog span{font-size:13px;line-height:1.55;color:var(--qqz-muted)}


/* QQZ RC16.1 — marca centrada en el dashboard, sin alterar dimensiones */
.qqz-dashboard-top{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center!important;
  gap:18px;
}
.qqz-dashboard-top .qqz-brand-heading{
  grid-column:2;
  width:min(560px,100%);
  max-width:560px!important;
  text-align:center;
  justify-self:center;
}
.qqz-dashboard-top .qqz-dashboard-brand{
  margin:0 auto 7px!important;
  object-position:center center!important;
}
.qqz-dashboard-top .qqz-organization{
  text-align:center;
}
.qqz-dashboard-top .qqz-top-actions{
  grid-column:3;
  justify-self:end;
}
@media(max-width:760px){
  .qqz-dashboard-top{
    grid-template-columns:1fr auto;
    align-items:start!important;
  }
  .qqz-dashboard-top .qqz-brand-heading{
    grid-column:1 / -1;
    grid-row:1;
  }
  .qqz-dashboard-top .qqz-top-actions{
    grid-column:2;
    grid-row:2;
    margin-top:4px;
  }
}


/* QQZ RC17 — barra lateral persistente en escritorio */
@media (min-width:761px){
  .qqz-sidebar{
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    align-self:start!important;
  }
}


/* =========================================================
   QQZ RC18 — CONTROL CENTER
   Rediseño exclusivamente visual del dashboard.
   No modifica layouts internos, tablas ni lógica responsive existente.
   ========================================================= */
.qqz-control-center-page{
  --cc-bg:#08141d;
  --cc-panel:#0f202b;
  --cc-panel-2:#132733;
  --cc-line:rgba(207,228,239,.13);
  --cc-text:#f2f7fa;
  --cc-muted:#8fa5b2;
  --cc-green:#8bcf35;
  --cc-green-soft:rgba(139,207,53,.13);
  background:var(--cc-bg);
  color:var(--cc-text);
}
.qqz-control-center-page .qqz-shell{background:var(--cc-bg)}
.qqz-control-center-page .qqz-sidebar{
  background:linear-gradient(180deg,#06131c 0%,#081923 62%,#06131c 100%);
  border-right:1px solid rgba(255,255,255,.06);
}
.qqz-control-center-main{
  min-width:0;
  padding:0 28px 42px!important;
  background:
    radial-gradient(circle at 72% -12%,rgba(111,186,44,.10),transparent 31%),
    linear-gradient(180deg,#091720 0%,#08141d 100%);
}
.qqz-cc-header{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  border-bottom:1px solid var(--cc-line);
}
.qqz-cc-brand{display:flex;align-items:center;gap:18px;min-width:0}
.qqz-cc-brand>img{width:112px;height:auto;display:block;object-fit:contain}
.qqz-cc-brand>div{display:grid;gap:2px;min-width:0}
.qqz-cc-eyebrow,.qqz-cc-section-heading span,.qqz-cc-panel-title span{
  color:var(--cc-green);font-size:9px;font-weight:800;letter-spacing:.16em
}
.qqz-cc-brand strong{font-size:21px;line-height:1.05;letter-spacing:-.02em;color:#fff}
.qqz-cc-brand small,.qqz-cc-user small{font-size:11px;color:var(--cc-muted)}
.qqz-cc-user{display:flex;align-items:center;gap:16px;min-width:0}
.qqz-cc-user-copy{display:grid;text-align:right;min-width:0}
.qqz-cc-user-copy strong{font-size:11px;color:#e8f0f4;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qqz-cc-logout{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;
  border:1px solid var(--cc-line);border-radius:9px;color:#dbe7ed;text-decoration:none;font-size:11px;font-weight:800;
  background:rgba(255,255,255,.025);transition:.18s ease
}
.qqz-cc-logout:hover{border-color:rgba(139,207,53,.55);color:#fff;background:var(--cc-green-soft)}
.qqz-cc-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--cc-line);margin:0 -28px;padding:0 28px
}
.qqz-cc-kpi{
  min-height:84px;padding:16px 22px;border-right:1px solid var(--cc-line);
  display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;position:relative;overflow:hidden
}
.qqz-cc-kpi:first-child{border-left:1px solid var(--cc-line)}
.qqz-cc-kpi span{font-size:10px;color:var(--cc-muted);font-weight:700;grid-column:1}
.qqz-cc-kpi strong{font-size:27px;color:#fff;line-height:1;font-weight:800;grid-column:1}
.qqz-cc-kpi i{grid-column:2;grid-row:1/3;font-style:normal;font-size:25px;color:var(--cc-green);opacity:.88}
.qqz-cc-kpi:after{content:"";position:absolute;left:22px;bottom:0;width:42%;height:2px;background:linear-gradient(90deg,var(--cc-green),transparent);opacity:.65}
.qqz-cc-kpi-alert i{color:#e4a54b}
.qqz-cc-section{margin-top:28px}
.qqz-cc-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.qqz-cc-section-heading h2,.qqz-cc-panel-title h2{margin:3px 0 0;color:#f4f8fa;font-size:17px;letter-spacing:-.015em}
.qqz-cc-section-heading>small{color:var(--cc-muted);font-size:10px}
.qqz-cc-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.qqz-cc-module{
  min-height:170px;position:relative;display:flex;flex-direction:column;padding:20px;border:1px solid var(--cc-line);border-radius:12px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));color:#fff;text-decoration:none;
  overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease
}
.qqz-cc-module:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--cc-green);opacity:.55}
.qqz-cc-module:hover{transform:translateY(-3px);border-color:rgba(139,207,53,.45);background:linear-gradient(145deg,rgba(139,207,53,.09),rgba(255,255,255,.02))}
.qqz-cc-module-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
.qqz-cc-module-icon{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(139,207,53,.34);border-radius:50%;color:var(--cc-green);font-size:23px;background:rgba(139,207,53,.06)}
.qqz-cc-module>strong{font-size:13px;letter-spacing:.015em;line-height:1.25;max-width:85%}
.qqz-cc-module>small{margin-top:6px;color:var(--cc-muted);font-size:10px}
.qqz-cc-module-arrow{position:absolute;right:18px;bottom:17px;color:var(--cc-green);font-size:19px}
.qqz-cc-status{padding:4px 7px;border-radius:999px;border:1px solid var(--cc-line);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-muted)}
.qqz-cc-status.active{color:#a8df68;border-color:rgba(139,207,53,.28);background:rgba(139,207,53,.07)}
.qqz-cc-status.beta{color:#86b9ef;border-color:rgba(80,150,220,.30);background:rgba(80,150,220,.07)}
.qqz-cc-module-disabled{opacity:.43;filter:saturate(.35);cursor:not-allowed}
.qqz-cc-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.8fr);gap:12px;margin-top:12px}
.qqz-cc-panel{min-width:0;padding:20px;border:1px solid var(--cc-line);border-radius:12px;background:linear-gradient(145deg,var(--cc-panel),#0c1b24)}
.qqz-cc-panel-title{margin-bottom:12px}
.qqz-cc-activity{list-style:none;padding:0;margin:0;max-height:325px;overflow:auto}
.qqz-cc-activity li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.qqz-cc-activity li:last-child{border-bottom:0}
.qqz-cc-activity-dot{width:5px;height:5px;margin-top:6px;border-radius:50%;background:var(--cc-green);box-shadow:0 0 0 4px rgba(139,207,53,.08)}
.qqz-cc-activity li>div{display:grid;gap:2px;min-width:0}
.qqz-cc-activity strong{font-size:10px;color:#e6eef2;overflow-wrap:anywhere}
.qqz-cc-activity small{font-size:9px;color:var(--cc-muted);overflow-wrap:anywhere}
.qqz-cc-empty{color:var(--cc-muted);font-size:11px}
.qqz-cc-admin{display:grid;gap:7px}
.qqz-cc-admin a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:47px;padding:8px 10px;border:1px solid rgba(255,255,255,.07);border-radius:9px;color:#e8f0f4;text-decoration:none;background:rgba(255,255,255,.015);transition:.17s ease}
.qqz-cc-admin a:hover{border-color:rgba(139,207,53,.3);background:rgba(139,207,53,.055)}
.qqz-cc-admin a>span{color:var(--cc-green);text-align:center}
.qqz-cc-admin a>div{display:grid;min-width:0}
.qqz-cc-admin strong{font-size:10px}.qqz-cc-admin small{font-size:8px;color:var(--cc-muted)}.qqz-cc-admin b{font-size:13px;color:#728895}

@media(max-width:1180px){
  .qqz-cc-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qqz-cc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qqz-cc-kpi:nth-child(2){border-right:0}
  .qqz-cc-kpi:nth-child(n+3){border-top:1px solid var(--cc-line)}
}
@media(max-width:860px){
  .qqz-control-center-main{padding:0 18px 30px!important}
  .qqz-cc-kpis{margin:0 -18px;padding:0 18px}
  .qqz-cc-lower{grid-template-columns:1fr}
  .qqz-cc-header{min-height:82px}
  .qqz-cc-brand>img{width:92px}
  .qqz-cc-brand strong{font-size:18px}
}
@media(max-width:760px){
  .qqz-control-center-page .qqz-shell{display:block!important}
  .qqz-control-center-main{padding:0 14px 28px!important}
  .qqz-cc-kpis{margin:0 -14px;padding:0 14px}
  .qqz-cc-header{align-items:flex-start;padding:14px 0;min-height:auto}
  .qqz-cc-brand{gap:10px}.qqz-cc-brand>img{width:76px}.qqz-cc-eyebrow{display:none}.qqz-cc-brand strong{font-size:16px}
  .qqz-cc-user-copy{display:none}.qqz-cc-logout{min-height:34px;padding:0 9px;font-size:9px}
  .qqz-cc-kpi{min-height:72px;padding:13px 14px}.qqz-cc-kpi strong{font-size:22px}.qqz-cc-kpi i{font-size:20px}.qqz-cc-kpi:after{left:14px}
  .qqz-cc-section-heading{align-items:flex-start}.qqz-cc-section-heading>small{display:none}
  .qqz-cc-modules{grid-template-columns:1fr}
  .qqz-cc-module{min-height:130px;padding:16px}.qqz-cc-module-top{margin-bottom:14px}.qqz-cc-module-icon{width:38px;height:38px;font-size:19px}
}
@media(max-width:430px){
  .qqz-cc-kpis{grid-template-columns:1fr 1fr}
  .qqz-cc-kpi{border-left:0!important;border-right:1px solid var(--cc-line)!important}
  .qqz-cc-kpi:nth-child(even){border-right:0!important}
  .qqz-cc-brand small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}


/* =========================================================
   QQZ RC19 — PREFERENCIA CLARO / OSCURO DEL DASHBOARD
   Solo cambia el panel derecho del Control Center.
   La barra lateral mantiene permanentemente el tema oscuro.
   ========================================================= */
.qqz-cc-theme-form{margin:0;display:flex}
.qqz-cc-theme-toggle{
  min-height:38px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;
  border:1px solid var(--cc-line);border-radius:9px;cursor:pointer;
  background:rgba(255,255,255,.025);color:#dbe7ed;font:inherit;
  transition:.18s ease
}
.qqz-cc-theme-toggle span{font-size:15px;line-height:1}
.qqz-cc-theme-toggle b{font-size:10px;font-weight:800;white-space:nowrap}
.qqz-cc-theme-toggle:hover{border-color:rgba(139,207,53,.55);background:var(--cc-green-soft);color:#fff}

/* Tema claro: deliberadamente limitado al área principal. */
.qqz-control-center-page.qqz-dashboard-theme-light{
  --cc-bg:#f4f7f9;
  --cc-panel:#ffffff;
  --cc-panel-2:#f7fafb;
  --cc-line:#dce5ea;
  --cc-text:#142033;
  --cc-muted:#667986;
  --cc-green:#6fba2c;
  --cc-green-soft:rgba(111,186,44,.10);
  background:#06131c; /* conserva fondo lateral oscuro */
}
.qqz-dashboard-theme-light .qqz-control-center-main{
  color:var(--cc-text);
  background:
    radial-gradient(circle at 72% -12%,rgba(111,186,44,.08),transparent 31%),
    linear-gradient(180deg,#f8fafb 0%,#f2f6f8 100%);
}
.qqz-dashboard-theme-light .qqz-cc-header{border-bottom-color:var(--cc-line)}
.qqz-dashboard-theme-light .qqz-cc-brand strong,
.qqz-dashboard-theme-light .qqz-cc-section-heading h2,
.qqz-dashboard-theme-light .qqz-cc-panel-title h2,
.qqz-dashboard-theme-light .qqz-cc-kpi strong,
.qqz-dashboard-theme-light .qqz-cc-module>strong{color:#142033}
.qqz-dashboard-theme-light .qqz-cc-user-copy strong{color:#243641}
.qqz-dashboard-theme-light .qqz-cc-logout,
.qqz-dashboard-theme-light .qqz-cc-theme-toggle{
  color:#314550;background:rgba(255,255,255,.72);border-color:var(--cc-line)
}
.qqz-dashboard-theme-light .qqz-cc-logout:hover,
.qqz-dashboard-theme-light .qqz-cc-theme-toggle:hover{
  color:#142033;background:var(--cc-green-soft);border-color:rgba(111,186,44,.45)
}
.qqz-dashboard-theme-light .qqz-cc-kpis{border-bottom-color:var(--cc-line)}
.qqz-dashboard-theme-light .qqz-cc-kpi{border-color:var(--cc-line)}
.qqz-dashboard-theme-light .qqz-cc-module{
  color:#142033;border-color:var(--cc-line);
  background:linear-gradient(145deg,#ffffff,#f8fafb);
  box-shadow:0 8px 24px rgba(7,28,44,.045)
}
.qqz-dashboard-theme-light .qqz-cc-module:hover{
  border-color:rgba(111,186,44,.42);
  background:linear-gradient(145deg,rgba(111,186,44,.07),#ffffff)
}
.qqz-dashboard-theme-light .qqz-cc-module-icon{background:rgba(111,186,44,.08)}
.qqz-dashboard-theme-light .qqz-cc-panel{
  border-color:var(--cc-line);background:linear-gradient(145deg,#ffffff,#f8fafb);
  box-shadow:0 8px 24px rgba(7,28,44,.045)
}
.qqz-dashboard-theme-light .qqz-cc-activity li{border-bottom-color:#e8eef1}
.qqz-dashboard-theme-light .qqz-cc-activity strong{color:#263b46}
.qqz-dashboard-theme-light .qqz-cc-admin a{
  color:#263b46;border-color:#e2e9ed;background:#fbfcfd
}
.qqz-dashboard-theme-light .qqz-cc-admin a:hover{
  border-color:rgba(111,186,44,.35);background:rgba(111,186,44,.055)
}
.qqz-dashboard-theme-light .qqz-cc-admin b{color:#728895}

@media(max-width:760px){
  .qqz-cc-theme-toggle{min-height:34px;padding:0 9px}
  .qqz-cc-theme-toggle b{display:none}
}

/* =========================================================
   QQZ RC20.2 — CONTROL CENTER POLISH
   - Reutiliza el fondo degradado del login en el área principal oscura.
   - No modifica la barra lateral.
   - Aumenta moderadamente la legibilidad del dashboard.
   - El tema claro permanece sin cambios funcionales.
   ========================================================= */
.qqz-control-center-page.qqz-dashboard-theme-dark .qqz-control-center-main{
  background:
    radial-gradient(circle at 80% 80%,rgba(111,186,44,.20),transparent 35%),
    linear-gradient(145deg,#061827 0%,#0c3343 100%);
  background-attachment:fixed;
}

/* Superficies translúcidas para permitir que el degradado forme parte de la identidad visual. */
.qqz-dashboard-theme-dark .qqz-cc-module{
  background:linear-gradient(145deg,rgba(15,32,43,.82),rgba(9,25,34,.66));
  backdrop-filter:blur(2px);
}
.qqz-dashboard-theme-dark .qqz-cc-module:hover{
  background:linear-gradient(145deg,rgba(25,58,55,.90),rgba(11,32,40,.76));
}
.qqz-dashboard-theme-dark .qqz-cc-panel{
  background:linear-gradient(145deg,rgba(15,32,43,.84),rgba(7,29,38,.72));
  backdrop-filter:blur(2px);
}
.qqz-dashboard-theme-dark .qqz-cc-kpi{
  background:rgba(4,22,31,.13);
}

/* Legibilidad RC20.2: incremento moderado, limitado al panel derecho. */
.qqz-cc-eyebrow,
.qqz-cc-section-heading span,
.qqz-cc-panel-title span{font-size:10px}
.qqz-cc-brand strong{font-size:24px}
.qqz-cc-brand small,.qqz-cc-user small{font-size:12px}
.qqz-cc-user-copy strong{font-size:12px}
.qqz-cc-logout{font-size:12px}
.qqz-cc-theme-toggle b{font-size:11px}
.qqz-cc-kpi span{font-size:11px}
.qqz-cc-kpi strong{font-size:31px}
.qqz-cc-section-heading h2,.qqz-cc-panel-title h2{font-size:20px}
.qqz-cc-section-heading>small{font-size:11px}
.qqz-cc-module>strong{font-size:15px}
.qqz-cc-module>small{font-size:11px;line-height:1.4}
.qqz-cc-status{font-size:9px}
.qqz-cc-activity strong{font-size:11px}
.qqz-cc-activity small{font-size:10px;line-height:1.35}
.qqz-cc-empty{font-size:12px}
.qqz-cc-admin strong{font-size:11px}
.qqz-cc-admin small{font-size:9px;line-height:1.3}

@media(max-width:860px){
  .qqz-cc-brand strong{font-size:21px}
  .qqz-cc-section-heading h2,.qqz-cc-panel-title h2{font-size:19px}
  .qqz-cc-module>strong{font-size:14px}
}
@media(max-width:760px){
  .qqz-control-center-page.qqz-dashboard-theme-dark .qqz-control-center-main{
    background:
      radial-gradient(circle at 85% 82%,rgba(111,186,44,.18),transparent 38%),
      linear-gradient(145deg,#061827 0%,#0c3343 100%);
    background-attachment:scroll;
  }
  .qqz-cc-brand strong{font-size:18px}
  .qqz-cc-kpi span{font-size:10px}
  .qqz-cc-kpi strong{font-size:25px}
  .qqz-cc-section-heading h2,.qqz-cc-panel-title h2{font-size:18px}
  .qqz-cc-module>strong{font-size:14px}
  .qqz-cc-module>small{font-size:11px}
  .qqz-cc-activity strong{font-size:11px}
  .qqz-cc-activity small{font-size:10px}
  .qqz-cc-admin strong{font-size:11px}
  .qqz-cc-admin small{font-size:9px}
}
