
.ctzpipe-app{
    --ctz-red:#b90000;
    --ctz-red2:#8f0000;
    --ctz-dark:#0f172a;
    --ctz-muted:#64748b;
    --ctz-line:#e5e7eb;
    --ctz-soft:#f8fafc;
    --ctz-card:#ffffff;
    --ctz-shadow:0 12px 32px rgba(15,23,42,.08);
    width:100%;
    max-width:1420px;
    margin:0 auto 28px;
    color:#0f172a;
    font-family:Arial, Helvetica, sans-serif;
}
.ctzpipe-app *{box-sizing:border-box;}
.ctzpipe-hidden{display:none!important;}
.ctzpipe-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:4px 2px;}
.ctzpipe-head h2{margin:0;color:#0b1324;font-size:28px;font-weight:800;line-height:1.15;}
.ctzpipe-head p{margin:6px 0 0;color:var(--ctz-muted);font-size:14px;}
.ctzpipe-shortcode{background:#fff;border:1px solid var(--ctz-line);border-radius:10px;padding:10px 12px;box-shadow:0 4px 16px rgba(15,23,42,.05);white-space:nowrap;}
.ctzpipe-shortcode code{background:#f1f5f9;border-radius:6px;padding:4px 7px;color:#b90000;font-weight:800;}
.ctzpipe-grid-main{display:grid;grid-template-columns:minmax(320px, .95fr) minmax(360px, 1.05fr);gap:18px;align-items:start;}
.ctzpipe-card{background:var(--ctz-card);border:1px solid var(--ctz-line);border-radius:16px;padding:18px;box-shadow:var(--ctz-shadow);}
.ctzpipe-card h3{margin:0 0 16px;padding:0 0 12px;border-bottom:3px solid var(--ctz-red);font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;color:#0b1324;display:flex;gap:8px;align-items:center;}
.ctzpipe-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ctzpipe-app label{display:block;margin:0;}
.ctzpipe-app label span{display:block;margin:0 0 6px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#334155;}
.ctzpipe-app select,.ctzpipe-app input{width:100%;height:44px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;padding:0 12px;font-size:15px;outline:none;transition:border-color .18s, box-shadow .18s;}
.ctzpipe-app select:focus,.ctzpipe-app input:focus{border-color:var(--ctz-red);box-shadow:0 0 0 3px rgba(185,0,0,.10);}
.ctzpipe-check-row{display:flex!important;align-items:center;gap:10px;margin:16px 0 0!important;color:#334155;cursor:pointer;}
.ctzpipe-check-row input{width:18px!important;height:18px!important;accent-color:var(--ctz-red);padding:0!important;}
.ctzpipe-check-row span{margin:0!important;text-transform:none!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;}
.ctzpipe-price-box{margin-top:14px;padding:14px;border:1px solid var(--ctz-line);border-radius:14px;background:#f8fafc;}
.ctzpipe-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px;}
.ctzpipe-tab{height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#475569;font-weight:900;text-transform:uppercase;cursor:pointer;transition:.18s;}
.ctzpipe-tab.is-active{background:var(--ctz-red);border-color:var(--ctz-red);color:#fff;}
.ctzpipe-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}
.ctzpipe-btn{min-height:42px;border:0;border-radius:10px;padding:0 16px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;transition:transform .18s, box-shadow .18s, background .18s;}
.ctzpipe-btn:hover{transform:translateY(-1px);}
.ctzpipe-btn-primary{background:var(--ctz-red);color:#fff;box-shadow:0 8px 20px rgba(185,0,0,.18);}
.ctzpipe-btn-primary:hover{background:var(--ctz-red2);}
.ctzpipe-btn-light{background:#fff;border:1px solid #cbd5e1;color:#0f172a;}
.ctzpipe-empty-result{min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ctz-muted);background:linear-gradient(135deg,#f8fafc,#fff);border:1px dashed #cbd5e1;border-radius:14px;padding:18px;}
.ctzpipe-result-hero{background:linear-gradient(135deg,#111827,#020617);border:3px solid var(--ctz-red);border-radius:16px;text-align:center;padding:22px 18px;color:#fff;margin-bottom:14px;}
.ctzpipe-result-hero span{display:block;text-transform:uppercase;letter-spacing:.06em;color:#f87171;font-size:12px;font-weight:900;}
.ctzpipe-result-hero strong{display:block;font-size:44px;line-height:1;margin:10px 0 2px;letter-spacing:.05em;}
.ctzpipe-result-hero small{display:block;color:#d1d5db;font-size:14px;}
.ctzpipe-mawp{margin:16px auto 0;max-width:560px;background:rgba(255,255,255,.10);border-radius:10px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ctzpipe-mawp span{color:#d1d5db;text-align:left;letter-spacing:0;text-transform:none;font-size:14px;}
.ctzpipe-mawp b{color:#fef08a;font-size:20px;}
.ctzpipe-table-wrap{overflow:auto;border:1px solid var(--ctz-line);border-radius:12px;}
.ctzpipe-details{width:100%;border-collapse:collapse;background:#fff;}
.ctzpipe-details th,.ctzpipe-details td{padding:10px 12px;border-bottom:1px solid var(--ctz-line);font-size:14px;}
.ctzpipe-details th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.03em;font-size:12px;width:52%;}
.ctzpipe-details td{text-align:right;font-weight:900;color:#0f172a;}
.ctzpipe-details tr:last-child th,.ctzpipe-details tr:last-child td{border-bottom:0;}
.ctzpipe-row-total th,.ctzpipe-row-total td{border-top:2px solid var(--ctz-red)!important;border-bottom:2px solid var(--ctz-red)!important;background:#fff7f7;}
.ctzpipe-tolerance{margin-top:14px;border:2px solid var(--ctz-red);background:#fff7ed;border-radius:12px;padding:14px;}
.ctzpipe-tolerance span{display:block;color:var(--ctz-red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.ctzpipe-tolerance strong{font-size:24px;color:#0f172a;letter-spacing:.04em;}
.ctzpipe-export-actions .ctzpipe-btn{flex:1;min-width:120px;}
.ctzpipe-card-info{margin-top:18px;}
.ctzpipe-info-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);gap:18px;align-items:start;}
.ctzpipe-info-box,.ctzpipe-formulas{background:#f8fafc;border-left:4px solid var(--ctz-red);border-radius:12px;padding:14px;margin-bottom:14px;}
.ctzpipe-info-box p,.ctzpipe-formulas p{margin:0 0 9px;color:#475569;font-size:14px;}
.ctzpipe-info-box p:last-child,.ctzpipe-formulas p:last-child{margin-bottom:0;}
.ctzpipe-diagram-wrap{border:2px solid #1f2937;border-radius:16px;background:#111827;padding:10px;overflow:hidden;}
.ctzpipe-diagram{display:block;width:100%;height:auto;min-height:280px;}
.ctzpipe-svg-label{font:700 13px Arial, sans-serif;fill:#e5e7eb;}
.ctzpipe-svg-value{font:900 14px Arial, sans-serif;fill:#fef08a;}
.ctzpipe-svg-accent{font:900 14px Arial, sans-serif;fill:#f87171;}
.ctzpipe-svg-foot{font:900 14px Arial, sans-serif;fill:#e5e7eb;}
.ctzpipe-modal[hidden]{display:none!important;}
.ctzpipe-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;}
.ctzpipe-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);}
.ctzpipe-modal-box{position:relative;width:min(520px,100%);background:#fff;border-radius:18px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.28);border:1px solid var(--ctz-line);}
.ctzpipe-modal-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:var(--ctz-red);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ctzpipe-modal-box h3{margin:0 40px 8px 0;color:#0f172a;font-size:22px;font-weight:900;}
.ctzpipe-modal-box p{margin:0 0 16px;color:#64748b;}
.ctzpipe-modal-box label{margin-bottom:12px;}
.ctzpipe-modal-msg{min-height:22px;font-size:13px;font-weight:800;margin:8px 0;color:#64748b;}
.ctzpipe-modal-msg.is-error{color:#b90000;}
.ctzpipe-modal-msg.is-ok{color:#047857;}
.ctzpipe-toast{position:absolute;right:18px;bottom:18px;z-index:20;background:#111827;color:#fff;border-left:4px solid #22c55e;border-radius:10px;padding:12px 14px;font-weight:800;box-shadow:0 14px 32px rgba(15,23,42,.20);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;}
.ctzpipe-toast.is-visible{opacity:1;transform:translateY(0);}
.ctzpipe-toast.is-error{border-left-color:#ef4444;}
@media (max-width: 980px){
    .ctzpipe-grid-main,.ctzpipe-info-grid{grid-template-columns:1fr;}
    .ctzpipe-head{align-items:flex-start;flex-direction:column;}
}
@media (max-width: 640px){
    .ctzpipe-app{margin-bottom:18px;}
    .ctzpipe-card{padding:14px;border-radius:14px;}
    .ctzpipe-form-grid{grid-template-columns:1fr;gap:12px;}
    .ctzpipe-head h2{font-size:22px;}
    .ctzpipe-result-hero strong{font-size:34px;}
    .ctzpipe-mawp{flex-direction:column;text-align:center;}
    .ctzpipe-actions{flex-direction:column;}
    .ctzpipe-btn{width:100%;}
}

/* QBI 6.6.1 - Verificación antispam en descarga frontend */
.ctzpipe-captcha-wrap{margin:12px 0 8px;}
.ctzpipe-captcha-title{display:block;margin:0 0 7px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#334155;}
.ctzpipe-captcha-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid #ececec;border-radius:12px;background:#fafafa;}
.ctzpipe-captcha-question{font-weight:800;color:#334155;}
.ctzpipe-captcha-question b{color:var(--ctz-red);font-size:16px;}
.ctzpipe-captcha-box input.ctzpipe-captcha-answer{width:140px;max-width:100%;height:40px;text-align:center;font-weight:900;}
@media (max-width: 640px){.ctzpipe-captcha-box{align-items:flex-start;flex-direction:column}.ctzpipe-captcha-box input.ctzpipe-captcha-answer{width:100%;}}
