
:root{
  --cnla-blue:#0B4F6C;
  --cnla-blue-dark:#07384C;
  --cnla-cyan:#53B8C1;
  --cnla-light:#EAF5F8;
  --cnla-bg:#F4F7F9;
  --cnla-text:#172033;
  --cnla-muted:#667085;
  --cnla-border:#E4E7EC;
  --cnla-green:#067647;
  --cnla-red:#B42318;
  --cnla-orange:#B54708;
}
.cnla-native-main{padding:34px 0 58px;background:var(--cnla-bg);min-height:65vh}
.cnla-native-shell{width:min(1040px,calc(100% - 28px));margin:auto}
.cnla-native-card{
  background:#fff;border:1px solid var(--cnla-border);border-radius:20px;
  box-shadow:0 10px 32px rgba(16,24,40,.06);padding:26px
}
.cnla-native-heading{margin-bottom:24px}
.cnla-native-heading h1,.cnla-native-heading h2{margin:0;color:var(--cnla-blue);line-height:1.08}
.cnla-native-heading h1{font-size:clamp(30px,5vw,46px)}
.cnla-native-heading h2{font-size:26px}
.cnla-native-heading p{margin:8px 0 0;color:var(--cnla-muted);line-height:1.55}
.cnla-section-title{
  margin:28px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--cnla-border);
  color:var(--cnla-blue);font-size:19px
}
.cnla-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cnla-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cnla-field.full{grid-column:1/-1}
.cnla-field label{font-size:12px;font-weight:800;color:#475467}
.cnla-field input,.cnla-field select,.cnla-field textarea{
  width:100%;padding:12px 13px;border:1px solid #D0D5DD;border-radius:10px;
  background:#fff;color:var(--cnla-text);font:inherit;outline:none
}
.cnla-field textarea{min-height:100px;resize:vertical}
.cnla-field input:focus,.cnla-field select:focus,.cnla-field textarea:focus{
  border-color:var(--cnla-cyan);box-shadow:0 0 0 4px rgba(83,184,193,.13)
}
.cnla-help{color:var(--cnla-muted);font-size:11px;line-height:1.45}
.cnla-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.cnla-upload-card{
  padding:14px;border:1px solid var(--cnla-border);border-radius:14px;background:#F8FAFC
}
.cnla-upload-preview{
  display:grid;place-items:center;min-height:135px;margin-bottom:10px;border:1px dashed #BFC9D4;
  border-radius:12px;background:#fff;color:var(--cnla-muted);font-size:12px;text-align:center;overflow:hidden
}
.cnla-upload-preview img{display:block;width:100%;height:180px;object-fit:contain}
.cnla-activities{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.cnla-check{
  display:flex;gap:8px;align-items:flex-start;padding:11px;border:1px solid var(--cnla-border);
  border-radius:11px;background:#F8FAFC;font-size:13px
}
.cnla-check input{margin-top:2px;accent-color:var(--cnla-blue)}
.cnla-legal{margin-top:22px;padding:16px;border:1px solid var(--cnla-border);border-radius:13px;background:#F8FAFC}
.cnla-legal label{display:flex;gap:9px;align-items:flex-start;margin:9px 0;font-size:13px;line-height:1.5}
.cnla-legal input{margin-top:3px;accent-color:var(--cnla-blue)}
.cnla-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:22px}
.cnla-status{flex:1;min-width:220px;color:var(--cnla-muted);font-size:13px;line-height:1.45}
.cnla-status.ok{color:var(--cnla-green);font-weight:700}
.cnla-status.err{color:var(--cnla-red);font-weight:700}
.cnla-success{
  padding:25px;border:1px solid #ABEFC6;border-radius:18px;background:#ECFDF3;color:#05603A
}
.cnla-success h2{margin:0 0 10px}
.cnla-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* portal */
.cnla-login{width:min(480px,100%);margin:auto}
.cnla-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.cnla-login-brand img{width:58px;height:58px;object-fit:contain}
.cnla-login-brand strong{display:block;color:var(--cnla-blue);font-size:18px}
.cnla-login-brand span{display:block;color:var(--cnla-muted);font-size:12px;margin-top:3px}
.cnla-portal{display:none}
.cnla-portal-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.cnla-member-hero{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:22px;border-radius:18px;background:linear-gradient(135deg,var(--cnla-blue),var(--cnla-blue-dark));color:#fff
}
.cnla-member-hero h1{margin:0 0 5px;font-size:30px}
.cnla-member-hero p{margin:0;opacity:.82}
.cnla-member-state{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);font-weight:800}
.cnla-force-pass{display:none;margin:14px 0;padding:13px;border-radius:12px;background:#FFF7ED;color:#9A3412}
.cnla-force-pass.show{display:block}
.cnla-tabs{display:flex;gap:8px;overflow:auto;padding:18px 0 12px}
.cnla-tab{
  flex:0 0 auto;border:1px solid var(--cnla-border);background:#fff;color:#475467;
  border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer
}
.cnla-tab.active{background:var(--cnla-blue);border-color:var(--cnla-blue);color:#fff}
.cnla-panel{display:none}
.cnla-panel.active{display:block}
.cnla-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.cnla-metric{padding:16px;border:1px solid var(--cnla-border);border-radius:15px;background:#fff}
.cnla-metric span{display:block;color:var(--cnla-muted);font-size:11px;text-transform:uppercase}
.cnla-metric strong{display:block;margin-top:5px;color:var(--cnla-blue);font-size:22px}
.cnla-notice{padding:13px;border-radius:11px;background:#FFF7ED;color:#9A3412;margin:12px 0;line-height:1.5}
.cnla-notice.ok{background:#ECFDF3;color:#05603A}
.cnla-chips{display:flex;flex-wrap:wrap;gap:7px}
.cnla-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#EEF5F7;color:#344054;font-size:12px}
.cnla-tablewrap{overflow:auto}
.cnla-table{width:100%;border-collapse:collapse;font-size:13px}
.cnla-table th,.cnla-table td{padding:10px;border-bottom:1px solid var(--cnla-border);text-align:left;white-space:nowrap}
.cnla-table th{color:#475467;background:#F8FAFC}
.cnla-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.cnla-avatar{width:88px;height:106px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#EEF2F4;color:var(--cnla-muted);font-size:11px}
.cnla-avatar img{width:100%;height:100%;object-fit:cover}
.cnla-event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cnla-event-card{padding:17px;border:1px solid var(--cnla-border);border-radius:16px;background:#fff}
.cnla-event-card h3{margin:8px 0;color:var(--cnla-blue)}
.cnla-event-card p{color:var(--cnla-muted);font-size:13px;line-height:1.5}
.cnla-event-top{display:flex;justify-content:space-between;gap:8px;color:var(--cnla-muted);font-size:11px}
.cnla-event-cat{padding:5px 8px;border-radius:999px;background:#E8F4F8;color:var(--cnla-blue);font-weight:800}
.cnla-event-price{margin:12px 0;padding:11px;border-radius:10px;background:#ECFDF3}
.cnla-event-price span{display:block;color:#667085;font-size:10px}
.cnla-event-price strong{display:block;color:var(--cnla-green);font-size:21px;margin-top:3px}
.cnla-event-status{display:inline-flex;margin:4px 4px 0 0;padding:6px 8px;border-radius:999px;background:#EEF2F4;font-size:10px;font-weight:800}
.cnla-event-status.ACTIVA{background:#ECFDF3;color:var(--cnla-green)}
.cnla-event-status.CANCELADA{background:#FEF3F2;color:var(--cnla-red)}
.cnla-event-modal{
  display:none;position:fixed;inset:0;z-index:9999;padding:18px;background:rgba(4,23,34,.72);
  align-items:center;justify-content:center
}
.cnla-event-modal.show{display:flex}
.cnla-event-modal-box{
  width:min(620px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:21px
}
.cnla-event-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cnla-event-modal-close{border:0;background:#EEF2F4;border-radius:50%;width:40px;height:40px;font-size:22px;cursor:pointer}
.cnla-bank-box,.cnla-mp-box{display:none;margin-top:12px;padding:13px;border-radius:12px}
.cnla-bank-box.show{display:block;background:#F4FAFC;border:1px solid #B8DCE7}
.cnla-mp-box.show{display:block;background:#EEF7FF;border:1px solid #B7D7F0}
.cnla-bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cnla-bank-item{padding:8px;border-radius:8px;background:#fff;border:1px solid #DCE8ED}
.cnla-bank-item span{display:block;color:var(--cnla-muted);font-size:10px;text-transform:uppercase}
.cnla-bank-item strong{display:block;margin-top:3px;font-size:12px;word-break:break-word}

/* carnet / verificación */
.cnla-public-member{width:min(860px,calc(100% - 20px));margin:30px auto}
.cnla-card-fit{width:100%;max-width:680px;margin:auto;position:relative}
.cnla-card-stage{position:absolute;left:50%;top:0;width:680px;height:429px;transform-origin:top center}
.cnla-digital-card{
  position:relative;width:680px;height:429px;padding:20px;border-radius:26px;overflow:hidden;
  color:#fff;background:linear-gradient(135deg,#0B4F6C 0%,#07384C 62%,#042B3B 100%);
  box-shadow:0 16px 42px rgba(0,0,0,.22);display:grid;grid-template-rows:auto 1fr auto;gap:12px
}
.cnla-card-header,.cnla-card-main,.cnla-card-footer{position:relative;z-index:2}
.cnla-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cnla-card-brand{display:flex;align-items:center;gap:11px}
.cnla-card-logo{width:50px;height:50px;border-radius:50%;background:#fff;padding:3px;object-fit:contain}
.cnla-card-main{display:grid;grid-template-columns:110px minmax(0,1fr) 122px;gap:15px;align-items:center}
.cnla-card-photo{width:110px;height:138px;border-radius:16px;overflow:hidden;border:2px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:11px}
.cnla-card-photo img{width:100%;height:100%;object-fit:cover}
.cnla-card-name{font-size:29px;font-weight:800;line-height:1.03}
.cnla-card-number{color:#A8D8F0;font-size:22px;font-weight:800;margin-top:8px}
.cnla-card-pill{display:inline-flex;margin-top:8px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;font-weight:800}
.cnla-card-acts{margin-top:11px;padding:10px;border-radius:10px;background:rgba(255,255,255,.08);font-size:11px;line-height:1.45}
.cnla-card-qr{display:grid;place-items:center;background:#fff;border-radius:13px;padding:8px;width:116px;min-height:116px}
.cnla-card-qr img{max-width:100%;height:auto}
.cnla-card-qr-caption{text-align:center;font-size:9px;letter-spacing:.08em;margin-top:5px;opacity:.8}
.cnla-card-footer{display:flex;justify-content:space-between;align-items:flex-end;font-size:10px;opacity:.82}
.cnla-public-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}
.cnla-verify-card{width:min(500px,100%);margin:auto;text-align:center}
.cnla-verify-photo{width:118px;height:142px;border-radius:14px;overflow:hidden;background:#E9EEF3;margin:0 auto 16px;display:grid;place-items:center;color:var(--cnla-muted);font-size:11px}
.cnla-verify-photo img{width:100%;height:100%;object-fit:cover}
.cnla-verify-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:8px auto 14px;font-size:32px;font-weight:900}
.cnla-verify-icon.active{background:#ECFDF3;color:var(--cnla-green);border:2px solid #75E0A7}
.cnla-verify-icon.inactive{background:#FEF3F2;color:var(--cnla-red);border:2px solid #FDA29B}
.cnla-dues{margin-top:18px;padding:15px;border-radius:13px;text-align:left}
.cnla-dues.ok{background:#ECFDF3;border:1px solid #ABEFC6}
.cnla-dues.debt{background:#FFFAEB;border:1px solid #FEDF89}
.cnla-dues.none{background:#F2F4F7;border:1px solid #D0D5DD}

.native-map-fallback{
  min-height:330px;display:grid;place-items:center;text-align:center;padding:28px;
  border-radius:20px;background:linear-gradient(135deg,#EAF5F8,#F8FAFC);border:1px solid var(--cnla-border)
}
.native-map-fallback .map-pin{font-size:46px;margin-bottom:8px}
.native-map-fallback h3{margin:0;color:var(--cnla-blue);font-size:25px}
.native-map-fallback p{max-width:400px;color:var(--cnla-muted);line-height:1.55}
@media(max-width:900px){
  .cnla-upload-grid,.cnla-activities{grid-template-columns:1fr 1fr}
  .cnla-metrics{grid-template-columns:1fr 1fr}
  .cnla-event-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .cnla-native-shell{width:min(100% - 16px,1040px)}
  .cnla-native-card{padding:18px;border-radius:16px}
  .cnla-form-grid,.cnla-upload-grid,.cnla-activities,.cnla-bank-grid{grid-template-columns:1fr}
  .cnla-field.full{grid-column:auto}
  .cnla-actions{flex-direction:column;align-items:stretch}
  .cnla-actions .button{width:100%}
  .cnla-status{min-width:0}
  .cnla-member-hero{align-items:flex-start;flex-direction:column}
  .cnla-metrics{grid-template-columns:1fr 1fr}
  .cnla-profile-head{align-items:flex-start}
  .cnla-public-actions{flex-direction:column}
  .cnla-public-actions .button{width:100%}
}
