:root {
    --cacip-primary:   #005baa;
    --cacip-secondary: #1b75d0;
    --cacip-success:   #178a57;
    --cacip-danger:    #d63b3b;
    --cacip-warn:      #f28c28;
    --cacip-gray:      #5c6773;
    --cacip-light:     #f4f7fb;
    --cacip-border:    #d7e1ec;
    --cacip-surface:   #ffffff;
    --cacip-surface-2: #f7f9fc;
    --cacip-radius:    10px;
    --cacip-shadow:    0 16px 40px rgba(13,35,64,.08);
    --cacip-font:      -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cacip-form-app,.cacip-tickets-app {font-family: var(--cacip-font); max-width: 1180px; width: 80%; margin: 0 auto; padding: 18px 16px 28px; position:relative;}
.cacip-step-title {font-size: 1.9rem; font-weight: 800; color: #0d2340; margin-bottom: 10px; letter-spacing:-.02em;}
.cacip-question-label {font-weight: 700; font-size: 1.05rem; margin: 0 0 10px; color:#0d2340;}
.cacip-step-desc {color: var(--cacip-gray); margin-bottom: 0; line-height:1.65; font-size:1rem;}
.cacip-anon-box,.cacip-question-wrap,.cacip-panel,.cacip-ticket-card {background:var(--cacip-surface); border:1px solid var(--cacip-border); border-radius:18px; box-shadow:var(--cacip-shadow);}
.cacip-anon-box {padding:22px 24px; margin-bottom:22px; border-top:4px solid var(--cacip-primary); background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);}
.cacip-choice-group {display:flex; gap:18px; flex-wrap:wrap; margin-bottom:16px; align-items:center;}
.cacip-choice-group label,.cacip-radio-group label,.cacip-radio-grid label {display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-size:1rem; color:#1a2332; line-height:1; margin:0;}
.cacip-choice-group input,.cacip-radio-group input,.cacip-radio-grid input {margin:0; transform:none; vertical-align:middle; position:relative; top:-1px; flex:0 0 auto;}
.cacip-grid-2 {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 22px;}
.cacip-field-group {margin-bottom:0;}
.cacip-field-group label {display:block; font-weight:700; margin-bottom:8px; font-size:.95rem; color:#24364d;}
.cacip-input {display:block; width:100%; padding:12px 14px; border:1.5px solid var(--cacip-border); border-radius:12px; font-size:1rem; line-height:1.25; transition:border-color .2s, box-shadow .2s, transform .15s; box-sizing:border-box; background:#fff; color:#1a2332; text-align:left; appearance:auto; min-height:46px;}
.cacip-input::placeholder {color:#9aa5b1; opacity:1; text-align:left;}
select.cacip-input {height:46px; background-position:right 12px center;}
.cacip-input:focus {outline:none; border-color:var(--cacip-secondary); box-shadow:0 0 0 3px rgba(31,125,214,.14);}
textarea.cacip-input {resize:vertical; min-height:120px;}
.cacip-req {color: var(--cacip-warn); margin-left:2px;}
.cacip-btn {display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:11px 24px; border-radius:12px; font-size:1rem; font-weight:700; border:none; cursor:pointer; transition:background .2s, transform .1s, box-shadow .2s; box-shadow:0 10px 20px rgba(0,91,170,.12);}
.cacip-btn:active {transform:scale(.98);} .cacip-btn--primary{background:linear-gradient(90deg,var(--cacip-primary),var(--cacip-secondary));color:#fff;} .cacip-btn--primary:hover{filter:brightness(.95);} .cacip-btn--secondary{background:#e8edf4;color:#374151;} .cacip-btn--success{background:#178a57;color:#fff;}
.cacip-ident-grid,.cacip-form-nav {margin-bottom:20px;} #cacip-ident-fields{margin:4px 0 20px;}
.cacip-progress-container {margin-bottom:20px;} .cacip-progress-bar{height:10px;background:#dce7f3;border-radius:99px;overflow:hidden;margin-bottom:4px;} .cacip-progress-fill{height:100%;background:linear-gradient(90deg,var(--cacip-warn),var(--cacip-primary));border-radius:99px;transition:width .4s ease;}
.cacip-question-wrap {padding:26px 26px; margin-bottom:20px; min-height:189px; background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);} .cacip-question-num{font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--cacip-gray); margin-bottom:8px;} .cacip-question-text{font-size:1.12rem; font-weight:700; margin-bottom:16px; color:#0d2340; line-height:1.45;}
.cacip-radio-group{display:flex; gap:22px; flex-wrap:wrap;} .cacip-inline-gap{margin-bottom:16px;} .cacip-subquestion{padding:16px; background:#f8fbff; border:1px solid #d9e7f6; border-radius:14px;} .cacip-subquestion label{font-weight:700; display:block; margin-bottom:8px;} .cacip-radio-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px;}
.cacip-ranking-help{margin-bottom:12px;color:var(--cacip-gray);} .cacip-ranking-grid{display:grid; gap:8px;} .cacip-ranking-row{display:grid; grid-template-columns:minmax(0,1fr) 116px; gap:14px; align-items:center; padding:10px 0; border-bottom:1px solid #edf2f7;} .cacip-ranking-row:last-child{border-bottom:none;} .cacip-ranking-label{font-weight:600; color:#1f2937;}
.cacip-form-nav {display:flex; gap:12px; align-items:center; flex-wrap:wrap;} .cacip-notice{padding:14px 16px; border-radius:12px; margin:14px 0; font-size:.95rem;} .cacip-notice--error{background:#fef2f2;border-left:4px solid var(--cacip-danger);color:#991b1b;} .cacip-notice--info{background:#eff6ff;border-left:4px solid var(--cacip-secondary);color:#1e40af;} .cacip-notice--success{background:#f0fdf4;border-left:4px solid var(--cacip-success);color:#166534;}
.cacip-success-box{text-align:center;padding:34px 22px; background:linear-gradient(180deg,#ffffff 0%, #f8fcff 100%); border:1px solid var(--cacip-border); border-radius:20px; box-shadow:var(--cacip-shadow);} .cacip-success-icon{font-size:3.5rem;display:block;margin-bottom:16px;} .cacip-success-box h2{font-size:1.5rem;color:var(--cacip-success);} .cacip-tickets-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;} .cacip-ticket--open{border-left:4px solid var(--cacip-danger);} .cacip-ticket--in_progress{border-left:4px solid var(--cacip-secondary);} .cacip-ticket--resolved{border-left:4px solid var(--cacip-success);} .cacip-ticket--closed{border-left:4px solid var(--cacip-gray);} .cacip-ticket-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:6px;} .cacip-ticket-desc{color:#4b5563;margin:0 0 6px;} .cacip-panel{padding:20px 24px;margin-bottom:20px;}
.cacip-wrap{font-family:var(--cacip-font);} .cacip-version{font-size:.75rem;background:var(--cacip-light);color:var(--cacip-gray);padding:2px 8px;border-radius:99px;margin-left:10px;vertical-align:middle;}
@media (max-width: 900px){ .cacip-form-app,.cacip-tickets-app{width:100%;} }
@media (max-width: 680px){ .cacip-grid-2,.cacip-radio-grid{grid-template-columns:1fr;} .cacip-ranking-row{grid-template-columns:1fr;} .cacip-question-wrap{padding:22px 18px;} }

.cacip-form-shell{background:linear-gradient(180deg,#f8fbff 0%, #f4f7fb 100%); border:1px solid #e2eaf3; border-radius:24px; padding:34px 34px 30px; box-shadow:0 24px 60px rgba(13,35,64,.08); position:relative; overflow:hidden;}
.cacip-form-shell::before{content:''; position:absolute; inset:0 auto auto 0; width:100%; height:6px; background:linear-gradient(90deg,var(--cacip-primary) 0%, var(--cacip-secondary) 70%, var(--cacip-warn) 100%);}
.cacip-form-shell::after{content:''; position:absolute; right:-90px; top:-90px; width:240px; height:240px; background:radial-gradient(circle, rgba(242,140,40,.14) 0%, rgba(242,140,40,0) 68%); pointer-events:none;}
.cacip-form-header{display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:14px;}
.cacip-progress-container{min-width:180px; text-align:right;}
.cacip-progress-bar{height:8px; background:#dce7f3; border-radius:99px; overflow:hidden; margin-bottom:6px;}
.cacip-progress-fill{height:100%; background:linear-gradient(90deg,var(--cacip-primary) 0%, var(--cacip-secondary) 78%, var(--cacip-warn) 100%); border-radius:99px; transition:width .35s ease;}
.cacip-choice-group input[type='radio'], .cacip-radio-group input[type='radio'], .cacip-radio-grid input[type='radio']{accent-color:var(--cacip-primary);}
.cacip-dialog{position:sticky; top:16px; z-index:30; margin-bottom:16px; display:none;}
.cacip-dialog__inner{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:14px; border:1px solid #bfd6ef; background:rgba(255,255,255,.92); box-shadow:0 18px 35px rgba(13,35,64,.14); backdrop-filter:blur(8px);}
.cacip-dialog__content{font-size:.92rem; color:#18406c; line-height:1.45;}
.cacip-dialog__title{display:block; font-weight:800; color:#0d2340; margin-bottom:2px;}
.cacip-dialog__close{background:transparent; border:none; color:#5c6773; font-size:1.1rem; line-height:1; cursor:pointer; padding:2px 4px;}
.cacip-hidden-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; display:none;}
.cacip-soft-caption{font-size:.82rem; color:#6b7280; margin-top:6px;}
@media (max-width: 900px){ .cacip-form-app,.cacip-tickets-app{width:100%;} .cacip-form-shell{padding:26px 20px 22px;} }
@media (max-width: 680px){ .cacip-grid-2,.cacip-radio-grid{grid-template-columns:1fr;} .cacip-ranking-row{grid-template-columns:1fr;} .cacip-question-wrap{padding:20px 16px;} .cacip-form-header{flex-direction:column;} .cacip-progress-container{text-align:left; min-width:0; width:100%;} }

.cacip-page-version{position:absolute; right:28px; top:18px; display:inline-flex; align-items:center; padding:7px 12px; border-radius:999px; background:#eef5ff; color:#0b5ed7; border:1px solid #bfd6ef; font-size:.82rem; font-weight:800; z-index:2;}
.cacip-checkbox-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px;}
.cacip-checkbox-grid label{display:flex; align-items:center; gap:8px; line-height:1.2;}
.cacip-admin-inline-table input[type="text"], .cacip-admin-inline-table input[type="number"], .cacip-admin-inline-table textarea{width:100%;}
@media (max-width: 680px){ .cacip-page-version{position:static; margin:0 0 12px auto;} .cacip-checkbox-grid{grid-template-columns:1fr;} }

/* v0.1.03 refinamientos front + admin */
.cacip-grid-intro{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 18px;margin-bottom:18px;}
.cacip-soft-caption--version{margin:-2px 0 16px; font-weight:700;}
.cacip-form-header{align-items:center; gap:20px;}
.cacip-form-header__title{min-width:260px;}
.cacip-progress-container{flex:1; min-width:260px; margin:0;}
.cacip-progress-bar{position:relative; height:18px; margin:0; background:#dce7f3;}
.cacip-progress-fill{position:absolute; inset:0 auto 0 0;}
.cacip-progress-label{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:800; color:#0d2340; letter-spacing:.02em;}

.cacip-admin-actions{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 18px;}
.cacip-tag-grid{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 18px;}
.cacip-tag-stat{display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border-radius:999px; background:#eef5ff; border:1px solid #cfe0f5; color:#18406c; font-size:.92rem;}
.cacip-tag-stat strong{font-size:1rem; color:#0d2340;}
.cacip-panel--compact{padding:16px 18px;}
.cacip-panel-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px;}
.cacip-panel-head h2{margin:0;}
.cacip-table--compact th,.cacip-table--compact td{padding-top:7px !important; padding-bottom:7px !important;}
.cacip-table th,.cacip-table td{vertical-align:middle;}
.cacip-badge{display:inline-flex; align-items:center; justify-content:center; padding:4px 10px; border-radius:999px; font-size:.78rem; font-weight:700; background:#e5e7eb; color:#374151;}
.cacip-badge--green{background:#dcfce7;color:#166534;}
.cacip-badge--blue{background:#dbeafe;color:#1d4ed8;}
.cacip-badge--red{background:#fee2e2;color:#b91c1c;}
.cacip-badge--gray{background:#e5e7eb;color:#4b5563;}
.cacip-mini-progress{width:100%; max-width:140px; height:8px; border-radius:999px; background:#e2e8f0; overflow:hidden; margin-bottom:4px;}
.cacip-mini-progress span{display:block; height:100%; background:linear-gradient(90deg,var(--cacip-primary),var(--cacip-secondary));}
.cacip-muted-line{margin-top:4px; font-size:.82rem; color:#64748b;}
.cacip-chart-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;}
.cacip-chart-card{min-height:320px;}
.cacip-chart-card--wide{grid-column:1 / -1;}
.cacip-chart-card h3{margin-top:0; margin-bottom:14px; font-size:1.02rem;}
.cacip-vbars{display:flex; align-items:flex-end; gap:14px; min-height:220px; height:220px;}
.cacip-vbar-col{flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0;}
.cacip-vbar-track{position:relative; width:100%; max-width:64px; height:150px; border-radius:14px 14px 6px 6px; background:#eef2f7; display:flex; align-items:flex-end; overflow:hidden;}
.cacip-vbar-track span{display:block; width:100%; background:linear-gradient(180deg,var(--cacip-secondary),var(--cacip-primary)); border-radius:14px 14px 0 0;}
.cacip-vbar-value{font-weight:800; color:#0d2340; font-size:.9rem;}
.cacip-vbar-label{text-align:center; font-size:.8rem; color:#475569; line-height:1.25;}
.cacip-vbars--grouped .cacip-vbar-track span{background:linear-gradient(180deg,#21a179,#0b5ed7);}
.cacip-pie-wrap{display:grid; grid-template-columns:160px 1fr; gap:18px; align-items:center;}
.cacip-pie{width:160px; height:160px; border-radius:50%; box-shadow:inset 0 0 0 14px #fff; border:1px solid #e2e8f0;}
.cacip-legend{display:grid; gap:8px;}
.cacip-legend-item{display:grid; grid-template-columns:12px 1fr auto; gap:10px; align-items:center; font-size:.88rem; color:#334155;}
.cacip-legend-dot{width:12px; height:12px; border-radius:50%;}
.cacip-empty-chart{color:#64748b;}
.cacip-hbars{display:grid; gap:16px;}
.cacip-hbar-row{display:grid; grid-template-columns:170px 1fr; gap:16px; align-items:center;}
.cacip-hbar-meta strong{display:block; color:#0d2340;}
.cacip-hbar-meta span{font-size:.84rem; color:#64748b;}
.cacip-hbar-track{height:34px; background:#eef2f7; border-radius:999px; overflow:hidden; position:relative;}
.cacip-hbar-fill{height:100%; display:flex; position:relative; border-radius:999px; overflow:hidden; min-width:0;}
.cacip-hbar-seg{height:100%; display:block;}
.cacip-hbar-seg--anon{background:#f59e0b;}
.cacip-hbar-seg--identified{background:#0b5ed7;}
.cacip-hbar-text{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:.82rem; font-weight:800; text-shadow:0 1px 1px rgba(0,0,0,.25);}
.cacip-export-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:980px;}
.cacip-export-card h3{margin-top:0;}

@media (max-width: 1100px){
  .cacip-grid-intro{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 900px){
  .cacip-chart-grid,.cacip-export-grid{grid-template-columns:1fr;}
  .cacip-pie-wrap{grid-template-columns:1fr; justify-items:center;}
  .cacip-hbar-row{grid-template-columns:1fr;}
}
@media (max-width: 680px){
  .cacip-grid-intro{grid-template-columns:1fr;}
  .cacip-form-header{flex-direction:column; align-items:stretch;}
  .cacip-progress-container{width:100%; min-width:0;}
  .cacip-vbars{gap:8px;}
  .cacip-vbar-track{max-width:none;}
}


/* v0.1.03 dashboard + mobile fixes */
.cacip-rubro-help{margin:12px 0 16px; padding:12px 14px; border-radius:14px; background:#eff6ff; border:1px solid #bfdbfe; color:#1e3a8a; font-size:.92rem; line-height:1.4;}
.cacip-line-chart-wrap{width:100%; overflow:hidden;}
.cacip-line-chart{width:100%; height:250px; display:block;}
.cacip-line-grid{stroke:#e2e8f0; stroke-width:1;}
.cacip-line-axis-label{fill:#64748b; font-size:12px; font-weight:600;}
.cacip-line-area{fill:rgba(11,94,215,.12);}
.cacip-line-path{fill:none; stroke:#0b5ed7; stroke-width:4; stroke-linecap:round; stroke-linejoin:round;}
.cacip-line-point{fill:#21a179; stroke:#fff; stroke-width:3;}
.cacip-line-value{fill:#0d2340; font-size:12px; font-weight:800;}
.cacip-critical-columns{display:flex; align-items:flex-end; justify-content:center; gap:32px; min-height:240px; padding-top:8px;}
.cacip-critical-col{width:min(180px,42%); display:flex; flex-direction:column; align-items:center; gap:10px;}
.cacip-critical-value{font-weight:800; color:#0d2340; font-size:.92rem;}
.cacip-critical-track{width:100%; height:190px; background:#eef2f7; border-radius:18px 18px 8px 8px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end;}
.cacip-critical-seg{display:flex; align-items:center; justify-content:center; padding:10px 8px; text-align:center; color:#fff; font-size:.82rem; font-weight:800; line-height:1.15;}
.cacip-critical-seg--safe{background:#21a179;}
.cacip-critical-seg--risk{background:#ef4444;}
.cacip-critical-label{font-size:.9rem; color:#334155; font-weight:700;}
@media (max-width: 680px){
  .cacip-critical-columns{gap:16px;}
  .cacip-critical-col{width:48%;}
  .cacip-critical-seg{font-size:.72rem; padding:8px 4px;}
}

/* v0.1.4 cookie-safe front + mobile optimization */
.cacip-plugin-version-banner{
  position:sticky;
  top:8px;
  z-index:50;
  display:inline-flex;
  align-items:center;
  margin:0 0 12px auto;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(13,35,64,.92);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 24px rgba(13,35,64,.22);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.02em;
}
@media (max-width: 768px){
  .cacip-form-app,.cacip-tickets-app{width:96%; padding:10px 8px 20px;}
  .cacip-form-shell{padding:18px 14px 18px; border-radius:20px;}
  .cacip-step-title{font-size:1.28rem; line-height:1.22; margin-bottom:8px;}
  .cacip-question-label{font-size:.98rem;}
  .cacip-step-desc,.cacip-soft-caption,.cacip-field-group label,.cacip-question-text,.cacip-choice-group label,.cacip-radio-group label,.cacip-radio-grid label,.cacip-checkbox-grid label{font-size:.92rem;}
  .cacip-grid-intro{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
  .cacip-input{padding:10px 12px; min-height:42px; font-size:.95rem;}
  select.cacip-input{height:42px;}
  .cacip-anon-box,.cacip-question-wrap{padding:16px 14px; border-radius:16px;}
  .cacip-form-nav{gap:10px;}
  .cacip-btn{width:100%; min-height:44px; padding:10px 16px; font-size:.96rem;}
  .cacip-form-header__title{min-width:0;}
  .cacip-progress-bar{height:20px;}
  .cacip-plugin-version-banner{top:6px; font-size:.76rem; padding:7px 12px;}
}
@media (max-width: 560px){
  .cacip-form-app,.cacip-tickets-app{width:100%; padding:8px 6px 18px;}
  .cacip-grid-intro,.cacip-grid-2,.cacip-radio-grid,.cacip-checkbox-grid{grid-template-columns:1fr;}
  .cacip-step-title{font-size:1.12rem;}
  .cacip-step-desc,.cacip-question-text{line-height:1.38;}
  .cacip-question-num{font-size:.72rem;}
  .cacip-soft-caption--version{margin-bottom:10px;}
}


/* v0.1.10: navegación pública por pantallas */
.cacip-screen-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}
.cacip-screen-tab{border:1px solid #d8e0ea;background:#fff;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:700}
.cacip-screen-tab.is-active{background:#0b5fff;color:#fff;border-color:#0b5fff}
.cacip-screen{margin-top:8px}
.cacip-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:16px}
.cacip-option-card{border:1px solid #e3e8ef;border-radius:16px;background:#fff;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.cacip-option-card h3{margin-top:0}
.cacip-notice--success{background:#ecfdf3;border-color:#b7efc5;color:#14532d}


#cacip-alta-socio-app .cacip-input {
    min-height: 41px;
    padding: 10px 13px;
}
#cacip-alta-socio-app select.cacip-input {
    height: 41px;
}
#cacip-alta-socio-app textarea.cacip-input {
    min-height: 108px;
}
#cacip-alta-socio-app .cacip-alta-actions {
    margin-top: 4px;
    margin-bottom: 14px;
}
#cacip-alta-socio-app .cacip-btn {
    padding-top: 10px;
    padding-bottom: 10px;
}


/* v0.2.0: dashboard de altas */
.cacip-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    margin: 18px 0 24px;
}
.cacip-admin-card {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    padding: 14px;
}
.cacip-admin-card h3 {
    margin: 0 0 12px;
}


.cacip-signature-canvas {
    display: block;
    width: 100%;
    max-width: 800px;
    height: 180px;
    background: #fff;
    border: 1px solid #cbd7e6;
    border-radius: 12px;
    touch-action: none;
}
.cacip-signature-actions {
    margin-top: 8px;
}


/* CACIP v0.2.2 - Alta de socio: documentos y validación */
.cacip-upload-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}
.cacip-upload-card {
    border: 1px solid #d9e2ef;
    border-radius: 14px;
    padding: 12px;
    background: #fff;
    min-width: 0;
}
.cacip-upload-card label {
    display: block;
    min-height: 40px;
    font-weight: 700;
    font-size: 13px;
    margin-bottom: 8px;
}
.cacip-file-preview {
    margin-top: 8px;
    min-height: 86px;
    border: 1px dashed #b9c6d8;
    border-radius: 12px;
    padding: 8px;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 12px;
    color: #64748b;
    overflow: hidden;
}
.cacip-file-preview.has-file {
    justify-content: flex-start;
    color: #1f2937;
}
.cacip-file-preview img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    flex: 0 0 auto;
}
.cacip-file-preview__pdf {
    width: 52px;
    height: 64px;
    border-radius: 8px;
    background: #eef2ff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex: 0 0 auto;
}
#cacip-alta-verification.is-processing {
    position: relative;
    pointer-events: none;
    opacity: .82;
}
#cacip-alta-verification.is-processing::after {
    content: "Validando código. No cierres esta pantalla.";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.82);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    text-align: center;
    border-radius: 14px;
}
@media (max-width: 900px) {
    .cacip-upload-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .cacip-upload-grid {
        grid-template-columns: 1fr;
    }
}
