/* Envíos GT — Frontend v2 */
.egt-portal { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:1100px; margin:0 auto; padding:0 16px 40px; color:#1f2937; }

/* Tabs */
.egt-tabs { display:flex; border-bottom:2px solid #e5e7eb; margin-bottom:28px; }
.egt-tab { padding:12px 28px; background:none; border:none; border-bottom:3px solid transparent; margin-bottom:-2px; font-size:.97rem; font-weight:600; color:#6b7280; cursor:pointer; transition:all .18s; }
.egt-tab:hover { color:#4f46e5; }
.egt-tab.active { color:#4f46e5; border-bottom-color:#4f46e5; }
.egt-tab-content { display:none; }
.egt-tab-content.active { display:block; }

/* Layout */
.egt-panel-layout { display:grid; grid-template-columns:1fr 400px; gap:28px; align-items:start; }
@media(max-width:760px){ .egt-panel-layout{grid-template-columns:1fr;} }

.egt-panel-title { font-size:1rem; font-weight:700; color:#374151; margin:0 0 18px; padding-bottom:10px; border-bottom:1px solid #f3f4f6; }

/* Form */
.egt-panel-form { background:#fff; border-radius:12px; box-shadow:0 1px 6px rgba(0,0,0,.08); padding:22px 24px; }
.egt-field { margin-bottom:15px; }
.egt-field label { display:block; font-size:.82rem; font-weight:600; color:#374151; margin-bottom:6px; }
.egt-field label .req { color:#ef4444; }
.egt-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:500px){ .egt-field-row{grid-template-columns:1fr;} }

.egt-input { width:100%; box-sizing:border-box; border:1.5px solid #d1d5db; border-radius:8px; padding:9px 13px; font-size:.92rem; transition:border-color .15s,box-shadow .15s; background:#fff; color:#1f2937; }
.egt-input:focus { border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.1); outline:none; }
.egt-textarea { resize:vertical; min-height:68px; }

/* Tarjetas tipo */
.egt-tipo-cards { display:flex; gap:12px; }
.egt-tipo-card { flex:1; cursor:pointer; }
.egt-tipo-card input { display:none; }
.egt-tipo-card-inner { display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 10px; border:2px solid #e5e7eb; border-radius:10px; background:#f9fafb; transition:all .15s; text-align:center; }
.egt-tipo-icon { font-size:1.4rem; }
.egt-tipo-nombre { font-weight:700; font-size:.95rem; color:#374151; }
.egt-tipo-desc { font-size:.75rem; color:#9ca3af; }
.egt-tipo-card:has(input:checked) .egt-tipo-card-inner { border-color:#4f46e5; background:#eef2ff; }
.egt-tipo-card:has(input:checked) .egt-tipo-nombre { color:#4f46e5; }

.egt-btn-submit { width:100%; margin-top:6px; padding:12px; background:#4f46e5; color:#fff; border:none; border-radius:9px; font-size:1rem; font-weight:700; cursor:pointer; transition:background .18s,transform .15s; }
.egt-btn-submit:hover { background:#4338ca; transform:translateY(-1px); }
.egt-btn-dev { background:#f59e0b; }
.egt-btn-dev:hover { background:#d97706; }

/* Calculadora */
.egt-panel-calc { position:sticky; top:24px; }
.egt-calc-inputs-top { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.egt-calc-inputs-top .egt-calc-field label { display:block; font-size:.8rem; font-weight:600; color:#374151; margin-bottom:5px; }

.egt-calc-mode-tabs { display:flex; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; margin-bottom:12px; }
.egt-mode-tab { flex:1; padding:8px; border:none; background:#f9fafb; font-size:.85rem; font-weight:600; color:#6b7280; cursor:pointer; transition:all .15s; }
.egt-mode-tab.active { background:#4f46e5; color:#fff; }

.egt-inverso-field { margin-bottom:12px; }
.egt-inverso-field label { display:block; font-size:.8rem; font-weight:600; color:#374151; margin-bottom:5px; }

.egt-calc-card { background:#fff; border-radius:12px; box-shadow:0 1px 6px rgba(0,0,0,.08); padding:18px; border-top:4px solid #4f46e5; }
.egt-calc-tipo-display { margin-bottom:12px; text-align:center; }
.egt-badge-tipo { display:inline-block; padding:4px 16px; border-radius:20px; font-size:.84rem; font-weight:700; letter-spacing:.06em; }
.egt-badge-tipo.egt-badge-cod     { background:#fef3c7; color:#92400e; }
.egt-badge-tipo.egt-badge-collect { background:#d1fae5; color:#065f46; }

.egt-calc-lineas { margin-bottom:4px; }
.egt-calc-line { display:flex; justify-content:space-between; font-size:.86rem; padding:6px 0; color:#374151; border-bottom:1px solid #f3f4f6; }
.egt-line-sub  { font-weight:700; color:#111827; border-bottom:2px solid #e5e7eb; }
.egt-cod-line  { color:#92400e; }
.egt-inv-line  { color:#1d4ed8; font-size:.83rem; }

.egt-calc-total-box { background:#4f46e5; border-radius:9px; padding:13px; margin-top:12px; text-align:center; }
.egt-calc-total-label { font-size:.7rem; font-weight:600; letter-spacing:.08em; color:rgba(255,255,255,.8); text-transform:uppercase; margin-bottom:4px; }
.egt-calc-total-monto { font-size:1.7rem; font-weight:800; color:#fff; }
.egt-calc-hint { text-align:center; font-size:.77rem; color:#9ca3af; margin-top:10px; }

/* Devoluciones */
.egt-dev-wrap { max-width:680px; }
.egt-buscar-row { display:flex; gap:10px; margin-bottom:4px; }
.egt-buscar-input { flex:1; }
.egt-btn-buscar { padding:9px 18px; background:#1f2937; color:#fff; border:none; border-radius:8px; font-weight:600; cursor:pointer; white-space:nowrap; }
.egt-btn-buscar:hover { background:#374151; }

/* Badges */
.egt-badge { display:inline-block; padding:3px 9px; border-radius:20px; font-size:.74rem; font-weight:700; text-transform:uppercase; }
.egt-badge-cod     { background:#fef3c7; color:#92400e; }
.egt-badge-collect { background:#d1fae5; color:#065f46; }
.egt-badge-devuelto_courier { background:#fee2e2; color:#991b1b; }
.egt-badge-cerrado { background:#e0e7ff; color:#3730a3; }

/* Timeline */
.egt-timeline { position:relative; padding-left:26px; margin-top:14px; }
.egt-timeline::before { content:''; position:absolute; left:6px; top:0; bottom:0; width:2px; background:#e5e7eb; }
.egt-tl-item { position:relative; margin-bottom:16px; }
.egt-tl-dot { position:absolute; left:-22px; top:4px; width:12px; height:12px; border-radius:50%; background:#9ca3af; border:2px solid #fff; box-shadow:0 0 0 2px #e5e7eb; }
.egt-tl-devuelto_courier .egt-tl-dot { background:#f59e0b; box-shadow:0 0 0 2px #fde68a; }
.egt-tl-cerrado .egt-tl-dot { background:#10b981; box-shadow:0 0 0 2px #a7f3d0; }
.egt-tl-estado { font-weight:600; font-size:.9rem; }
.egt-tl-nota   { font-size:.83rem; color:#6b7280; margin:2px 0; }
.egt-tl-fecha  { font-size:.76rem; color:#9ca3af; }

/* Mensajes */
.egt-msg { padding:12px 16px; border-radius:8px; font-size:.9rem; margin-bottom:16px; }
.egt-msg-ok  { background:#d1fae5; border:1px solid #6ee7b7; color:#065f46; }
.egt-msg-err { background:#fee2e2; border:1px solid #fca5a5; color:#991b1b; }

/* Modal */
.egt-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; }
.egt-modal-overlay { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.egt-modal-box { position:relative; background:#fff; border-radius:14px; padding:26px 30px; max-width:440px; width:90%; box-shadow:0 20px 60px rgba(0,0,0,.2); }
.egt-modal-box h3 { margin:0 0 16px; font-size:1.05rem; color:#1f2937; }
.egt-modal-body { margin-bottom:20px; }
.egt-modal-row { display:flex; justify-content:space-between; font-size:.88rem; padding:6px 0; border-bottom:1px solid #f3f4f6; }
.egt-modal-total { display:flex; justify-content:space-between; font-size:1.05rem; font-weight:800; color:#4f46e5; padding:10px 0 2px; }
.egt-modal-actions { display:flex; gap:10px; justify-content:flex-end; }
.egt-btn-modal-cancel  { padding:9px 20px; border:1px solid #e5e7eb; border-radius:8px; background:#fff; color:#374151; font-weight:600; cursor:pointer; }
.egt-btn-modal-confirm { padding:9px 20px; border:none; border-radius:8px; background:#4f46e5; color:#fff; font-weight:700; cursor:pointer; }
.egt-btn-modal-confirm:hover { background:#4338ca; }

/* Confirmación de pagos frontend */
.egt-pago-card { background:#fff; border-radius:12px; box-shadow:0 1px 6px rgba(0,0,0,.08); padding:20px 22px; }

.egt-courier-box { background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px; padding:14px 16px; margin:16px 0; }
.egt-courier-box-title { font-size:.82rem; font-weight:700; color:#065f46; margin-bottom:10px; text-transform:uppercase; letter-spacing:.04em; }
.egt-courier-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; align-items:end; }
@media(max-width:600px){ .egt-courier-grid{ grid-template-columns:1fr; } }
.egt-courier-stat { display:flex; flex-direction:column; gap:4px; }
.egt-courier-stat-label { font-size:.72rem; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.04em; }
.egt-courier-stat-value { font-size:1.1rem; font-weight:800; color:#065f46; }
.egt-courier-stat-final .egt-courier-stat-value { color:#1f2937; }
.egt-courier-input-row { display:flex; gap:6px; align-items:center; }
.egt-input-sm { max-width:100px!important; padding:6px 8px!important; font-size:.86rem!important; }
.egt-btn-mini { padding:7px 12px; background:#10b981; color:#fff; border:none; border-radius:6px; font-size:.8rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.egt-btn-mini:hover { background:#059669; }

.egt-pago-confirmado { background:#d1fae5; border:1px solid #6ee7b7; border-radius:8px; padding:12px 16px; color:#065f46; font-size:.88rem; margin-top:14px; }
.egt-pago-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.egt-pago-grid label { display:block; font-size:.8rem; font-weight:600; color:#374151; margin-bottom:4px; }

.egt-envio-info { display:flex; flex-wrap:wrap; gap:14px 22px; background:#f8f9fc; padding:12px 16px; border-radius:8px; margin-bottom:14px; }
.egt-envio-info > div { display:flex; flex-direction:column; gap:2px; font-size:.87rem; }
.egt-info-label { font-size:.72rem; font-weight:600; color:#9ca3af; text-transform:uppercase; letter-spacing:.05em; }

.egt-saldo-mini { display:flex; justify-content:space-between; align-items:center; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:8px; padding:9px 14px; margin-bottom:16px; }
.egt-saldo-mini-label { font-size:.78rem; font-weight:600; color:#065f46; }
.egt-saldo-mini-value { font-size:1rem; font-weight:800; color:#065f46; }

.egt-calc-total-btn { border:none; cursor:pointer; width:100%; transition:transform .15s, box-shadow .15s; }
.egt-calc-total-btn:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(79,70,229,.35); }
.egt-calc-total-btn:active { transform:translateY(0); }
.egt-calc-total-sub { font-size:.7rem; color:rgba(255,255,255,.75); margin-top:6px; }

/* Registrar Boleta - filas dinámicas */
.egt-bol-row { display:grid; grid-template-columns:1fr 140px 36px 60px; gap:8px; align-items:center; margin-bottom:8px; }
@media(max-width:500px){ .egt-bol-row{ grid-template-columns:1fr 100px 32px 50px; } }
.egt-bol-remove { background:#fee2e2; color:#dc2626; border:none; border-radius:6px; width:32px; height:32px; cursor:pointer; font-weight:700; }
.egt-bol-remove:hover { background:#fecaca; }
.egt-bol-status { font-size:.85rem; text-align:center; }
.egt-msg-warn { background:#fff7ed; border:1px solid #fed7aa; color:#92400e; }
