/* =========================================================
   TICKEXPA UI SYSTEM v0.3.2
   Cargado en TODAS las páginas. Nuevas vistas deben usar
   .panel / .form-grid / .admin-grid / .tx-* para heredar diseño.
   ========================================================= */

:root{
  --tx-border:#DDE3EE;
  --tx-muted:#748097;
  --tx-bg:#F8FAFD;
  --tx-radius:18px;
  --tx-input-radius:11px;
  --tx-focus:0 0 0 3px rgba(123,45,255,.10);
}

/* Layouts universales */
.admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;align-items:start}
.section-space{margin-top:22px}
.panel{overflow:hidden}
.panel>h2:first-child{margin-top:0}

/* Formularios universales */
.form-grid,.tx-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start}
.form-grid>label:not(.checkline),.tx-form>label:not(.checkline),
.form-grid>.two>label,.form-grid>.three>label{
  display:flex;flex-direction:column;gap:7px;margin:0;color:#42506A;font-size:12px;font-weight:700
}
.form-grid>label:not(.checkline)>input,.form-grid>label:not(.checkline)>select,.form-grid>label:not(.checkline)>textarea,
.tx-form>label:not(.checkline)>input,.tx-form>label:not(.checkline)>select,.tx-form>label:not(.checkline)>textarea,
.form-grid>.two>label>input,.form-grid>.two>label>select,.form-grid>.two>label>textarea,
.form-grid>.three>label>input,.form-grid>.three>label>select,.form-grid>.three>label>textarea{
  width:100%;min-width:0;min-height:46px;padding:11px 13px;margin:0;border:1px solid #D7DEEA;border-radius:var(--tx-input-radius);background:#fff;color:var(--navy);outline:none
}
.form-grid textarea,.tx-form textarea{min-height:100px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.tx-form input:focus,.tx-form select:focus,.tx-form textarea:focus{border-color:var(--purple);box-shadow:var(--tx-focus)}
.form-grid>.two{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.form-grid>.three{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}
.form-grid>hr,.form-grid>h3,.form-grid>.btn,.tx-form>hr,.tx-form>h3,.tx-form>.btn{grid-column:1/-1}
.form-grid>hr,.tx-form>hr{width:100%;border:0;border-top:1px solid #E0E5EE;margin:5px 0}
.form-grid>.btn,.tx-form>.btn{width:100%;min-height:48px}
.full-field,.field-full{grid-column:1/-1!important}
.field-half{grid-column:auto}
.field-help{grid-column:1/-1;color:var(--tx-muted);font-size:11px;line-height:1.55;margin:-4px 0 2px}

.checkline{grid-column:1/-1;display:grid!important;grid-template-columns:22px 1fr!important;gap:12px!important;align-items:start!important;padding:14px 15px!important;border:1px solid #E1E6EF!important;border-radius:13px!important;background:#FAFBFE!important}
.checkline input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:2px 0 0!important}
.checkline span{display:flex!important;flex-direction:column!important;gap:3px!important}.checkline small{font-size:11px;color:var(--tx-muted);font-weight:500;line-height:1.45}

/* Checkout maestro */
.checkout-page{padding-top:50px}
.checkout-titlebar{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:24px}
.checkout-titlebar h1{font-size:clamp(34px,4vw,52px);letter-spacing:-1.8px;margin:6px 0 6px;color:var(--navy)}
.checkout-titlebar .checkout-total{text-align:right;white-space:nowrap}.checkout-total small{display:block;color:var(--tx-muted);font-size:11px}.checkout-total strong{display:block;font-size:26px;color:var(--navy)}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:start}
.checkout-card{padding:28px}
.checkout-card h2{margin:0 0 6px;color:var(--navy)}
.checkout-card .intro{color:var(--tx-muted);font-size:12px;margin:0 0 22px}
.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.checkout-field{display:flex;flex-direction:column;gap:7px;color:#42506A;font-size:12px;font-weight:700}.checkout-field.full{grid-column:1/-1}.checkout-field input,.checkout-field select,.checkout-field textarea{width:100%;min-height:46px;border:1px solid #D7DEEA;border-radius:11px;padding:11px 13px;background:#fff;color:var(--navy);outline:none}.checkout-field textarea{min-height:105px;resize:vertical}.checkout-field input:focus,.checkout-field select:focus,.checkout-field textarea:focus{border-color:var(--purple);box-shadow:var(--tx-focus)}
.checkout-checkbox{grid-column:1/-1;display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:center;padding:13px 14px;border:1px solid var(--tx-border);border-radius:12px;background:#FAFBFE}.checkout-checkbox input{width:18px;height:18px}.checkout-checkbox span{font-size:12px;font-weight:600;color:#42506A}
.checkout-pay-button{grid-column:1/-1;margin-top:4px}
.checkout-sidebar{position:sticky;top:92px;padding:24px}.checkout-sidebar h3{margin:0 0 18px;color:var(--navy)}
.checkout-summary{display:grid;gap:0;margin:0}.checkout-summary>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #E7EBF2;font-size:12px}.checkout-summary>div:last-child{border-bottom:0}.checkout-summary .total{padding-top:17px;font-size:17px}.checkout-summary .total strong{color:var(--navy)}
.checkout-provider{margin-top:16px;padding:13px 14px;border-radius:12px;background:#F7F4FF;border:1px solid #E3D9FF;color:#51308E;font-size:11px;line-height:1.5}
.checkout-safe{margin-top:15px;color:var(--tx-muted);font-size:10px;line-height:1.55}.checkout-expiry{margin-top:12px;padding-top:12px;border-top:1px solid #E7EBF2;color:var(--tx-muted);font-size:10px;text-align:center}

/* Constructor de campos del checkout */
.field-manager{display:grid;gap:14px}.field-manager-card{border:1px solid var(--tx-border);border-radius:15px;background:#fff;padding:18px}.field-manager-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.field-manager-head strong{color:var(--navy)}.field-manager-head small{display:block;color:var(--tx-muted);margin-top:3px}.field-manager-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .65fr;gap:12px}.field-manager-grid label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#526078}.field-manager-grid input,.field-manager-grid select,.field-manager-grid textarea{width:100%;min-height:40px;padding:9px 10px;border:1px solid #D7DEEA;border-radius:9px;background:#fff}.field-manager-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.toggle-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.toggle-row label{display:flex;align-items:center;gap:6px;font-size:11px;color:#526078}.internal-defaults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.technical-note{font-size:11px;line-height:1.6;color:var(--tx-muted);padding:12px 14px;border-radius:12px;background:#F7F9FC;border:1px solid #E4E9F1;margin-bottom:18px}

@media(max-width:950px){.admin-grid,.checkout-layout{grid-template-columns:1fr}.checkout-sidebar{position:static}.field-manager-grid{grid-template-columns:1fr 1fr}.checkout-titlebar{align-items:flex-start}.checkout-titlebar .checkout-total{text-align:left}}
@media(max-width:680px){.form-grid,.tx-form,.checkout-fields,.internal-defaults{grid-template-columns:1fr}.form-grid>.two,.form-grid>.three{grid-template-columns:1fr}.checkout-field.full,.checkout-pay-button{grid-column:1}.checkout-titlebar{flex-direction:column}.checkout-card,.checkout-sidebar{padding:19px}.field-manager-grid{grid-template-columns:1fr}.admin-grid{gap:16px}}
