/* Capa nueva solo para login.html — no modifica .auth-card ni ninguna
   regla compartida en styles.css/polish.css, solo agrega el layout
   de 2 columnas y la lista de beneficios alrededor del formulario. */
.auth-layout{ display:grid; grid-template-columns:.85fr 1fr; gap:44px; align-items:start; max-width:920px; margin:0 auto; }
.auth-benefits{ padding-top:12px; }
.auth-benefits h2{ margin:0 0 18px; color:var(--petrol); font-size:1.5rem; }
.auth-benefits ul{ list-style:none; margin:0; padding:0; display:grid; gap:18px; }
.auth-benefits li{ display:flex; align-items:flex-start; gap:12px; }
.auth-benefits svg{ width:20px; height:20px; margin-top:2px; color:#fff; background:var(--petrol-2); border-radius:50%; padding:4px; box-sizing:border-box; flex-shrink:0; }
.auth-benefits strong{ display:block; color:var(--petrol); font-size:.94rem; margin-bottom:2px; }
.auth-benefits span{ display:block; color:var(--muted); font-size:.86rem; }
.auth-privacy-note{ display:flex; align-items:flex-start; gap:8px; margin-top:16px; padding:12px 14px; border-radius:10px; background:var(--soft); color:var(--muted); font-size:.78rem; }
.auth-privacy-note svg{ width:16px; height:16px; margin-top:1px; color:var(--petrol-2); flex-shrink:0; }
@media (max-width:820px){
  .auth-layout{ grid-template-columns:1fr; max-width:460px; }
  .auth-benefits{ padding-top:0; order:2; }
  .auth-card{ order:1; }
}

.quote-next-steps{ margin-top:18px; padding:16px 18px; border-radius:12px; background:#f3f8f8; border:1px solid var(--line); }
.quote-next-steps strong{ display:block; color:var(--petrol); margin-bottom:8px; }
.quote-next-steps ol{ margin:0; padding-left:20px; display:grid; gap:6px; color:var(--muted); font-size:.86rem; }

/* ---- Cuenta: formulario más claro, pantalla de éxito y barra de usuario ---- */
.auth-card .auth-tabs{ background:var(--soft); padding:4px; gap:4px; border-radius:14px; }
.auth-card .auth-tab-btn{ border-radius:10px; background:transparent; }
.auth-card .auth-tab-btn.is-active{ background:var(--petrol); box-shadow:0 4px 12px rgba(18,63,73,.22); }
.auth-field .opt{ font-style:normal; font-weight:500; font-size:.76rem; color:var(--muted); }
.pw-wrap{ position:relative; display:block; }
.pw-wrap input{ width:100%; box-sizing:border-box; padding-right:96px; }
.pw-toggle{ position:absolute; right:6px; top:50%; transform:translateY(-50%); border:0; background:transparent; color:var(--petrol-2); font:inherit; font-size:.8rem; font-weight:700; padding:8px 10px; border-radius:8px; cursor:pointer; }
.pw-toggle:hover{ background:var(--soft); }
.auth-submit{ width:100%; padding:15px 18px; font-size:1rem; }
.auth-submit:disabled{ opacity:.65; cursor:wait; }
.auth-alt,.auth-switch{ margin:0; text-align:center; font-size:.86rem; color:var(--muted); }
.auth-alt a{ color:var(--muted); }
.auth-switch a{ color:var(--petrol); font-weight:700; }
.auth-success{ text-align:center; padding:6px 0 2px; }
.auth-success-icon{ width:64px; height:64px; margin:0 auto 14px; border-radius:50%; background:#e7f4ee; display:grid; place-items:center; }
.auth-success-icon svg{ width:32px; height:32px; color:#1f8a5b; stroke:currentColor; fill:none; stroke-width:2.4; }
.auth-success h2{ margin:0 0 8px; color:var(--petrol); font-size:1.55rem; }
.auth-success p{ margin:0; color:var(--muted); font-size:.95rem; overflow-wrap:anywhere; }
.auth-success-steps{ text-align:left; margin:20px 0; padding:16px 18px 16px 38px; background:var(--soft); border-radius:12px; display:grid; gap:9px; font-size:.9rem; color:var(--ink); }
.auth-success-actions{ display:grid; gap:10px; }
.auth-success-actions .btn{ width:100%; justify-content:center; text-align:center; }
.auth-success-help{ margin-top:14px !important; font-size:.82rem !important; }

/* Barra de usuario en Mi cuenta */
.acct-bar{ display:flex; align-items:center; gap:14px; margin-top:22px; flex-wrap:wrap; }
.acct-chip{ display:flex; align-items:center; gap:12px; padding:8px 16px 8px 8px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; min-width:0; }
.acct-avatar{ width:42px; height:42px; border-radius:50%; background:#f2b91f; color:#123f49; font-weight:800; display:grid; place-items:center; flex-shrink:0; }
.acct-chip strong{ display:block; font-size:.95rem; line-height:1.2; }
.acct-chip small{ display:block; font-size:.78rem; color:rgba(255,255,255,.75); overflow-wrap:anywhere; }
.acct-bar .btn{ padding:11px 18px; font-size:.88rem; }
.acct-bar .btn-ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); }
.acct-bar .btn-ghost:hover{ background:rgba(255,255,255,.12); }
.acct-welcome{ margin:0 0 18px; padding:20px 22px; border-radius:16px; background:#fff; border:1px solid var(--line); border-left:4px solid #f2b91f; box-shadow:var(--shadow); }
.acct-welcome h3{ margin:0 0 6px; color:var(--petrol); }
.acct-welcome p{ margin:0 0 14px; color:var(--muted); font-size:.92rem; }
.acct-welcome .acts{ display:flex; gap:10px; flex-wrap:wrap; }
.profile-summary{ display:flex; align-items:center; gap:14px; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.profile-summary .acct-avatar{ width:54px; height:54px; font-size:1.15rem; }
.profile-summary strong{ display:block; color:var(--petrol); }
.profile-summary span{ color:var(--muted); font-size:.86rem; overflow-wrap:anywhere; }
@media (max-width:600px){ .acct-chip{ width:100%; box-sizing:border-box; } .acct-bar .btn{ flex:1; justify-content:center; } }
.auth-tabs[hidden],.auth-success[hidden],.acct-welcome[hidden]{ display:none !important; }

/* Los atributos hidden deben ganar sobre display de .btn, .n, etc. (el botón de staff se veía para clientes) */
[hidden]{ display:none !important; }

/* Mis pedidos: encabezado, estado vacío y ventana de nuevo pedido */
.orders-sub{ margin:4px 0 0; color:var(--muted); font-size:.92rem; }
.btn-sm{ padding:10px 16px; font-size:.86rem; }
.orders-empty{ margin-top:20px; padding:24px; border:1px dashed #c9d8da; border-radius:18px; background:#f7fbfb; }
.orders-empty-head strong{ display:block; color:var(--petrol); font-size:1.1rem; margin-bottom:4px; }
.orders-empty-head span{ color:var(--muted); font-size:.92rem; }
.svc-start{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; margin-top:18px; }
.svc-start button{ display:grid; grid-template-columns:40px 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center; text-align:left; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; cursor:pointer; font-family:inherit; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.svc-start button:hover{ transform:translateY(-2px); border-color:#f2b91f; box-shadow:0 8px 20px rgba(18,63,73,.1); }
.svc-start svg{ grid-row:1 / span 2; width:40px; height:40px; padding:9px; box-sizing:border-box; border-radius:11px; background:#e7f0f1; color:var(--petrol); stroke:currentColor; fill:none; stroke-width:1.8; }
.svc-start strong{ color:var(--petrol); font-size:.92rem; align-self:end; }
.svc-start small{ color:var(--muted); font-size:.78rem; align-self:start; }
.modal-back{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:16px; background:rgba(9,45,53,.55); backdrop-filter:blur(3px); }
.modal-card{ position:relative; width:100%; max-width:520px; max-height:calc(100vh - 32px); overflow:auto; padding:28px; border-radius:20px; background:#fff; box-shadow:0 24px 60px rgba(0,0,0,.3); }
.modal-card h3{ margin:0 0 4px; color:var(--petrol); font-size:1.35rem; }
.modal-sub{ margin:0 0 18px; color:var(--muted); font-size:.86rem; }
.modal-close{ position:absolute; top:14px; right:14px; width:36px; height:36px; border:0; border-radius:50%; background:var(--soft); color:var(--petrol); font-size:1.4rem; line-height:1; cursor:pointer; }
.chip-row{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{ padding:9px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--petrol); font:inherit; font-size:.84rem; font-weight:700; cursor:pointer; }
.chip.is-on{ background:var(--petrol); border-color:var(--petrol); color:#fff; }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px){ .two-col{ grid-template-columns:1fr; } }

/* Perfil ampliado y pedidos */
.profile-progress{ margin-bottom:20px; }
.profile-progress-bar{ height:8px; border-radius:6px; background:var(--line); overflow:hidden; }
.profile-progress-bar i{ display:block; height:100%; width:0; background:linear-gradient(90deg,#f2b91f,#1f8a5b); transition:width .3s ease; }
.profile-progress span{ display:block; margin-top:8px; font-size:.82rem; color:var(--muted); }
.order-stage-labels{ display:flex; justify-content:space-between; margin-top:6px; font-size:.68rem; color:var(--muted); }
.next-action{ margin-top:14px; padding:12px 14px; border-radius:12px; background:var(--soft); }
.next-action > span{ display:block; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:6px; }
.next-action.is-client{ background:#fff8e1; border:1px solid #f2d56a; }
.next-action.is-client strong{ color:var(--petrol); }
.next-action-row{ display:flex; gap:8px; }
.next-action-input{ flex:1; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; font-size:.88rem; }

/* Cobros, costos y caja */
.charge-badge{ margin-top:12px; padding:10px 14px; border-radius:10px; font-size:.84rem; font-weight:700; }
.charge-badge.is-due{ background:#fff8e1; color:#8a6a12; border:1px solid #f2d56a; }
.charge-badge.is-late{ background:#fbeaea; color:var(--danger); border:1px solid #f0b4b4; }
.charge-badge.is-ok{ background:#e6f7ec; color:#1f7a43; }
.charge-row{ display:grid; grid-template-columns:1fr auto auto; gap:6px 12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.charge-main strong{ display:block; color:var(--petrol); font-size:.9rem; }
.charge-main small{ color:var(--muted); font-size:.76rem; }
.charge-amt{ font-weight:800; color:var(--petrol); font-variant-numeric:tabular-nums; }
.charge-pill{ padding:4px 10px; border-radius:999px; font-size:.72rem; font-weight:800; background:#fff8e1; color:#8a6a12; }
.charge-pill.st-en_revision{ background:#e8f1f4; color:#1d5b66; }
.charge-pill.st-pagado{ background:#e6f7ec; color:#1f7a43; }
.charge-pill.is-late{ background:#fbeaea; color:var(--danger); }
.charge-actions{ grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:8px; }
.charge-upload{ cursor:pointer; }
.charge-note{ grid-column:1 / -1; font-size:.82rem; color:var(--muted); }
.charge-note.is-loss{ margin:10px 0; padding:10px 12px; border-radius:10px; background:#fbeaea; color:var(--danger); font-weight:700; }
.charge-form{ margin-top:16px; padding:14px; border-radius:12px; background:var(--soft); }
.charge-form-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; margin-top:8px; align-items:center; }
.charge-form-grid input,.charge-form-grid select{ padding:9px 10px; border:1px solid var(--line); border-radius:9px; font:inherit; font-size:.86rem; min-width:0; }
.charge-hint{ font-size:.76rem; color:var(--muted); }
.margin-box{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px; border-radius:12px; background:var(--soft); font-size:.78rem; color:var(--muted); }
.margin-box b{ display:block; color:var(--petrol); font-size:1rem; }
.margin-box.is-loss{ background:#fbeaea; } .margin-box.is-loss b{ color:var(--danger); }
.margin-box.is-gain b:last-child{ color:#1f7a43; }
.cost-del{ border:0; background:transparent; color:var(--danger); font-size:1.1rem; cursor:pointer; }
.cash-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.cash-tiles div{ padding:16px; border-radius:14px; background:#fff; border:1px solid var(--line); }
.cash-tiles span{ display:block; font-size:.76rem; color:var(--muted); font-weight:700; }
.cash-tiles b{ display:block; margin-top:4px; font-size:1.25rem; color:var(--petrol); }
.cash-tiles .is-late b{ color:var(--danger); } .cash-tiles .is-ok b{ color:#1f7a43; } .cash-tiles .is-alert{ border-color:#f2b91f; background:#fff8e1; }
.cash-row{ display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:12px 14px; margin-bottom:8px; border-radius:12px; background:#fff; border:1px solid var(--line); }
.cash-row strong{ display:block; color:var(--petrol); font-size:.9rem; } .cash-row small{ color:var(--muted); font-size:.78rem; }
.cash-row.is-loss{ border-color:#f0b4b4; background:#fff6f6; }
@media (max-width:560px){ .charge-row,.cash-row{ grid-template-columns:1fr auto; } .charge-pill{ grid-column:1; justify-self:start; } .margin-box{ grid-template-columns:1fr; } }

/* IVA, factura y checklist */
.check-steps{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.check-steps span{ padding:6px 12px; border-radius:999px; background:var(--soft); color:var(--muted); font-size:.78rem; font-weight:700; }
.check-steps span.is-ok{ background:#e6f7ec; color:#1f7a43; }
.tax-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; }
.tax-grid div{ padding:10px 12px; border-radius:10px; background:var(--soft); font-size:.76rem; color:var(--muted); }
.tax-grid b{ display:block; color:var(--petrol); font-size:.98rem; margin-top:2px; }
.tax-grid .span2{ grid-column:1 / -1; background:#fff8e1; }
.charge-lbl{ display:flex; flex-direction:column; gap:4px; font-size:.74rem; color:var(--muted); font-weight:700; }
.charge-lbl input{ padding:9px 10px; border:1px solid var(--line); border-radius:9px; font:inherit; font-size:.86rem; }
.check-inline{ flex-direction:row; align-items:center; gap:8px; align-self:end; padding-bottom:8px; }
.check-inline input{ width:auto; }

/* Tarifas LCL (equipo) */
.rates-top{ display:flex; flex-wrap:wrap; gap:18px; align-items:end; }
.rates-toggle{ font-size:.9rem; color:var(--petrol); }
.rates-status{ margin:14px 0; padding:12px 14px; border-radius:12px; background:var(--soft); color:var(--muted); font-size:.88rem; }
.rates-status.is-on{ background:#e6f7ec; color:#1f7a43; font-weight:700; }
.rates-scroll{ overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:#fff; }
.rates-table{ width:100%; border-collapse:collapse; font-size:.86rem; font-variant-numeric:tabular-nums; }
.rates-table th{ padding:10px; text-align:left; background:var(--petrol); color:#fff; font-size:.76rem; white-space:nowrap; }
.rates-table td{ padding:6px 8px; border-top:1px solid var(--line); }
.rates-table input{ width:90px; padding:7px 8px; border:1px solid var(--line); border-radius:8px; font:inherit; }
.rates-table tr.is-used td{ background:#fff8e1; }
.rates-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:14px 0 8px; }

/* Barra del equipo: separada de las pestañas del cliente */
.staff-bar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:14px; padding:12px 14px; border-radius:16px; background:#123f49; }
.staff-badge{ padding:5px 12px; border-radius:999px; background:#f2b91f; color:#123f49; font-size:.78rem; font-weight:800; white-space:nowrap; }
.staff-bar .staff-tabbar{ background:transparent; border:0; padding:0; max-width:none; flex:0 1 auto; }
.staff-bar .portal-tab{ color:rgba(255,255,255,.8); flex:0 0 auto; }
.staff-bar .portal-tab:not(.active):hover{ color:#fff; }
.staff-bar .portal-tab.active{ background:#fff; color:#123f49; }
.staff-bar small{ color:rgba(255,255,255,.7); font-size:.76rem; flex-basis:100%; }

/* Mi operación: requiere tu atención y saldos por moneda */
.attn{ margin-top:18px; display:flex; flex-direction:column; gap:8px; }
.attn[hidden],.bal-tiles[hidden]{ display:none; }
.attn-title{ font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#7a5b00; }
.attn-row{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:12px; background:#fff; border:1px solid var(--line); }
.attn-gold{ border-color:#f0d98a; } .attn-red{ border-color:#f0b4b4; background:#fff8f8; }
.attn-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; background:#274F5B; }
.attn-gold .attn-dot{ background:#DAAD2B; } .attn-red .attn-dot{ background:#b3261e; }
.attn-ref{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:.8rem; font-weight:600; white-space:nowrap; }
.attn-text{ flex:1; font-size:.9rem; min-width:0; }
.attn-btn{ height:36px; padding:0 14px; border-radius:9px; border:0; background:#DAAD2B; color:#17363F; font:inherit; font-size:.82rem; font-weight:800; cursor:pointer; }
.attn-teal .attn-btn{ background:#274F5B; color:#fff; }
.bal-tiles{ margin-top:14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bal-tiles div{ padding:14px 16px; border-radius:12px; background:#fff; border:1px solid var(--line); }
.bal-tiles span{ display:block; font-size:.74rem; font-weight:700; color:var(--muted); }
.bal-tiles b{ display:block; margin-top:4px; font-size:1.2rem; color:var(--petrol); font-variant-numeric:tabular-nums; }
.bal-tiles small{ display:block; margin-top:2px; font-size:.72rem; color:var(--muted); }
@media (max-width:640px){ .attn-row{ flex-wrap:wrap; } .attn-text{ flex-basis:100%; order:3; } .attn-btn{ margin-left:auto; } .bal-tiles{ grid-template-columns:1fr; } }

/* Cabecera compacta del portal: lo importante (atención y pedidos) queda arriba */
.standalone-hero.portal-hero{ padding:34px 0 30px; }
.standalone-hero.portal-hero h1{ font-size:clamp(1.8rem,3.2vw,2.5rem); margin:8px 0 4px; }
.standalone-hero.portal-hero p{ margin:0; }
.standalone-hero.portal-hero .acct-bar{ margin-top:14px; }

/* ---------- Contenedores (equipo) ---------- */
.ship-form{ margin-top:16px; padding:20px; border-radius:18px; background:#fff; border:1px solid var(--line); box-shadow:0 12px 30px rgba(18,63,73,.08); }
.ship-form h3{ margin:0 0 14px; color:var(--petrol); }
.ship-form-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.ship-form-grid select,.ship-form-grid input,.ship-form-grid textarea{ width:100%; margin-top:4px; padding:9px 11px; border:1px solid var(--line); border-radius:10px; font:inherit; font-size:.9rem; background:#fff; box-sizing:border-box; }
.ship-form-wide{ grid-column:1 / -1; }
.ship-card{ margin-top:16px; padding:20px; border-radius:18px; background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; gap:14px; }
.ship-card.is-done{ opacity:.8; }
.ship-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.ship-code{ display:block; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.05rem; color:var(--petrol); }
.ship-type{ font-size:.8rem; color:var(--muted); font-weight:600; }
.ship-head-actions{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ship-head-actions select{ width:auto; }
.ship-head-actions select,.ship-add select{ padding:8px 10px; border:1px solid var(--line); border-radius:10px; font:inherit; font-size:.85rem; background:#fff; color:var(--petrol); font-weight:700; }
.ship-dates{ display:flex; flex-wrap:wrap; gap:8px 22px; align-items:flex-end; font-size:.76rem; color:var(--muted); font-weight:700; }
.ship-dates b{ display:block; font-size:.95rem; color:var(--petrol); }
.ship-link{ border:0; background:none; padding:0; color:var(--petrol); font:inherit; font-size:.8rem; font-weight:800; text-decoration:underline; cursor:pointer; }
.ship-fill-top{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:.88rem; color:var(--petrol); margin-bottom:6px; font-variant-numeric:tabular-nums; }
.ship-fill-top span{ color:var(--muted); font-weight:600; }
.ship-bar{ position:relative; display:flex; height:22px; border-radius:8px; background:repeating-linear-gradient(90deg,#edf3f3 0 14px,#e4ecec 14px 15px); overflow:visible; }
.ship-bar span{ height:100%; border-right:2px solid #fff; box-sizing:border-box; }
.ship-bar span:first-child{ border-radius:8px 0 0 8px; }
.ship-be{ position:absolute; top:-5px; bottom:-5px; width:0; border-left:2px dashed #b83232; }
.ship-be::after{ content:"equilibrio"; position:absolute; top:-16px; left:-26px; font-size:.64rem; font-weight:800; color:#b83232; font-style:normal; }
.ship-warn{ color:#b83232 !important; font-style:normal; font-weight:700; }
.ship-money{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ship-money div{ padding:12px 14px; border-radius:12px; background:#f7f9f9; }
.ship-money span{ display:block; font-size:.74rem; color:var(--muted); font-weight:700; }
.ship-money b{ font-size:1.1rem; color:var(--petrol); font-variant-numeric:tabular-nums; }
.ship-money small{ font-size:.75rem; color:var(--muted); }
.ship-money .is-late b{ color:var(--danger); } .ship-money .is-ok b{ color:#1f7a43; }
.ship-table{ width:100%; border-collapse:collapse; font-size:.86rem; font-variant-numeric:tabular-nums; }
.ship-table th{ text-align:left; font-size:.72rem; color:var(--muted); font-weight:800; padding:6px 8px; border-bottom:1px solid var(--line); }
.ship-table td{ padding:9px 8px; border-bottom:1px solid #eef2f2; vertical-align:middle; }
.ship-table td small{ display:block; color:var(--muted); font-size:.74rem; margin-left:16px; }
.ship-dot{ display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px; }
.ship-done{ margin-top:18px; } .ship-done summary{ cursor:pointer; font-weight:800; color:var(--petrol); }
@media (max-width:560px){ .ship-money{ grid-template-columns:1fr; } }
.order-ship{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-top:12px; padding:10px 12px; border-radius:12px; background:#f3f7f7; font-size:.8rem; color:var(--muted); font-weight:600; }
.order-ship b{ color:var(--petrol); }
.order-ship-code{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-weight:600; color:var(--petrol); padding:2px 8px; border-radius:6px; background:#fff; border:1px solid var(--line); }
.auth-consent{ display:flex; gap:10px; align-items:flex-start; font-size:.84rem; line-height:1.45; color:var(--muted); }
.auth-consent input{ width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--petrol); }
.auth-consent a{ color:var(--petrol); font-weight:700; text-decoration:underline; }

/* ---------- Cotizador: declaración de marcas ---------- */
.qz-brand{ display:flex; flex-direction:column; gap:6px; margin:0 0 16px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.qz-brand legend{ padding:0 4px; font-weight:800; color:var(--petrol); font-size:.95rem; }
.qz-brand label{ display:flex; align-items:flex-start; gap:10px; font-size:.9rem; color:var(--ink); cursor:pointer; }
.qz-brand input{ width:auto; height:auto; margin-top:4px; flex:none; accent-color:var(--petrol); }
.qz-brand-ok{ margin-top:8px; padding-top:10px; border-top:1px dashed var(--line); font-size:.84rem !important; line-height:1.45; }
.qz-brand-ok a{ color:var(--petrol); font-weight:700; }
.qz-brand-stop{ margin:4px 0 0; padding:10px 12px; border-radius:10px; background:#fcebea; color:var(--danger); font-size:.84rem; font-weight:700; }

.staff-crm-link{ padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; font-size:.8rem; font-weight:700; text-decoration:none; }
.staff-crm-link:hover{ background:rgba(255,255,255,.2); color:#fff; }

/* Cotizaciones de Chelme en la cuenta del cliente */
.cc-wrap{ display:flex; flex-direction:column; gap:16px; margin-top:16px; }
.cc-wrap[hidden], .cc-aviso[hidden]{ display:none; }
.cc-titulo{ margin:0; font-size:1.2rem; color:#123f49; }
.cc-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; display:flex; flex-direction:column; gap:14px; }
.cc-card.is-ok{ border-color:#bfe0d1; }
.cc-head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
.cc-head h3{ margin:2px 0 0; font-size:1.15rem; color:#123f49; }
.cc-head p{ margin:2px 0 0; color:var(--muted); font-size:.88rem; }
.cc-num{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:.8rem; font-weight:600; color:#7a5b00; }
.cc-estado{ padding:5px 12px; border-radius:999px; background:#fbf2da; color:#7a5b00; font-size:.8rem; font-weight:700; white-space:nowrap; }
.is-ok .cc-estado{ background:#e2f0eb; color:#1e6b5a; }
.cc-msg{ margin:0; padding:10px 12px; border-radius:10px; background:#f2f6f7; font-size:.92rem; }
.cc-scroll{ overflow-x:auto; }
.cc-tabla{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:520px; }
.cc-tabla th{ text-align:left; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); padding:6px 8px; border-bottom:2px solid #123f49; }
.cc-tabla td{ padding:8px; border-bottom:1px solid var(--line); vertical-align:middle; font-variant-numeric:tabular-nums; }
.cc-tabla td small{ display:block; color:var(--muted); font-size:.78rem; }
.cc-foto{ width:56px; }
.cc-foto img{ width:48px; height:48px; border-radius:8px; object-fit:cover; display:block; }
.cc-tot{ margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.cc-tot div{ padding:10px 12px; border-radius:10px; background:#f7f9f9; }
.cc-tot dt{ font-size:.78rem; color:var(--muted); }
.cc-tot dd{ margin:2px 0 0; font-weight:700; font-variant-numeric:tabular-nums; }
.cc-tot dd small{ display:block; font-weight:500; font-size:.78rem; color:var(--muted); }
.cc-tot .cc-big{ background:#123f49; color:#fff; }
.cc-tot .cc-big dt, .cc-tot .cc-big dd small{ color:rgba(255,255,255,.75); }
.cc-tot .cc-big dd{ font-size:1.25rem; color:#e2b33c; }
.cc-pago{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.cc-pago p{ margin:0; font-size:.92rem; }
.cc-nota{ color:var(--muted); font-size:.82rem !important; }
.cc-ok{ margin:0; color:#1e6b5a; font-weight:600; }
.cc-aviso{ margin-top:14px; }
@media (max-width:560px){ .cc-tot{ grid-template-columns:1fr; } }
.cc-aviso{ flex-wrap:wrap; }
.cc-aviso .attn-text{ flex:1 1 200px; order:0; }
.cc-aviso .btn{ order:4; }
@media (max-width:560px){
  .cc-tabla{ min-width:0; }
  .cc-tabla thead{ display:none; }
  .cc-tabla tr{ display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:2px 10px; padding:10px 0; border-bottom:1px solid var(--line); align-items:center; }
  .cc-tabla td{ padding:0; border:0; }
  .cc-tabla td:nth-child(1){ grid-row:span 2; }
  .cc-tabla td:nth-child(2){ grid-column:2; }
  .cc-tabla td:nth-child(3){ grid-column:2; grid-row:2; font-size:.82rem; color:var(--muted); }
  .cc-tabla td:nth-child(3) small{ display:inline; margin-left:4px; }
  .cc-tabla td:nth-child(4){ grid-column:3; grid-row:2; font-size:.82rem; color:var(--muted); text-align:right; }
  .cc-tabla td:nth-child(5){ grid-column:3; grid-row:1; text-align:right; }
}
