:root {
    --orange-900: #8f2f0c;
    --orange-800: #a83a10;
    --orange-700: #bd4315;
    --orange-600: #cf531d;
    --orange-500: #e26727;
    --orange-100: #fff0e8;
    --ink-900: #25211f;
    --ink-700: #514b47;
    --ink-500: #77706b;
    --line: #e8e4e1;
    --surface: #ffffff;
    --background: #f5f4f2;
    --success: #197a4b;
    --success-bg: #e8f7ef;
    --warning: #946200;
    --warning-bg: #fff5d7;
    --danger: #ad2e24;
    --danger-bg: #fdecea;
    --shadow: 0 18px 45px rgba(65, 42, 30, .09);
    --radius-xl: 28px;
    --radius-lg: 20px;
    --radius-md: 14px;
}

* { box-sizing: border-box; }
html { min-height: 100%; -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100%; overflow-x: hidden; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink-900); background: var(--background); }
a { color: inherit; }
button, input { font: inherit; }
button { cursor: pointer; }

.landing-body { background: radial-gradient(circle at 90% 5%, #ffe5d5 0, transparent 30%), var(--background); }
.landing-header { max-width: 1180px; margin: 0 auto; padding: 28px 24px 0; }
.brand-wrap, .brand-inline, .app-header-inner, .welcome-row, .panel-title, .quick-action, .next-step-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand-logo { width: 176px; height: auto; display: block; }
.environment-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 6px 11px; border-radius: 999px; background: var(--orange-100); color: var(--orange-800); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.landing-main { max-width: 1180px; margin: 0 auto; padding: 38px 24px 56px; }
.hero-card { min-height: 430px; padding: 56px; border: 1px solid rgba(191, 67, 21, .12); border-radius: var(--radius-xl); background: linear-gradient(135deg, #fff 0%, #fffaf7 65%, #ffe4d2 100%); box-shadow: var(--shadow); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 48px; align-items: center; overflow: hidden; position: relative; }
.hero-card::after { content: ""; position: absolute; width: 260px; height: 260px; right: -90px; top: -90px; border-radius: 50%; background: rgba(211, 82, 26, .09); }
.eyebrow { margin: 0 0 9px; color: var(--orange-700); font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
.hero-copy h1, .welcome-row h1, .auth-card h1 { margin-bottom: 16px; font-size: clamp(36px, 6vw, 64px); line-height: .98; letter-spacing: -.045em; }
.hero-text { max-width: 650px; margin-bottom: 30px; color: var(--ink-700); font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 13px; text-decoration: none; font-weight: 800; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff; background: linear-gradient(135deg, var(--orange-700), var(--orange-500)); box-shadow: 0 12px 24px rgba(189, 67, 21, .24); }
.button-secondary { color: var(--orange-800); background: #fff; border: 1px solid #efc7b5; }
.button-ghost { color: var(--ink-700); background: #fff; border: 1px solid var(--line); }
.button-small { min-height: 40px; padding: 9px 14px; font-size: 13px; }
.button-full { width: 100%; }
.button-disabled { background: #e7e4e1; color: #98918c; cursor: not-allowed; box-shadow: none; }
.button-disabled:hover { transform: none; }
.hero-visual { display: grid; place-items: center; position: relative; z-index: 1; }
.invoice-sheet { width: min(100%, 320px); aspect-ratio: .78; padding: 36px; border-radius: 24px; background: #fff; box-shadow: 0 24px 55px rgba(99, 45, 20, .18); transform: rotate(4deg); border: 1px solid #f0d6c8; }
.invoice-sheet::before { content: "R"; display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 28px; border-radius: 16px; background: var(--orange-700); color: #fff; font-size: 25px; font-weight: 900; }
.invoice-sheet span { display: block; height: 9px; margin: 13px 0; border-radius: 99px; background: #ece8e5; }
.invoice-sheet span:nth-child(2) { width: 75%; }
.invoice-sheet span:nth-child(3) { width: 88%; }
.invoice-sheet strong { display: block; margin-top: 36px; color: var(--ink-700); }
.invoice-total { margin-top: 14px; padding: 20px; border-radius: 16px; color: var(--orange-800); background: var(--orange-100); font-size: 28px; font-weight: 900; text-align: right; }
.status-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 18px; }
.status-card { display: flex; align-items: center; gap: 13px; min-height: 88px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.status-card small, .kpi-card small, .brand-inline small, .setup-step small, .check-list small, .timeline small, .security-note { display: block; color: var(--ink-500); }
.status-card strong { display: block; margin-top: 3px; }
.status-icon { font-size: 20px; }
.status-ok .status-icon { color: var(--success); }
.status-warning .status-icon { color: var(--warning); }
.status-error .status-icon { color: var(--danger); }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; }
.feature-grid article { padding: 28px; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--line); }
.feature-grid article > span { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--orange-100); color: var(--orange-800); font-weight: 900; }
.feature-grid h2 { margin: 20px 0 9px; font-size: 20px; }
.feature-grid p { margin-bottom: 0; color: var(--ink-700); line-height: 1.6; }
.site-footer { padding: 0 24px 30px; color: var(--ink-500); text-align: center; font-size: 13px; }

.auth-body { background: radial-gradient(circle at 50% 0, #ffe1cf 0, transparent 35%), var(--background); }
.auth-shell, .setup-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.auth-card { width: min(100%, 470px); padding: 38px; border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow); border: 1px solid var(--line); }
.setup-card { width: min(100%, 620px); }
.auth-logo { width: 170px; margin: 22px 0 28px; }
.auth-card h1 { font-size: 38px; }
.auth-card > p:not(.eyebrow) { color: var(--ink-700); line-height: 1.6; }
.back-link { color: var(--ink-500); text-decoration: none; font-size: 14px; font-weight: 700; }
.form-stack { display: grid; gap: 17px; margin-top: 24px; }
.form-stack label { display: grid; gap: 8px; font-weight: 800; font-size: 14px; }
.form-stack input { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #dcd7d3; border-radius: 13px; outline: none; background: #fff; }
.form-stack input:focus { border-color: var(--orange-600); box-shadow: 0 0 0 4px rgba(207, 83, 29, .11); }
.form-stack label small { color: var(--ink-500); font-weight: 500; }
.alert { margin: 18px 0; padding: 14px 16px; border-radius: 13px; line-height: 1.5; }
.alert-error { color: var(--danger); background: var(--danger-bg); border: 1px solid #f3c5c1; }
.alert-success { color: var(--success); background: var(--success-bg); border: 1px solid #bfe5cf; }
.security-note { margin-top: 22px; text-align: center; line-height: 1.5; }
.setup-steps { display: grid; gap: 10px; margin: 26px 0; }
.setup-step { display: flex; gap: 14px; align-items: center; padding: 14px; border-radius: 14px; background: #f8f7f6; border: 1px solid var(--line); }
.setup-step > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font-weight: 900; }
.setup-step.complete > span { color: #fff; background: var(--success); }
.setup-step.pending > span { color: var(--warning); background: var(--warning-bg); }
.setup-step strong, .setup-step small { display: block; }

.app-body { padding-bottom: 86px; }
.app-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px); }
.app-header-inner { max-width: 1180px; min-height: 72px; margin: 0 auto; padding: 0 24px; }
.brand-inline { justify-content: flex-start; }
.brand-inline img { width: 120px; }
.brand-inline strong, .brand-inline small { display: block; }
.header-actions { display: flex; gap: 9px; }
.dashboard-shell { max-width: 1180px; margin: 0 auto; padding: 36px 24px; }
.welcome-row { align-items: flex-start; }
.welcome-row h1 { margin-bottom: 10px; font-size: clamp(34px, 5vw, 54px); }
.welcome-row p:last-child { max-width: 720px; color: var(--ink-700); }
.quick-action { margin: 28px 0 18px; padding: 22px; border-radius: var(--radius-lg); color: #fff; background: linear-gradient(135deg, var(--orange-800), var(--orange-500)); box-shadow: 0 18px 35px rgba(165, 58, 16, .2); }
.quick-action > div { display: flex; align-items: center; gap: 14px; }
.quick-action strong, .quick-action small { display: block; }
.quick-action small { margin-top: 4px; color: rgba(255,255,255,.78); }
.quick-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(255,255,255,.16); font-size: 28px; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.kpi-card, .panel-card, .next-step-card { border: 1px solid var(--line); background: #fff; border-radius: var(--radius-lg); }
.kpi-card { padding: 22px; }
.kpi-card strong { display: block; margin: 8px 0; font-size: 34px; }
.kpi-card span { color: var(--ink-500); font-size: 13px; }
.text-status { font-size: 24px !important; }
.text-status.ok { color: var(--success); }
.text-status.warning { color: var(--warning); }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.panel-card { padding: 26px; }
.panel-title h2 { margin: 0; }
.panel-title a { color: var(--orange-700); font-size: 14px; font-weight: 800; }
.check-list, .timeline { display: grid; gap: 10px; margin-top: 22px; }
.check-list > div, .timeline > div { display: flex; align-items: center; gap: 13px; padding: 13px 0; border-bottom: 1px solid #f0edeb; }
.check-list > div:last-child, .timeline > div:last-child { border-bottom: 0; }
.check-list p, .timeline p { margin: 0; }
.check-list strong, .check-list small, .timeline strong, .timeline small { display: block; }
.check { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; font-weight: 900; }
.check.ok { color: var(--success); background: var(--success-bg); }
.check.pending { color: var(--warning); background: var(--warning-bg); }
.check.error { color: var(--danger); background: var(--danger-bg); }
.timeline > div > span { width: 12px; height: 12px; margin-left: 10px; border-radius: 50%; background: var(--orange-600); box-shadow: 0 0 0 6px var(--orange-100); }
.next-step-card { margin-top: 18px; padding: 28px; }
.next-step-card h2 { margin-bottom: 9px; }
.next-step-card p:last-child { margin-bottom: 0; color: var(--ink-700); line-height: 1.6; }
.step-badge { min-width: 80px; padding: 12px 16px; border-radius: 14px; color: var(--orange-800); background: var(--orange-100); font-weight: 900; text-align: center; }
.mobile-nav { display: none; }

code { padding: 2px 6px; border-radius: 6px; background: #f2efed; }

@media (max-width: 820px) {
    .hero-card { grid-template-columns: 1fr; min-height: 0; padding: 34px 26px; }
    .hero-visual { display: none; }
    .status-grid, .feature-grid, .kpi-grid { grid-template-columns: 1fr 1fr; }
    .dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .app-body { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
    .landing-header { padding: 18px 16px 0; }
    .brand-logo { width: 142px; }
    .landing-main { padding: 24px 16px 36px; }
    .hero-card { padding: 30px 22px; border-radius: 22px; }
    .hero-copy h1 { font-size: 42px; }
    .hero-text { font-size: 16px; }
    .hero-actions .button { width: 100%; }
    .status-grid, .feature-grid, .kpi-grid { grid-template-columns: 1fr; }
    .auth-shell, .setup-shell { padding: 14px; }
    .auth-card { padding: 28px 22px; border-radius: 22px; }
    .auth-card h1 { font-size: 34px; }
    .app-header-inner { padding: 0 16px; }
    .brand-inline img { width: 102px; }
    .brand-inline > div { display: none; }
    .dashboard-shell { padding: 26px 16px 100px; }
    .welcome-row { flex-direction: column; }
    .quick-action { align-items: flex-start; flex-direction: column; }
    .quick-action .button { width: 100%; }
    .next-step-card { align-items: flex-start; flex-direction: column; }
    .mobile-nav { position: fixed; z-index: 30; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(4, 1fr); padding: 8px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 16px 40px rgba(44,35,30,.18); backdrop-filter: blur(14px); }
    .mobile-nav a { display: grid; min-height: 52px; align-content: center; justify-items: center; gap: 3px; padding: 7px 2px; color: var(--ink-500); text-decoration: none; font-size: 10px; font-weight: 800; }
    .mobile-nav a span { font-size: 20px; }
    .mobile-nav a.active { color: var(--orange-700); }
}

/* PWA v0.2.0 */
.button[hidden] { display: none !important; }
#installPwa[aria-busy="true"] { cursor: wait; opacity: .72; }

/* Administración de usuarios v0.2.0 */
.alert-warning { color: var(--warning); background: var(--warning-bg); border: 1px solid #ecd99e; }
.security-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 18px 20px; border: 1px solid #ecd99e; border-radius: var(--radius-lg); background: var(--warning-bg); color: var(--warning); }
.security-banner strong, .security-banner span { display: block; }
.security-banner span { margin-top: 4px; color: #6f520e; font-size: 14px; }
.admin-module-card { display: grid; grid-template-columns: minmax(0, 1.2fr) auto auto; gap: 24px; align-items: center; margin-top: 18px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.admin-module-copy h2 { margin-bottom: 8px; }
.admin-module-copy p:last-child { margin-bottom: 0; color: var(--ink-700); line-height: 1.55; }
.admin-module-metrics { display: flex; gap: 10px; }
.admin-module-metrics span { min-width: 84px; padding: 13px; border-radius: 14px; background: var(--orange-100); text-align: center; }
.admin-module-metrics strong, .admin-module-metrics small { display: block; }
.admin-module-metrics strong { color: var(--orange-800); font-size: 25px; }
.admin-module-metrics small { color: var(--ink-500); }
.admin-module-actions { display: grid; gap: 9px; }
.admin-shell { max-width: 1380px; }
.narrow-shell { max-width: 860px; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.page-heading h1, .form-card-heading h1 { margin-bottom: 10px; font-size: clamp(34px, 5vw, 50px); letter-spacing: -.035em; }
.page-heading p:last-child, .form-card-heading p:last-child { margin-bottom: 0; color: var(--ink-700); line-height: 1.6; }
.user-kpis { margin-bottom: 18px; }
.table-card, .form-card-large { margin-top: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 10px 30px rgba(65, 42, 30, .04); }
.table-card { overflow: hidden; }
.table-card-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 24px 26px; border-bottom: 1px solid var(--line); }
.table-card-header h2 { margin: 0; }
.table-count { padding: 8px 12px; border-radius: 999px; background: var(--orange-100); color: var(--orange-800); font-size: 12px; font-weight: 800; }
.responsive-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 16px 18px; border-bottom: 1px solid #f0edeb; text-align: left; vertical-align: middle; }
.admin-table th { color: var(--ink-500); background: #fbfaf9; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.admin-table tbody tr:hover { background: #fffaf7; }
.admin-table td > strong, .admin-table td > small { display: block; }
.admin-table td > small { margin-top: 4px; color: var(--ink-500); }
.actions-column { min-width: 260px; }
.row-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.inline-form { display: inline; margin: 0; }
.button-tiny { min-height: 34px; padding: 7px 10px; border-radius: 10px; font-size: 12px; }
.button-danger-soft { color: var(--danger); background: var(--danger-bg); border: 1px solid #f3c5c1; }
.button-success-soft { color: var(--success); background: var(--success-bg); border: 1px solid #bfe5cf; }
.role-badge, .status-badge { display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.role-badge { color: var(--orange-800); background: var(--orange-100); }
.status-activo, .status-ok { color: var(--success); background: var(--success-bg); }
.status-bloqueado { color: var(--danger); background: var(--danger-bg); }
.status-inactivo { color: var(--ink-500); background: #efedeb; }
.status-pending { color: var(--warning); background: var(--warning-bg); }
.self-account-label { color: var(--ink-500); font-size: 12px; font-weight: 800; }
.form-card-large { padding: 32px; }
.admin-form { margin-top: 28px; }
.admin-form select { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #dcd7d3; border-radius: 13px; outline: none; background: #fff; }
.admin-form select:focus { border-color: var(--orange-600); box-shadow: 0 0 0 4px rgba(207, 83, 29, .11); }
.form-grid-two { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.password-section { margin-top: 8px; padding: 22px; border-radius: 16px; background: #faf8f6; border: 1px solid var(--line); }
.password-section h2 { margin-bottom: 8px; font-size: 20px; }
.password-section > p { color: var(--ink-700); }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 8px; }
.audit-table td { font-size: 13px; }
.audit-table .detail-text, .audit-table .device-text { display: inline-block; max-width: 380px; color: var(--ink-700); line-height: 1.45; }

@media (max-width: 980px) {
    .admin-module-card { grid-template-columns: 1fr; }
    .admin-module-actions { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
    .header-actions .button:not(:last-child) { display: none; }
    .page-heading { flex-direction: column; }
    .page-heading .button { width: 100%; }
    .security-banner { align-items: flex-start; flex-direction: column; }
    .security-banner .button { width: 100%; }
    .form-grid-two { grid-template-columns: 1fr; }
    .form-card-large { padding: 24px 18px; }
    .form-actions { flex-direction: column-reverse; }
    .form-actions .button { width: 100%; }
    .admin-module-metrics { width: 100%; }
    .admin-module-metrics span { flex: 1; min-width: 0; }
    .admin-module-actions { grid-template-columns: 1fr; }
    .admin-table thead { display: none; }
    .admin-table, .admin-table tbody, .admin-table tr, .admin-table td { display: block; width: 100%; }
    .admin-table tr { padding: 12px 16px; border-bottom: 1px solid var(--line); }
    .admin-table td { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 9px 0; border: 0; }
    .admin-table td::before { content: attr(data-label); color: var(--ink-500); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .admin-table .actions-column { min-width: 0; }
    .row-actions { justify-content: flex-start; }
}


/* Canales Siigo y doble trazabilidad v0.2.1 */
.form-section-block { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.form-section-block:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.section-block-heading { margin-bottom: 18px; }
.section-block-heading h2 { margin: 3px 0 7px; font-size: 22px; }
.section-block-heading p:last-child { margin-bottom: 0; color: var(--ink-700); }
.billing-section { padding: 22px; border: 1px solid #eadfd8; border-radius: 17px; background: #fffaf7; }
.toggle-card { display: flex !important; align-items: flex-start; gap: 12px; margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; cursor: pointer; }
.toggle-card input[type="checkbox"] { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--orange-700); }
.toggle-card span, .toggle-card strong, .toggle-card small { display: block; }
.toggle-card small { margin-top: 5px; color: var(--ink-500); line-height: 1.45; }
.compact-toggle { margin-top: 0; align-self: end; }
.association-readout { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 16px; }
.association-readout div { padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.association-readout small, .association-readout strong { display: block; }
.association-readout small { margin-bottom: 5px; color: var(--ink-500); }
.users-channel-table { min-width: 1180px; }
.seller-code-kpi { font-size: clamp(22px, 3vw, 32px) !important; letter-spacing: -.02em; }
.status-error { color: var(--danger); background: var(--danger-bg); }
.button:disabled { opacity: .58; cursor: not-allowed; }
[hidden] { display: none !important; }

@media (max-width: 720px) {
    .billing-section { padding: 18px 14px; }
    .association-readout { grid-template-columns: 1fr; }
    .compact-toggle { align-self: auto; }
}


/* Experiencia móvil/PWA v0.4.0 */
@media (max-width: 720px) {
    button,
    input,
    select,
    textarea {
        font-size: 16px;
    }

    .button,
    .button-small,
    .button-tiny {
        min-height: 46px;
    }

    .app-header-inner {
        min-height: 64px;
    }

    .responsive-table-wrap {
        overflow: visible;
    }

    .admin-table td {
        overflow-wrap: anywhere;
    }

    .admin-table td .button {
        width: 100%;
    }

    .row-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
}

@media (max-width: 430px) {
    .dashboard-shell {
        padding-left: 12px;
        padding-right: 12px;
    }

    .panel-card,
    .kpi-card,
    .admin-module-card,
    .table-card {
        border-radius: 16px;
    }

    .table-card-header {
        align-items: flex-start;
        padding: 18px 16px;
    }
}

/* ==========================================================
   Roscogas Ventas v0.5.0 · operación móvil compacta
   ========================================================== */
.brand-link { color: inherit; text-decoration: none; }
.app-header-compact .app-header-inner { min-height: 64px; }
.header-profile {
    display: none;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--orange-700), var(--orange-500));
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(189, 67, 21, .18);
}
.header-back {
    display: none;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--ink-900);
    background: #f5f2f0;
    text-decoration: none;
    font-size: 31px;
    line-height: 1;
}

/* Inicio compacto */
.dashboard-compact { max-width: 920px; padding-top: 26px; }
.mobile-welcome {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}
.mobile-welcome h1 { margin: 0 0 7px; font-size: clamp(32px, 5vw, 46px); letter-spacing: -.04em; }
.mobile-welcome p:last-child { margin: 0; color: var(--ink-500); }
.connection-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
}
.connection-pill i { width: 8px; height: 8px; border-radius: 50%; }
.connection-pill.connected { color: var(--success); background: var(--success-bg); }
.connection-pill.connected i { background: var(--success); box-shadow: 0 0 0 4px rgba(25, 122, 75, .11); }
.connection-pill.pending { color: var(--warning); background: var(--warning-bg); }
.connection-pill.pending i { background: var(--warning); }
.compact-alert { margin: 12px 0; padding: 11px 13px; font-size: 13px; }
.compact-security-banner { margin-bottom: 16px; padding: 13px 15px; }
.primary-sale-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 104px;
    padding: 20px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(135deg, var(--orange-900), var(--orange-500));
    box-shadow: 0 17px 32px rgba(165, 58, 16, .22);
    text-decoration: none;
}
.primary-sale-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .15);
    font-size: 31px;
    font-weight: 400;
}
.primary-sale-copy strong, .primary-sale-copy small { display: block; }
.primary-sale-copy strong { font-size: 22px; }
.primary-sale-copy small { margin-top: 4px; color: rgba(255, 255, 255, .76); line-height: 1.4; }
.primary-sale-arrow { font-size: 36px; font-weight: 300; opacity: .8; }
.compact-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 11px;
    margin-top: 14px;
}
.compact-kpis article {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: #fff;
}
.compact-kpis small, .compact-kpis strong, .compact-kpis span { display: block; }
.compact-kpis small { color: var(--ink-500); font-size: 11px; font-weight: 750; }
.compact-kpis strong { margin: 5px 0 2px; font-size: 27px; line-height: 1.05; overflow-wrap: anywhere; }
.compact-kpis span { color: var(--ink-500); font-size: 11px; }
.compact-seller-code { color: var(--orange-800); font-size: 18px !important; }
.recent-sales-card, .admin-hub {
    margin-top: 14px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
}
.recent-sales-card { padding: 20px; }
.compact-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.compact-section-heading h2 { margin: 0; font-size: 21px; }
.compact-section-heading a { color: var(--orange-700); text-decoration: none; font-size: 13px; font-weight: 850; }
.empty-activity { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 16px; border-radius: 15px; background: #f8f6f4; }
.empty-activity > span { color: var(--orange-700); font-size: 23px; }
.empty-activity strong, .empty-activity small { display: block; }
.empty-activity small { margin-top: 3px; color: var(--ink-500); }
.recent-sales-list { display: grid; margin-top: 10px; }
.recent-sales-list > a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 13px 0;
    border-bottom: 1px solid #f0edeb;
    color: inherit;
    text-decoration: none;
}
.recent-sales-list > a:last-child { border-bottom: 0; padding-bottom: 0; }
.recent-sale-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; color: var(--success); background: var(--success-bg); font-weight: 900; }
.recent-sale-copy { min-width: 0; }
.recent-sale-copy strong, .recent-sale-copy small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.recent-sale-copy small { margin-top: 3px; color: var(--ink-500); font-size: 11px; }
.recent-sale-value { font-size: 13px; font-weight: 900; white-space: nowrap; }
.admin-hub { overflow: hidden; }
.admin-hub > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 17px 19px;
    cursor: pointer;
    list-style: none;
}
.admin-hub > summary::-webkit-details-marker { display: none; }
.admin-hub > summary strong, .admin-hub > summary small { display: block; }
.admin-hub > summary small { margin-top: 3px; color: var(--ink-500); font-size: 12px; }
.admin-hub > summary b { color: var(--orange-700); font-size: 20px; transition: transform .18s ease; }
.admin-hub[open] > summary b { transform: rotate(180deg); }
.admin-hub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0 18px 18px; }
.admin-hub-grid a { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; color: inherit; text-decoration: none; }
.admin-hub-grid a > span { color: var(--orange-700); font-size: 20px; }
.admin-hub-grid a small { color: var(--ink-500); }

/* Nueva venta en tres pasos */
.sales-app-body { padding-bottom: 0; }
.sales-shell-v050 { width: min(100%, 920px); margin: 0 auto; padding: 22px 18px 128px; }
.sales-mobile-intro { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.sales-mobile-intro h1 { margin: 0; font-size: clamp(30px, 5vw, 42px); letter-spacing: -.04em; }
.draft-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; color: var(--success); background: var(--success-bg); font-size: 11px; font-weight: 850; white-space: nowrap; }
.draft-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--success); }
.draft-status.saving { color: var(--warning); background: var(--warning-bg); }
.draft-status.saving i { background: var(--warning); }
.draft-status.restored { color: var(--orange-800); background: var(--orange-100); }
.draft-status.restored i { background: var(--orange-700); }
.sales-context { margin-bottom: 13px; border: 1px solid var(--line); border-radius: 15px; background: #fff; overflow: hidden; }
.sales-context > summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 14px; cursor: pointer; list-style: none; }
.sales-context > summary::-webkit-details-marker { display: none; }
.sales-context > summary strong, .sales-context > summary small { display: block; }
.sales-context > summary small { margin-top: 2px; color: var(--ink-500); font-size: 11px; }
.sales-context > summary b { color: var(--orange-700); font-size: 11px; }
.sales-context > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 12px 12px; }
.sales-context > div span { padding: 10px; border-radius: 11px; background: #f8f6f4; }
.sales-context > div small, .sales-context > div strong { display: block; }
.sales-context > div small { margin-bottom: 3px; color: var(--ink-500); font-size: 10px; }
.sale-progress { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 8px; margin: 15px 0 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.sale-progress > i { height: 2px; border-radius: 99px; background: #e8e2de; }
.sale-progress > i.complete { background: var(--orange-500); }
.sale-progress button { display: grid; justify-items: center; gap: 3px; padding: 0; border: 0; color: var(--ink-500); background: transparent; }
.sale-progress button span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: #eeeae7; font-size: 12px; font-weight: 900; }
.sale-progress button small { font-size: 10px; font-weight: 850; }
.sale-progress button.active, .sale-progress button.complete { color: var(--orange-800); }
.sale-progress button.active span { color: #fff; background: var(--orange-700); box-shadow: 0 0 0 5px var(--orange-100); }
.sale-progress button.complete span { color: #fff; background: var(--success); }
.sales-card, .review-card-v050 { border: 1px solid var(--line); border-radius: 21px; background: #fff; }
.sale-step { padding: 22px; }
.sale-step-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.sale-step-heading > span { display: grid; place-items: center; flex: 0 0 39px; width: 39px; height: 39px; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--orange-800), var(--orange-500)); font-weight: 900; }
.sale-step-heading h2 { margin: 0; font-size: 24px; letter-spacing: -.02em; }
.sale-step-heading .eyebrow { margin-bottom: 3px; font-size: 10px; }
.sales-field { display: grid; gap: 7px; }
.sales-field label { font-size: 12px; font-weight: 850; }
.sales-field input, .sales-field select, .sales-field textarea, .item-description-details input, .observations-details textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #dcd7d3;
    border-radius: 13px;
    color: var(--ink-900);
    background: #fff;
    font: inherit;
}
.sales-field input:focus, .sales-field select:focus, .sales-field textarea:focus, .item-description-details input:focus, .observations-details textarea:focus {
    outline: none;
    border-color: var(--orange-600);
    box-shadow: 0 0 0 4px rgba(207, 83, 29, .10);
}
.field-help { color: var(--ink-500); font-size: 11px; line-height: 1.4; }
.search-row-compact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.customer-search-button { min-width: 92px; }
.search-results { display: grid; gap: 7px; margin-top: 3px; }
.search-result-card { display: grid; gap: 3px; width: 100%; padding: 12px 13px; border: 1px solid #e1d8d2; border-radius: 12px; background: #fff; text-align: left; font: inherit; }
.search-result-card:focus, .search-result-card:hover { outline: none; border-color: var(--orange-600); background: #fff8f4; }
.search-result-card small { color: var(--ink-500); }
.selected-customer-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; color: var(--success); background: var(--success-bg); }
.selected-customer-card > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: #fff; background: var(--success); font-weight: 900; }
.selected-customer-card strong, .selected-customer-card small { display: block; }
.selected-customer-card small { margin-top: 2px; color: #41705a; }
.change-customer { padding: 7px 8px; border: 0; color: var(--success); background: transparent; font-size: 11px; font-weight: 850; }
.step-feedback { margin-top: 13px; padding: 11px 12px; border: 1px solid #f1c8c3; border-radius: 12px; color: var(--danger); background: var(--danger-bg); font-size: 12px; font-weight: 700; }
.desktop-step-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 20px; }
.sale-items-list { display: grid; gap: 12px; }
.sale-item-row { padding: 16px; border: 1px solid #e8dfd9; border-radius: 17px; background: #fff; box-shadow: 0 7px 20px rgba(65, 42, 30, .04); }
.sale-item-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.item-number-label { color: var(--orange-800); font-size: 12px; font-weight: 850; }
.remove-item { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 11px; color: var(--danger); background: var(--danger-bg); font-size: 23px; line-height: 1; }
.product-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.product-results { position: relative; z-index: 8; display: grid; gap: 6px; max-height: 280px; margin-top: 2px; padding: 7px; overflow: auto; border: 1px solid #e2d8d1; border-radius: 13px; background: #fff; box-shadow: 0 14px 34px rgba(63, 38, 23, .14); }
.product-results[hidden] { display: none; }
.product-result-card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 9px; width: 100%; padding: 10px; border: 1px solid #eee4de; border-radius: 10px; background: #fff; text-align: left; font: inherit; }
.product-result-card:focus, .product-result-card:hover { outline: none; border-color: var(--orange-600); background: #fff8f4; }
.product-code-badge { display: inline-flex; justify-content: center; min-width: 57px; padding: 5px 7px; border-radius: 8px; color: var(--orange-800); background: var(--orange-100); font-size: 11px; font-weight: 900; }
.product-result-copy { display: grid; gap: 2px; min-width: 0; }
.product-result-copy strong { line-height: 1.25; }
.product-result-copy small { color: var(--ink-500); }
.product-meta, .price-state { display: block; color: var(--ink-500); font-size: 10px; line-height: 1.35; }
.product-meta.selected { padding: 8px 10px; border-radius: 10px; color: var(--success); background: var(--success-bg); }
.product-meta.warning, .price-state.modified { color: #a54a16; }
.price-state.ok { color: var(--success); }
.item-values-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 10px; margin-top: 12px; }
.quantity-stepper { display: grid; grid-template-columns: 39px minmax(56px, 1fr) 39px; overflow: hidden; border: 1px solid #dcd7d3; border-radius: 13px; background: #fff; }
.quantity-stepper button { min-height: 46px; padding: 0; border: 0; color: var(--orange-800); background: #fff5ef; font-size: 19px; font-weight: 900; }
.quantity-stepper input { min-width: 0; min-height: 46px; padding: 8px 4px; border: 0; border-radius: 0; text-align: center; }
.quantity-stepper input:focus { box-shadow: none; }
.money-input { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; overflow: hidden; border: 1px solid #dcd7d3; border-radius: 13px; background: #fff; }
.money-input:focus-within { border-color: var(--orange-600); box-shadow: 0 0 0 4px rgba(207, 83, 29, .10); }
.money-input > span { padding-left: 12px; color: var(--ink-500); font-weight: 850; }
.money-input input { min-width: 0; border: 0; border-radius: 0; box-shadow: none !important; }
.item-subtotal-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; padding-top: 11px; border-top: 1px dashed #e8dfd9; }
.item-subtotal-line span { color: var(--ink-500); font-size: 11px; font-weight: 750; }
.item-subtotal-line strong { font-size: 19px; }
.item-description-details, .observations-details { margin-top: 10px; }
.item-description-details summary, .observations-details summary { color: var(--ink-500); cursor: pointer; font-size: 11px; font-weight: 800; }
.item-description-details input { min-height: 43px; margin-top: 8px; font-size: 13px; }
.add-product-button { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; margin-top: 12px; padding: 10px; border: 1px dashed #e1ad94; border-radius: 14px; color: var(--orange-800); background: #fff9f5; font-weight: 850; }
.add-product-button span { font-size: 20px; }
.payment-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.payment-option { position: relative; display: grid; justify-items: center; gap: 5px; min-width: 0; padding: 12px 7px; border: 1px solid var(--line); border-radius: 14px; background: #fff; cursor: pointer; }
.payment-option input { position: absolute; opacity: 0; pointer-events: none; }
.payment-option > span { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 11px; color: var(--orange-800); background: var(--orange-100); font-size: 17px; font-weight: 900; }
.payment-option strong { font-size: 11px; text-align: center; }
.payment-option:has(input:checked) { border-color: var(--orange-600); background: #fff8f4; box-shadow: 0 0 0 3px rgba(207, 83, 29, .08); }
.payment-option:has(input:checked) > span { color: #fff; background: var(--orange-700); }
.due-date-field { margin-top: 12px; }
.final-sale-summary { margin-top: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.final-summary-row, .final-summary-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border-bottom: 1px solid #f0edeb; }
.final-summary-row span, .final-summary-total span { color: var(--ink-500); font-size: 11px; }
.final-summary-row strong { max-width: 68%; font-size: 12px; text-align: right; overflow-wrap: anywhere; }
.final-summary-total { border-bottom: 0; color: #fff; background: linear-gradient(135deg, var(--orange-900), var(--orange-500)); }
.final-summary-total span { color: rgba(255, 255, 255, .78); }
.final-summary-total strong { font-size: 25px; }
.observations-details { padding: 12px 13px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.observations-details summary { display: flex; justify-content: space-between; color: var(--ink-900); list-style: none; }
.observations-details summary::-webkit-details-marker { display: none; }
.observations-details summary small { color: var(--ink-500); font-weight: 600; }
.observations-details textarea { min-height: 78px; margin-top: 10px; resize: vertical; }
.test-mode-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; padding: 11px 12px; border-radius: 13px; color: #6f520e; background: var(--warning-bg); }
.test-mode-note > span { font-size: 17px; }
.test-mode-note strong, .test-mode-note small { display: block; }
.test-mode-note small { margin-top: 3px; line-height: 1.35; }
.blocked-form { opacity: .58; }
.sale-dock { display: none; }

/* Revisión compacta */
.review-card-v050 { margin-bottom: 15px; padding: 21px; border-color: #cfe7da; }
.review-success-head { display: flex; align-items: flex-start; gap: 12px; }
.review-success-head > span { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 14px; color: #fff; background: var(--success); font-size: 20px; font-weight: 900; }
.review-success-head h2 { margin: 0 0 5px; font-size: 25px; }
.review-success-head p:last-child { margin: 0; color: var(--ink-500); line-height: 1.45; }
.review-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 15px; }
.review-summary-grid > div { padding: 12px; border: 1px solid var(--line); border-radius: 13px; }
.review-summary-grid small, .review-summary-grid strong, .review-summary-grid span { display: block; }
.review-summary-grid small { color: var(--ink-500); font-size: 10px; }
.review-summary-grid strong { margin-top: 5px; }
.review-summary-grid span { margin-top: 3px; color: var(--ink-500); font-size: 10px; }
.review-summary-grid .review-total { color: #fff; border-color: var(--orange-700); background: linear-gradient(135deg, var(--orange-900), var(--orange-500)); }
.review-summary-grid .review-total small, .review-summary-grid .review-total span { color: rgba(255, 255, 255, .78); }
.review-summary-grid .review-total strong { font-size: 22px; }
.review-items-compact { display: grid; margin-top: 12px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.review-items-compact article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 11px 12px; border-bottom: 1px solid #f0edeb; }
.review-items-compact article:last-child { border-bottom: 0; }
.review-code { padding: 5px 7px; border-radius: 8px; color: var(--orange-800); background: var(--orange-100); font-size: 10px; font-weight: 900; }
.review-item-copy { min-width: 0; }
.review-item-copy strong, .review-item-copy small { display: block; }
.review-item-copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.review-item-copy small { margin-top: 2px; color: var(--ink-500); font-size: 10px; }
.review-confirm-v050 { display: flex; justify-content: flex-end; align-items: stretch; gap: 9px; margin-top: 14px; }
.review-confirm-v050 form { display: flex; }
.technical-details { margin-top: 13px; }
.technical-details summary { color: var(--ink-500); cursor: pointer; font-size: 11px; font-weight: 750; }
.technical-details pre { max-height: 320px; overflow: auto; padding: 13px; border-radius: 12px; color: #f7f4f1; background: #171513; white-space: pre-wrap; font-size: 10px; }

@media (max-width: 720px) {
    .app-header-compact .app-header-inner { min-height: 58px; padding: 0 12px; gap: 9px; }
    .app-header-compact .brand-inline { min-width: 0; }
    .app-header-compact .brand-inline img { width: 94px; }
    .app-header-compact .brand-inline > div { display: block; min-width: 0; }
    .app-header-compact .brand-inline strong { font-size: 12px; white-space: nowrap; }
    .app-header-compact .brand-inline small { max-width: 130px; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .desktop-header-actions { display: none; }
    .header-profile, .header-back { display: inline-flex; }
    .dashboard-app { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .dashboard-compact { padding: 17px 12px calc(76px + env(safe-area-inset-bottom)); }
    .mobile-welcome { align-items: center; margin-bottom: 13px; }
    .mobile-welcome .eyebrow { margin-bottom: 4px; font-size: 9px; }
    .mobile-welcome h1 { margin-bottom: 3px; font-size: 29px; }
    .mobile-welcome p:last-child { font-size: 12px; }
    .connection-pill { min-height: 29px; padding: 6px 9px; font-size: 9px; }
    .primary-sale-card { min-height: 86px; padding: 15px; border-radius: 18px; }
    .primary-sale-icon { width: 43px; height: 43px; border-radius: 13px; font-size: 27px; }
    .primary-sale-copy strong { font-size: 19px; }
    .primary-sale-copy small { font-size: 11px; }
    .primary-sale-arrow { font-size: 31px; }
    .compact-kpis { gap: 7px; margin-top: 10px; }
    .compact-kpis article { padding: 11px 9px; border-radius: 14px; }
    .compact-kpis strong { font-size: 22px; }
    .compact-seller-code { font-size: 13px !important; }
    .recent-sales-card { margin-top: 10px; padding: 15px; border-radius: 17px; }
    .compact-section-heading h2 { font-size: 18px; }
    .recent-sales-list > a { padding: 10px 0; }
    .recent-sale-value { font-size: 11px; }
    .admin-hub { margin-top: 10px; border-radius: 17px; }
    .admin-hub > summary { padding: 14px 15px; }
    .admin-hub-grid { grid-template-columns: 1fr 1fr; padding: 0 13px 13px; }
    .mobile-nav-compact { left: 8px; right: 8px; bottom: calc(7px + env(safe-area-inset-bottom)); padding: 5px; border-radius: 18px; }
    .mobile-nav-compact a { min-height: 45px; padding: 4px 2px; font-size: 9px; }
    .mobile-nav-compact a span { font-size: 18px; }

    .sales-app-body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .sales-app-header .sales-brand { flex: 1; }
    .sales-shell-v050 { padding: 12px 10px calc(92px + env(safe-area-inset-bottom)); }
    .sales-mobile-intro { margin-bottom: 8px; }
    .sales-mobile-intro .eyebrow { margin-bottom: 2px; font-size: 9px; }
    .sales-mobile-intro h1 { font-size: 27px; }
    .draft-status { padding: 6px 8px; font-size: 9px; }
    .sales-context { margin-bottom: 9px; border-radius: 13px; }
    .sales-context > summary { padding: 9px 11px; }
    .sales-context > summary strong { font-size: 11px; }
    .sales-context > summary small { font-size: 9px; }
    .sales-context > div { grid-template-columns: 1fr; padding: 0 9px 9px; }
    .sale-progress { margin: 9px 0; padding: 9px 11px; border-radius: 14px; }
    .sale-progress button span { width: 25px; height: 25px; }
    .sale-progress button small { font-size: 9px; }
    .sale-step { padding: 15px 13px; border-radius: 17px; }
    .sale-step-heading { margin-bottom: 13px; gap: 9px; }
    .sale-step-heading > span { flex-basis: 34px; width: 34px; height: 34px; border-radius: 11px; }
    .sale-step-heading h2 { font-size: 20px; }
    .sale-step-heading .eyebrow { font-size: 8px; }
    .sales-field input, .sales-field select, .sales-field textarea { min-height: 46px; font-size: 16px; }
    .search-row-compact { grid-template-columns: minmax(0, 1fr) 78px; gap: 6px; }
    .customer-search-button { min-width: 0; min-height: 46px; padding: 9px 8px; font-size: 12px; }
    .field-help { font-size: 9px; }
    .selected-customer-card { padding: 9px; }
    .selected-customer-card > span { width: 27px; height: 27px; }
    .selected-customer-card strong { font-size: 12px; }
    .selected-customer-card small { font-size: 9px; }
    .desktop-step-actions { display: none; }
    .sale-item-row { padding: 12px; border-radius: 15px; }
    .sale-item-head { margin-bottom: 9px; }
    .remove-item { width: 31px; height: 31px; }
    .product-search-row { grid-template-columns: minmax(0, 1fr) 72px; gap: 6px; }
    .product-search-row .button { min-height: 46px; padding: 8px 6px; font-size: 11px; }
    .product-results { position: static; max-height: 300px; }
    .product-meta.selected { padding: 7px 8px; }
    .item-values-grid { gap: 7px; margin-top: 9px; }
    .quantity-stepper { grid-template-columns: 35px minmax(48px, 1fr) 35px; }
    .quantity-stepper button, .quantity-stepper input { min-height: 44px; }
    .money-input input { min-height: 44px; padding-left: 5px; }
    .item-subtotal-line { margin-top: 8px; padding-top: 8px; }
    .item-subtotal-line strong { font-size: 17px; }
    .add-product-button { min-height: 45px; margin-top: 9px; }
    .payment-options { gap: 6px; }
    .payment-option { padding: 9px 4px; border-radius: 12px; }
    .payment-option > span { width: 29px; height: 29px; font-size: 15px; }
    .payment-option strong { font-size: 9px; }
    .final-sale-summary { margin-top: 10px; }
    .final-summary-row, .final-summary-total { padding: 9px 11px; }
    .final-summary-total strong { font-size: 22px; }
    .observations-details, .test-mode-note { margin-top: 9px; }
    .review-card-v050 { padding: 15px 13px; border-radius: 17px; }
    .review-success-head > span { flex-basis: 35px; width: 35px; height: 35px; }
    .review-success-head h2 { font-size: 21px; }
    .review-success-head p:last-child { font-size: 11px; }
    .review-summary-grid { grid-template-columns: 1fr 1fr; gap: 7px; }
    .review-summary-grid .review-total { grid-column: 1 / -1; }
    .review-items-compact article { grid-template-columns: auto minmax(0, 1fr); }
    .review-items-compact article > strong:last-child { grid-column: 2; font-size: 12px; }
    .review-confirm-v050 { display: grid; grid-template-columns: 1fr; }
    .review-confirm-v050 form, .review-confirm-v050 button, .review-confirm-v050 .button { width: 100%; }
    .sale-dock {
        position: fixed;
        z-index: 45;
        left: 0;
        right: 0;
        bottom: 0;
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) minmax(118px, auto);
        align-items: center;
        gap: 9px;
        min-height: 68px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--line);
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -10px 30px rgba(44, 35, 30, .12);
        backdrop-filter: blur(14px);
    }
    .sale-dock-back { display: grid; place-items: center; width: 42px; height: 46px; padding: 0; border: 1px solid var(--line); border-radius: 13px; color: var(--ink-900); background: #fff; font-size: 31px; line-height: 1; }
    .sale-dock-total small, .sale-dock-total strong { display: block; }
    .sale-dock-total small { color: var(--ink-500); font-size: 9px; }
    .sale-dock-total strong { margin-top: 2px; font-size: 17px; white-space: nowrap; }
    .sale-dock-action { min-height: 46px; padding: 10px 15px; border: 0; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--orange-800), var(--orange-500)); font-weight: 900; box-shadow: 0 8px 18px rgba(189, 67, 21, .2); }
    .sale-dock-action:disabled { opacity: .55; box-shadow: none; }
}

@media (max-width: 390px) {
    .connection-pill { max-width: 104px; white-space: normal; line-height: 1.15; }
    .compact-kpis article { padding: 10px 7px; }
    .compact-kpis strong { font-size: 20px; }
    .primary-sale-copy small { display: none; }
    .item-values-grid { grid-template-columns: 1fr; }
    .payment-option strong { font-size: 8px; }
    .sale-dock { grid-template-columns: 39px minmax(0, 1fr) 112px; gap: 7px; padding-left: 7px; padding-right: 7px; }
    .sale-dock-back { width: 39px; }
    .sale-dock-action { padding-left: 9px; padding-right: 9px; font-size: 12px; }
}

@media (max-width: 720px) {
    .review-mode .sale-dock { display: none; }
    .review-mode.sales-app-body { padding-bottom: env(safe-area-inset-bottom); }
}

/* Facturación electrónica real v0.6.2 */
.recent-sale-icon.warning { color: var(--danger); background: var(--danger-bg); }
.live-mode-note { color: #7b260c; border-color: #efb89f; background: #fff0e8; }
.live-mode-note > span { color: #fff; background: var(--orange-700); }

.real-confirm-form { display: grid !important; width: min(100%, 520px); gap: 11px; }
.real-emission-confirm { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: flex-start; gap: 11px; padding: 13px 14px; border: 1px solid #efb89f; border-radius: 14px; color: #72270e; background: #fff6f1; cursor: pointer; }
.real-emission-confirm input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--orange-700); }
.real-emission-confirm strong, .real-emission-confirm small { display: block; }
.real-emission-confirm strong { font-size: 13px; line-height: 1.35; }
.real-emission-confirm small { margin-top: 4px; color: #855541; font-size: 11px; line-height: 1.45; }

.invoice-state { display: inline-flex; align-items: center; width: fit-content; margin-bottom: 6px; padding: 6px 9px; border-radius: 999px; font-size: 11px; font-weight: 900; white-space: nowrap; }
.invoice-state.success { color: var(--success); background: var(--success-bg); }
.invoice-state.warning, .invoice-state.pending { color: var(--warning); background: var(--warning-bg); }
.invoice-state.danger { color: var(--danger); background: var(--danger-bg); }
.invoice-history-table td { min-width: 130px; }
.invoice-history-table td:nth-child(4), .invoice-history-table td:nth-child(5) { min-width: 220px; }

.detail-shell { max-width: 1180px; margin: 0 auto; padding: 28px 20px 112px; }
.detail-hero, .detail-card { border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 10px 30px rgba(65, 42, 30, .04); }
.detail-hero { padding: 26px; margin-bottom: 18px; }
.detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.detail-head h1 { margin: 5px 0 8px; font-size: clamp(30px, 5vw, 47px); overflow-wrap: anywhere; }
.detail-head p:last-child { max-width: 760px; margin-bottom: 0; color: var(--ink-700); line-height: 1.55; }
.detail-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.detail-tag { display: inline-flex; padding: 8px 11px; border-radius: 999px; color: var(--ink-700); background: #f3f0ee; font-size: 12px; font-weight: 900; white-space: nowrap; }
.detail-tag.safe { color: var(--success); background: var(--success-bg); }
.detail-tag.warning { color: var(--warning); background: var(--warning-bg); }
.detail-tag.danger { color: var(--danger); background: var(--danger-bg); }
.detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.detail-grid > div { min-width: 0; padding: 14px; border: 1px solid #eee8e4; border-radius: 14px; background: #fffaf7; }
.detail-grid small, .detail-grid strong { display: block; }
.detail-grid small { margin-bottom: 5px; color: var(--ink-500); font-size: 11px; }
.detail-grid strong { overflow-wrap: anywhere; line-height: 1.45; }
.detail-card { padding: 24px; margin-top: 16px; }
.detail-card h2 { margin-bottom: 8px; }
.invoice-detail-hero { border-color: #efc3ad; background: linear-gradient(145deg, #fff 0%, #fffaf7 74%, #fff0e8 100%); }
.invoice-message-card { border-color: #efd3a4; }
.integration-observation { margin: 0; padding: 14px; border-radius: 14px; color: var(--ink-700); background: #faf8f6; line-height: 1.6; overflow-wrap: anywhere; }
.retry-invoice-form { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.retry-invoice-form small { color: var(--ink-500); }
.long-identifier { margin-bottom: 0; padding: 12px 14px; border: 1px dashed #dccdc5; border-radius: 13px; color: var(--ink-700); background: #faf8f6; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; word-break: break-word; }
.idempotency-card { border-color: #c9e5d6; background: linear-gradient(145deg, #fff 0%, #f2fbf6 100%); }
.idempotency-card > small { display: block; margin-top: 8px; color: var(--ink-500); }
.invoice-result-alert { display: flex; align-items: flex-start; gap: 12px; }
.invoice-result-alert > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 11px; background: rgba(255,255,255,.58); font-size: 20px; font-weight: 900; }
.invoice-result-alert strong, .invoice-result-alert small { display: block; }
.invoice-result-alert small { margin-top: 4px; line-height: 1.45; }
.table-wrap { overflow: auto; margin-top: 16px; border: 1px solid #eee8e4; border-radius: 16px; }
.detail-table { width: 100%; min-width: 920px; border-collapse: collapse; }
.detail-table th, .detail-table td { padding: 12px; border-bottom: 1px solid #eee8e4; text-align: left; vertical-align: top; }
.detail-table th { color: var(--ink-500); background: #faf8f7; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.price-warning { display: inline-block; padding: 4px 7px; border-radius: 999px; color: var(--warning); background: var(--warning-bg); font-size: 11px; font-weight: 900; }
.payload-box details + details { margin-top: 12px; }
.payload-box summary { cursor: pointer; font-weight: 900; }
.payload-box pre { max-height: 520px; overflow: auto; padding: 17px; border-radius: 15px; color: #f7f4f1; background: #171513; font-size: 12px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 980px) {
    .detail-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
    .real-confirm-form { width: 100%; }
    .real-emission-confirm { padding: 12px; }
    .invoice-history-table td { min-width: 0 !important; }
    .detail-shell { width: 100%; padding: 12px 10px calc(92px + env(safe-area-inset-bottom)); overflow: hidden; }
    .detail-hero, .detail-card { padding: 17px 13px; border-radius: 18px; }
    .detail-head { flex-direction: column; }
    .detail-head h1 { font-size: 31px; }
    .detail-grid { grid-template-columns: 1fr; gap: 8px; }
    .detail-grid > div { padding: 12px; }
    .retry-invoice-form { align-items: stretch; flex-direction: column; }
    .retry-invoice-form .button { width: 100%; }
    .table-wrap { overflow: visible; border: 0; border-radius: 0; }
    .detail-table, .detail-table tbody { display: block; width: 100%; min-width: 0; }
    .detail-table thead { display: none; }
    .detail-table tr { display: block; margin-bottom: 12px; padding: 12px; border: 1px solid #e8dfd9; border-radius: 15px; background: #fff; }
    .detail-table td { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 10px; padding: 8px 0; border: 0; overflow-wrap: anywhere; }
    .detail-table td::before { content: attr(data-label); color: var(--ink-500); font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
    .payload-box pre { max-width: 100%; font-size: 10px; }
}

@media (max-width: 390px) {
    .detail-table td { grid-template-columns: 90px minmax(0, 1fr); }
}

/* Sincronización DIAN y correo electrónico v0.6.2 */
.email-delivery-card { display: grid; gap: 10px; margin-top: 12px; padding: 13px; border: 1px solid #e7ddd7; border-radius: 15px; background: #fffaf7; }
.email-delivery-toggle { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: flex-start; gap: 10px; cursor: pointer; }
.email-delivery-toggle input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--orange-700); }
.email-delivery-toggle strong, .email-delivery-toggle small { display: block; }
.email-delivery-toggle strong { font-size: 13px; }
.email-delivery-toggle small { margin-top: 3px; color: var(--ink-500); font-size: 10px; line-height: 1.4; }
.email-address-field { margin: 0; }
.email-address-field input:disabled { color: var(--ink-500); background: #f3f0ee; cursor: not-allowed; }

.review-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.review-summary-grid > div { min-width: 0; }
.review-summary-grid strong, .review-summary-grid span { overflow-wrap: anywhere; }

.invoice-primary-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.invoice-primary-actions form { margin: 0; }
.invoice-state.neutral { color: var(--ink-500); background: #f1eeec; }
.detail-tag.success, .mail-tag.success { color: var(--success); background: var(--success-bg); }
.detail-tag.neutral, .mail-tag.neutral { color: var(--ink-500); background: #f1eeec; }
.mail-tag.danger { color: var(--danger); background: var(--danger-bg); }

.email-status-card { border-color: #d9e9df; background: linear-gradient(145deg, #fff 0%, #f6fbf8 100%); }
.email-status-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.email-status-head h2 { margin: 3px 0 6px; }
.email-status-head p:last-child { max-width: 720px; margin: 0; color: var(--ink-500); line-height: 1.5; }
.invoice-email-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: 16px; }
.invoice-email-form label { min-width: 0; }
.invoice-email-form label > span { display: block; margin-bottom: 6px; color: var(--ink-700); font-size: 11px; font-weight: 850; }
.invoice-email-form input { width: 100%; }
.invoice-email-form .button { min-height: 48px; }
.invoice-email-form .button:disabled { opacity: .52; cursor: not-allowed; box-shadow: none; }
.email-status-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 11px; color: var(--ink-500); font-size: 10px; }
.compact-alert { padding-top: 10px; padding-bottom: 10px; }

@media (max-width: 900px) {
    .review-summary-grid { grid-template-columns: 1fr 1fr; }
    .review-summary-grid .review-total { grid-column: auto; }
}

@media (max-width: 720px) {
    .email-delivery-card { padding: 11px; }
    .review-summary-grid { grid-template-columns: 1fr 1fr; }
    .review-summary-grid .review-total { grid-column: 1 / -1; }
    .invoice-primary-actions, .invoice-primary-actions form, .invoice-primary-actions .button { width: 100%; }
    .email-status-head { flex-direction: column; gap: 9px; }
    .invoice-email-form { grid-template-columns: 1fr; }
    .invoice-email-form .button { width: 100%; }
}

@media (max-width: 390px) {
    .review-summary-grid { grid-template-columns: 1fr; }
    .review-summary-grid .review-total { grid-column: auto; }
}

/* Navegación comercial real v0.6.3 */
.commercial-dashboard .dashboard-shell,
.commercial-invoice-shell,
.commercial-detail-shell { max-width: 1040px; }

.commercial-header-actions { gap: 8px; }
.commercial-welcome { align-items: center; }
.commercial-welcome h1 { margin-bottom: 4px; }
.commercial-welcome p:last-child { margin: 0; color: var(--ink-500); }

.commercial-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .95fr);
    gap: 12px;
    margin-top: 14px;
}
.commercial-actions.has-user-action {
    grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, .9fr));
}
.commercial-action-user { color: var(--ink-900); background: linear-gradient(145deg, #fff 0%, #fff7f2 100%); border-color: #efc8b4; }
.commercial-action-user .commercial-action-icon { color: var(--orange-800); background: #ffe9de; font-size: 17px; letter-spacing: -.03em; }

.commercial-action {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    min-height: 98px;
    padding: 17px 18px;
    border: 1px solid var(--line);
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(65, 42, 30, .06);
}
.commercial-action-primary {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--orange-800), var(--orange-500));
    box-shadow: 0 14px 30px rgba(188, 65, 17, .22);
}
.commercial-action-secondary { color: var(--ink-900); background: #fff; }
.commercial-action-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    font-size: 27px;
    font-weight: 900;
    background: rgba(255,255,255,.17);
}
.commercial-action-secondary .commercial-action-icon { color: var(--orange-700); background: var(--orange-100); }
.commercial-action strong, .commercial-action small { display: block; }
.commercial-action strong { font-size: 20px; line-height: 1.2; }
.commercial-action small { margin-top: 5px; color: inherit; opacity: .82; font-size: 12px; }
.commercial-action b { font-size: 31px; font-weight: 400; }

.commercial-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.commercial-kpi {
    display: block;
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 17px;
    color: var(--ink-900);
    background: #fff;
    text-decoration: none;
}
.commercial-kpi small, .commercial-kpi strong, .commercial-kpi span { display: block; }
.commercial-kpi small { color: var(--ink-500); font-size: 10px; font-weight: 800; }
.commercial-kpi strong { margin-top: 8px; font-size: clamp(22px, 3vw, 30px); line-height: 1; overflow-wrap: anywhere; }
.commercial-kpi span { margin-top: 7px; color: var(--ink-500); font-size: 10px; }
.commercial-kpi-money { border-color: #efc2aa; background: linear-gradient(145deg, #fff 0%, #fff5ef 100%); }
.commercial-kpi-money strong { color: var(--orange-800); }

.commercial-recent-card { margin-top: 12px; }
.commercial-invoice-list .recent-sale-copy { min-width: 0; }
.commercial-invoice-list .recent-sale-copy > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recent-status-row { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.mini-status { display: inline-flex; width: fit-content; padding: 3px 6px; border-radius: 999px; font-size: 8px; font-style: normal; font-weight: 900; }
.mini-status.success, .recent-sale-icon.success { color: var(--success); background: var(--success-bg); }
.mini-status.warning, .mini-status.pending, .recent-sale-icon.warning, .recent-sale-icon.pending { color: var(--warning); background: var(--warning-bg); }
.mini-status.danger, .recent-sale-icon.danger { color: var(--danger); background: var(--danger-bg); }
.mini-status.neutral { color: var(--ink-500); background: #f1eeec; }
.commercial-admin-hub { margin-bottom: 10px; }

.commercial-page-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    margin: 6px 0 18px;
}
.commercial-page-heading h1 { margin: 4px 0 5px; font-size: clamp(30px, 5vw, 46px); }
.commercial-page-heading p:last-child { max-width: 660px; margin: 0; color: var(--ink-500); }
.invoice-page-kpis { margin: 0 0 14px; }

.invoice-browser-card {
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(65, 42, 30, .05);
}
.invoice-search-bar {
    display: grid;
    grid-template-columns: minmax(240px, 1.6fr) minmax(150px, .7fr) minmax(150px, .7fr) auto auto;
    align-items: end;
    gap: 9px;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--line);
}
.invoice-search-bar label > span { display: block; margin-bottom: 6px; color: var(--ink-500); font-size: 10px; font-weight: 850; }
.invoice-search-bar input, .invoice-search-bar select { width: 100%; min-height: 46px; }
.invoice-browser-head { display: flex; justify-content: space-between; align-items: center; padding: 17px 1px 10px; }
.invoice-browser-head h2 { margin: 3px 0 0; }
.commercial-invoice-cards { display: grid; gap: 10px; }
.commercial-invoice-card { border: 1px solid #e9e1dc; border-radius: 17px; background: #fff; overflow: hidden; }
.commercial-invoice-main {
    display: grid;
    grid-template-columns: minmax(145px, .8fr) minmax(200px, 1.25fr) minmax(130px, .75fr) minmax(120px, .65fr) auto;
    align-items: center;
    gap: 13px;
    padding: 15px;
    color: var(--ink-900);
    text-decoration: none;
}
.commercial-invoice-main:hover { background: #fffaf7; }
.commercial-invoice-title strong, .commercial-invoice-title small,
.commercial-invoice-client strong, .commercial-invoice-client small,
.commercial-invoice-seller strong, .commercial-invoice-seller small,
.commercial-invoice-total strong, .commercial-invoice-total small { display: block; }
.commercial-invoice-title strong { color: var(--orange-800); font-size: 16px; }
.commercial-invoice-title small, .commercial-invoice-client small, .commercial-invoice-seller small, .commercial-invoice-total small { margin-top: 4px; color: var(--ink-500); font-size: 10px; }
.commercial-invoice-client strong, .commercial-invoice-seller strong { overflow-wrap: anywhere; }
.commercial-invoice-total strong { margin-top: 4px; font-size: 17px; }
.commercial-invoice-statuses { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.commercial-invoice-statuses .invoice-state { margin: 0; }
.commercial-invoice-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 14px; border-top: 1px solid #eee7e2; background: #fcfaf8; }
.commercial-empty-state { display: grid; place-items: center; gap: 7px; padding: 44px 16px; text-align: center; }
.commercial-empty-state > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 17px; color: var(--orange-700); background: var(--orange-100); font-size: 27px; }
.commercial-empty-state small { color: var(--ink-500); }

.commercial-invoice-hero { padding-bottom: 22px; }
.commercial-detail-head p:last-child { margin: 0; }
.commercial-detail-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 18px;
}
.commercial-detail-summary > div { min-width: 0; padding: 14px; border: 1px solid #eee7e2; border-radius: 14px; background: #fff; }
.commercial-detail-summary small, .commercial-detail-summary strong, .commercial-detail-summary span { display: block; }
.commercial-detail-summary small { color: var(--ink-500); font-size: 10px; }
.commercial-detail-summary strong { margin-top: 5px; overflow-wrap: anywhere; }
.commercial-detail-summary span { margin-top: 4px; color: var(--ink-500); font-size: 10px; }
.commercial-detail-total { color: #fff; border-color: transparent !important; background: linear-gradient(135deg, var(--orange-800), var(--orange-500)) !important; }
.commercial-detail-total small, .commercial-detail-total span { color: rgba(255,255,255,.82); }
.commercial-detail-total strong { font-size: 25px; }
.commercial-primary-actions { justify-content: flex-end; }
.button-whatsapp { color: #fff; border: 0; background: #198754; box-shadow: 0 8px 18px rgba(25, 135, 84, .2); }
.button-whatsapp:hover { background: #157347; }
.button-whatsapp:disabled { opacity: .58; box-shadow: none; cursor: wait; }
.share-feedback { margin-top: 10px; padding: 10px 12px; border-radius: 12px; font-size: 11px; font-weight: 700; }
.share-feedback.success { color: var(--success); background: var(--success-bg); }
.share-feedback.error { color: var(--danger); background: var(--danger-bg); }
.share-feedback.neutral { color: var(--ink-500); background: #f1eeec; }
.commercial-result-alert { margin-bottom: 14px; }
.commercial-products-card .detail-table { min-width: 700px; }

.technical-information-card { padding: 0; overflow: hidden; }
.technical-information-card > summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; list-style: none; }
.technical-information-card > summary::-webkit-details-marker { display: none; }
.technical-information-card > summary span strong, .technical-information-card > summary span small { display: block; }
.technical-information-card > summary span small { margin-top: 3px; color: var(--ink-500); font-size: 10px; }
.technical-information-card[open] > summary b { transform: rotate(180deg); }
.technical-information-body { padding: 0 20px 20px; border-top: 1px solid var(--line); }
.technical-facts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 16px 0; }
.technical-facts-grid > div { padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #faf8f6; }
.technical-facts-grid small, .technical-facts-grid strong { display: block; }
.technical-facts-grid small { margin-bottom: 4px; color: var(--ink-500); font-size: 10px; }
.technical-facts-grid strong { overflow-wrap: anywhere; font-size: 12px; }
.technical-information-body h3 { margin: 16px 0 8px; font-size: 14px; }

@media (max-width: 980px) {
    .commercial-kpis { grid-template-columns: 1fr 1fr; }
    .invoice-search-bar { grid-template-columns: 1fr 1fr; }
    .invoice-search-bar label:first-child { grid-column: 1 / -1; }
    .commercial-invoice-main { grid-template-columns: 1fr 1.3fr .8fr auto; }
    .commercial-invoice-seller { display: none; }
    .commercial-detail-summary { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
    .commercial-actions { grid-template-columns: 1fr; gap: 8px; }
    .commercial-action { min-height: 78px; padding: 13px 14px; border-radius: 17px; }
    .commercial-action-icon { width: 43px; height: 43px; border-radius: 14px; font-size: 23px; }
    .commercial-action strong { font-size: 17px; }
    .commercial-action small { font-size: 10px; }
    .commercial-kpis { gap: 7px; }
    .commercial-kpi { padding: 12px 11px; border-radius: 15px; }
    .commercial-kpi strong { font-size: 21px; }
    .commercial-kpi-money strong { font-size: 18px; }
    .commercial-invoice-list .recent-sale-copy > strong { white-space: normal; }
    .commercial-page-heading { align-items: stretch; flex-direction: column; margin-top: 0; }
    .commercial-page-heading .button { width: 100%; }
    .invoice-browser-card { padding: 13px; border-radius: 18px; }
    .invoice-search-bar { grid-template-columns: 1fr; }
    .invoice-search-bar label:first-child { grid-column: auto; }
    .invoice-search-bar .button { width: 100%; }
    .commercial-invoice-main { grid-template-columns: 1fr auto; gap: 9px; padding: 13px; }
    .commercial-invoice-title, .commercial-invoice-client { grid-column: 1; }
    .commercial-invoice-total { grid-column: 2; grid-row: 1 / span 2; align-self: center; text-align: right; }
    .commercial-invoice-statuses { grid-column: 1 / -1; justify-content: flex-start; }
    .commercial-invoice-actions { justify-content: stretch; }
    .commercial-invoice-actions .button { flex: 1; }
    .commercial-detail-summary { grid-template-columns: 1fr 1fr; }
    .commercial-primary-actions { display: grid; grid-template-columns: 1fr; }
    .commercial-primary-actions form, .commercial-primary-actions .button { width: 100%; }
    .commercial-products-card .detail-table { min-width: 0; }
    .technical-facts-grid { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
    .commercial-kpis { grid-template-columns: 1fr 1fr; }
    .commercial-kpi strong { font-size: 19px; }
    .commercial-kpi-money strong { font-size: 16px; }
    .commercial-detail-summary { grid-template-columns: 1fr; }
}

/* Centro seguro de respaldos v0.6.5 */
.backup-center-body { background: #f7f5f2; }
.backup-center-shell { max-width: 1180px; padding-bottom: 120px; }
.backup-page-heading { align-items: center; gap: 24px; }
.backup-page-heading h1 { max-width: 760px; }
.backup-create-form { flex: 0 0 auto; }
.backup-create-form .button { min-width: 210px; }
.button:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.backup-blocking-card,
.backup-alerts,
.backup-security-note {
  border-radius: 20px;
  border: 1px solid #efc8ba;
  background: #fff;
  padding: 22px;
  margin-bottom: 18px;
}
.backup-blocking-card { display: flex; align-items: flex-start; gap: 16px; background: #fff4f0; }
.backup-blocking-card > span,
.backup-alert-title > span {
  width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center;
  background: #fde5dc; color: #b53c13; font-weight: 900; flex: 0 0 auto;
}
.backup-blocking-card h2 { margin: 0 0 6px; }
.backup-blocking-card p,
.backup-security-note p { margin: 0; color: #6f625d; line-height: 1.55; }
.backup-blocking-card code,
.backup-security-note code { background: #f6ece7; padding: 2px 6px; border-radius: 6px; }
.backup-alerts { background: #fff8e8; border-color: #efd79b; }
.backup-alert-title { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.backup-alert-title > span { background: #fff0bf; color: #8a6200; }
.backup-alerts p { margin: 6px 0 0 50px; color: #715d28; }
.backup-kpis {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px;
}
.backup-kpis article {
  background: #fff; border: 1px solid #e7dfda; border-radius: 18px; padding: 18px; min-height: 130px;
  display: flex; flex-direction: column; justify-content: center;
}
.backup-kpis small { color: #7a6f69; font-size: .82rem; }
.backup-kpis strong { font-size: 1.32rem; margin: 9px 0 5px; color: #251d1a; }
.backup-kpis span { color: #867a74; font-size: .82rem; }
.backup-status-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.backup-status-card { background: #fff; border: 1px solid #e7dfda; border-radius: 20px; padding: 22px; }
.backup-card-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.backup-card-heading h2 { margin: 2px 0 0; font-size: 1.35rem; }
.backup-status-dot { width: 14px; height: 14px; border-radius: 50%; background: #a59b96; box-shadow: 0 0 0 7px #f1eeec; }
.backup-status-dot.success { background: #198653; box-shadow: 0 0 0 7px #e8f6ef; }
.backup-status-dot.danger { background: #bd3f2d; box-shadow: 0 0 0 7px #fdebe7; }
.backup-status-dot.pending { background: #d28a11; box-shadow: 0 0 0 7px #fff3d8; }
.backup-status-card dl { margin: 0; display: grid; gap: 10px; }
.backup-status-card dl div { display: grid; grid-template-columns: 145px 1fr; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #eee9e6; }
.backup-status-card dt { color: #7a6f69; }
.backup-status-card dd { margin: 0; font-weight: 700; color: #332925; overflow-wrap: anywhere; }
.backup-status-card > p { color: #6f625d; line-height: 1.55; }
.backup-external-note { background: #f8f5f3; border-radius: 14px; padding: 14px; display: grid; gap: 4px; }
.backup-external-note span { color: #746761; font-size: .86rem; }
.backup-table-card { overflow: hidden; }
.backup-list { display: grid; }
.backup-row { padding: 18px 20px; border-top: 1px solid #eee7e3; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 24px; }
.backup-row:first-child { border-top: 0; }
.backup-row.is-missing { opacity: .62; background: #faf8f7; }
.backup-row-main { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.backup-file-icon { width: 42px; height: 42px; border-radius: 13px; background: #fff0e8; color: #c34a18; display: grid; place-items: center; font-size: 1.15rem; flex: 0 0 auto; }
.backup-file-copy { min-width: 0; display: grid; gap: 6px; }
.backup-file-copy > strong { overflow-wrap: anywhere; font-size: .98rem; }
.backup-file-copy > small { color: #766a64; }
.backup-file-copy > em { color: #a33c2b; font-style: normal; font-size: .82rem; }
.backup-row-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.backup-row-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; color: #7d716b; font-size: .8rem; align-items: center; }
.backup-row-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.backup-row-actions form { margin: 0; }
.backup-security-note { background: #eefaf4; border-color: #c7e8d7; }
.backup-security-note strong { color: #176e47; display: block; margin-bottom: 5px; }

@media (max-width: 900px) {
  .backup-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .backup-status-grid { grid-template-columns: 1fr; }
  .backup-row { grid-template-columns: 1fr; }
  .backup-row-meta { padding-left: 56px; }
}

@media (max-width: 640px) {
  .backup-center-shell { padding-left: 14px; padding-right: 14px; }
  .backup-page-heading { align-items: stretch; }
  .backup-page-heading h1 { font-size: 2rem; }
  .backup-create-form .button { width: 100%; min-width: 0; }
  .backup-kpis { grid-template-columns: 1fr 1fr; gap: 10px; }
  .backup-kpis article { min-height: 112px; padding: 14px; }
  .backup-kpis strong { font-size: 1.05rem; }
  .backup-status-card { padding: 17px; }
  .backup-status-card dl div { grid-template-columns: 1fr; gap: 3px; }
  .backup-alerts p { margin-left: 0; }
  .backup-row { padding: 16px; }
  .backup-row-meta { padding-left: 0; }
  .backup-row-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .backup-row-actions .button { width: 100%; padding-left: 8px; padding-right: 8px; }
  .backup-file-icon { width: 38px; height: 38px; }
}

/* ==========================================================
   Roscogas Ventas v0.6.6 · Usuarios inteligentes
   ========================================================== */
.header-profile.has-photo { overflow: hidden; background: #fff; border: 2px solid #f1d3c4; }
.header-profile.has-photo img { width: 100%; height: 100%; object-fit: cover; }
.header-create-user { white-space: nowrap; }
.header-create-user-icon, .header-create-user-label { display: inline-block; }
.header-create-user-icon { margin-right: 3px; font-size: 16px; line-height: 1; }

.ai-intake-card {
    margin: 24px 0 8px;
    padding: 22px;
    border: 1px solid #ead8cd;
    border-radius: 20px;
    background: linear-gradient(145deg, #fffaf7, #fff);
}
.ai-intake-card.is-ready { border-color: #cbe7d8; background: linear-gradient(145deg, #f2fbf6, #fff); }
.ai-intake-heading { display: flex; align-items: flex-start; gap: 15px; }
.ai-intake-heading h2 { margin: 2px 0 6px; font-size: 23px; }
.ai-intake-heading p:last-child { margin: 0; color: var(--ink-700); line-height: 1.5; }
.ai-intake-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--orange-700), var(--orange-500)); font-size: 21px; }
.ai-intake-controls { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(170px, .75fr) minmax(170px, auto); align-items: stretch; gap: 12px; margin-top: 18px; }
.ai-photo-sources { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ai-photo-picker { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); align-content: center; gap: 1px 9px; min-height: 100px; padding: 13px; border: 1px dashed #d79d80; border-radius: 15px; background: #fff; cursor: pointer; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.ai-photo-picker:hover, .ai-photo-picker:focus-within { border-color: var(--orange-600); box-shadow: 0 8px 20px rgba(189,67,21,.10); transform: translateY(-1px); }
.ai-photo-picker > span { grid-row: 1 / 3; align-self: center; font-size: 24px; }
.ai-photo-picker strong, .ai-photo-picker small { display: block; }
.ai-photo-picker small { color: var(--ink-500); font-weight: 500; line-height: 1.3; }
.ai-photo-picker input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.ai-photo-preview-wrap { position: relative; display: grid; place-items: center; min-height: 100px; border: 1px solid var(--line); border-radius: 15px; background: #f5f2f0; overflow: hidden; }
.ai-photo-preview-wrap img { width: 100%; height: 100%; max-height: 160px; object-fit: cover; }
.ai-photo-preview-empty { display: grid; justify-items: center; gap: 6px; padding: 14px; color: var(--ink-500); text-align: center; }
.ai-photo-preview-empty span { font-size: 25px; }
.ai-photo-preview-empty small { max-width: 170px; line-height: 1.35; }
.ai-intake-actions { display: grid; align-content: center; gap: 8px; }
.ai-intake-actions .button { width: 100%; min-width: 170px; }
.ai-intake-controls .button[aria-busy="true"] { opacity: .65; cursor: wait; }
.ai-intake-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; padding: 11px 13px; border: 1px solid #ead8cd; border-radius: 12px; color: #735243; background: #fff8f4; font-size: 12px; line-height: 1.4; }
.ai-intake-note strong { flex: 0 0 auto; color: var(--orange-800); }
.ai-intake-status { margin: 12px 0 0; padding: 11px 13px; border-radius: 12px; font-size: 13px; line-height: 1.45; }
.ai-intake-status.neutral, .ai-intake-status.ready { color: #6d5c54; background: #f5f2f0; }
.ai-intake-status.loading { color: #805c0a; background: var(--warning-bg); }
.ai-intake-status.success { color: var(--success); background: var(--success-bg); }
.ai-intake-status.warning { color: var(--warning); background: var(--warning-bg); }
.ai-intake-status.error { color: var(--danger); background: var(--danger-bg); }
.ai-intake-disabled { margin-top: 16px; padding: 15px; border-radius: 14px; background: #f7f4f2; }
.ai-intake-disabled strong, .ai-intake-disabled small { display: block; }
.ai-intake-disabled p { margin: 5px 0; color: var(--ink-700); }
.ai-filled { border-color: #2f9b6c !important; box-shadow: 0 0 0 4px rgba(47,155,108,.10) !important; background: #f5fcf8 !important; }

.temporary-password-card {
    display: flex; align-items: center; justify-content: space-between; gap: 18px;
    margin-top: 18px; padding: 20px; border: 1px solid #efd79b; border-radius: 17px; background: #fff9e9;
}
.temporary-password-card h2 { margin: 2px 0 6px; font-size: 21px; }
.temporary-password-card p:last-child { margin: 0; color: #6f5b25; line-height: 1.45; }
.temporary-password-card code { flex: 0 0 auto; padding: 12px 16px; border: 1px solid #e8c568; border-radius: 12px; color: #7b5200; background: #fff; font-size: 16px; font-weight: 900; letter-spacing: .03em; }
.reset-password-card { margin-top: 24px; }
.profile-driver-toggle { margin-top: 14px; }

.profile-shell { display: grid; gap: 18px; }
.profile-summary-card {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px;
    padding: 24px; border: 1px solid var(--line); border-radius: 22px; background: #fff;
}
.profile-summary-card h1 { margin: 2px 0 5px; font-size: clamp(28px, 5vw, 42px); }
.profile-summary-card p:last-child { margin: 0; color: var(--ink-500); }
.profile-avatar-large, .profile-avatar-medium, .user-list-avatar {
    display: grid; place-items: center; overflow: hidden; border-radius: 50%; color: #fff;
    background: linear-gradient(135deg, var(--orange-700), var(--orange-500)); font-weight: 900;
}
.profile-avatar-large { width: 78px; height: 78px; font-size: 25px; box-shadow: 0 12px 28px rgba(189,67,21,.20); }
.profile-avatar-medium { flex: 0 0 62px; width: 62px; height: 62px; font-size: 20px; }
.profile-avatar-large img, .profile-avatar-medium img, .user-list-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-form-card, .password-profile-card { margin-top: 0; }
.profile-form-card .form-card-heading h2, .password-profile-card .form-card-heading h2 { margin-bottom: 8px; font-size: 30px; }
.profile-photo-control { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 16px; background: #faf8f6; border: 1px solid var(--line); }
.profile-photo-control label { flex: 1; }
.future-license-card { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px dashed #dfc6b8; border-radius: 14px; background: #fffaf7; }
.future-license-card > span { font-size: 26px; }
.future-license-card strong, .future-license-card small { display: block; }
.future-license-card small { margin-top: 3px; color: var(--ink-500); }

.user-identity-cell { display: flex; align-items: flex-start; gap: 11px; min-width: 230px; }
.user-identity-cell > span:last-child { min-width: 0; }
.user-identity-cell strong, .user-identity-cell small { display: block; }
.user-list-avatar { flex: 0 0 39px; width: 39px; height: 39px; font-size: 12px; }
.password-state-badge { margin-top: 6px; padding: 4px 8px; font-size: 10px; }
.users-smart-table td small { line-height: 1.35; }

@media (max-width: 720px) {
    .commercial-header-actions { display: flex !important; }
    .commercial-header-actions .button { display: none !important; }
    .commercial-header-actions .header-create-user { display: inline-flex !important; min-height: 38px; padding: 8px 10px; font-size: 11px; }
    .ai-intake-card { padding: 17px; }
    .ai-intake-heading { gap: 11px; }
    .ai-intake-heading h2 { font-size: 20px; }
    .ai-intake-controls { grid-template-columns: 1fr; }
    .ai-photo-sources { grid-template-columns: 1fr 1fr; }
    .ai-photo-preview-wrap { min-height: 180px; }
    .ai-photo-preview-wrap img { max-height: 260px; }
    .ai-intake-actions { grid-template-columns: 1fr auto; }
    .ai-intake-actions .button { width: 100%; min-width: 0; }
    .ai-intake-note { flex-direction: column; gap: 3px; }
    .temporary-password-card { align-items: flex-start; flex-direction: column; }
    .temporary-password-card code { width: 100%; text-align: center; }
    .profile-summary-card { grid-template-columns: auto minmax(0,1fr); padding: 18px; }
    .profile-summary-card > .status-badge { grid-column: 1 / -1; justify-self: start; }
    .profile-avatar-large { width: 62px; height: 62px; }
    .profile-photo-control { align-items: flex-start; flex-direction: column; }
    .profile-photo-control label { width: 100%; }
}

@media (max-width: 430px) {
    .header-create-user { width: 42px; min-width: 42px !important; padding: 0 !important; justify-content: center; }
    .header-create-user-label { display: none; }
    .header-create-user-icon { margin: 0; font-size: 23px; }
    .ai-photo-sources { grid-template-columns: 1fr; }
    .ai-intake-actions { grid-template-columns: 1fr; }
    .ai-intake-heading .ai-intake-icon { width: 38px; height: 38px; flex-basis: 38px; }
    .profile-summary-card { grid-template-columns: 1fr; text-align: center; }
    .profile-avatar-large { margin: auto; }
    .profile-summary-card > .status-badge { justify-self: center; }
}

/* ==========================================================
   Roscogas Ventas v0.6.6-R2 · corrección móvil acciones inicio
   Evita desbordamiento horizontal cuando el administrador ve
   Nueva venta + Facturas emitidas + Crear usuario.
   ========================================================== */
@media (max-width: 720px) {
    .commercial-actions.has-user-action {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .commercial-actions.has-user-action .commercial-action {
        min-width: 0;
    }
    .commercial-actions.has-user-action .commercial-action-primary {
        grid-column: 1 / -1;
    }
    .commercial-actions.has-user-action .commercial-action-secondary,
    .commercial-actions.has-user-action .commercial-action-user {
        grid-template-columns: 43px minmax(0, 1fr) auto;
    }
}

@media (max-width: 430px) {
    .commercial-actions.has-user-action {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .commercial-actions.has-user-action .commercial-action-secondary,
    .commercial-actions.has-user-action .commercial-action-user {
        grid-template-columns: 1fr;
        align-content: start;
        justify-items: start;
        gap: 7px;
        min-height: 108px;
        padding: 12px;
    }
    .commercial-actions.has-user-action .commercial-action-secondary .commercial-action-icon,
    .commercial-actions.has-user-action .commercial-action-user .commercial-action-icon {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        font-size: 19px;
    }
    .commercial-actions.has-user-action .commercial-action-secondary strong,
    .commercial-actions.has-user-action .commercial-action-user strong {
        font-size: 15px;
        line-height: 1.15;
    }
    .commercial-actions.has-user-action .commercial-action-secondary small,
    .commercial-actions.has-user-action .commercial-action-user small,
    .commercial-actions.has-user-action .commercial-action-secondary b,
    .commercial-actions.has-user-action .commercial-action-user b {
        display: none;
    }
}


/* ==========================================================
   Roscogas Ventas v0.6.6.1 · Alta rápida de usuarios
   ========================================================== */
.quick-user-shell { width: min(100%, 720px); margin-inline: auto; padding-bottom: 110px; }
.quick-user-card { margin-top: 18px; padding: 26px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.quick-user-heading { margin-bottom: 22px; }
.quick-user-heading h1 { margin: 3px 0 7px; font-size: clamp(28px, 5vw, 38px); line-height: 1.05; }
.quick-user-heading p:last-child { margin: 0; color: var(--ink-700); line-height: 1.45; }
.quick-user-form { display: grid; gap: 17px; }
.quick-user-form label { display: grid; gap: 7px; color: var(--ink-900); font-weight: 800; }
.quick-user-form label > span { font-size: 14px; }
.quick-user-form input, .quick-user-form select { width: 100%; min-height: 54px; padding: 13px 15px; border: 1px solid #dcd7d3; border-radius: 14px; outline: none; color: var(--ink-900); background: #fff; font: inherit; }
.quick-user-form input:focus, .quick-user-form select:focus { border-color: var(--orange-600); box-shadow: 0 0 0 4px rgba(207,83,29,.11); }
.quick-user-form label small { color: var(--ink-500); font-size: 12px; font-weight: 600; }
.quick-user-access { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; align-items: start; padding: 15px; border: 1px solid #cfe6d8; border-radius: 15px; background: #f3fbf6; }
.quick-user-access > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: #258457; font-weight: 900; }
.quick-user-access strong, .quick-user-access small { display: block; }
.quick-user-access strong { margin: 1px 0 4px; }
.quick-user-access small { color: var(--ink-700); line-height: 1.4; }
.quick-user-submit { width: 100%; min-height: 55px; font-size: 16px; }
.quick-user-submit:disabled { opacity: .5; cursor: not-allowed; }
.compact-form-heading { margin-bottom: 18px; }
.compact-admin-form { margin-top: 18px; }
.compact-admin-form .form-section-block { padding: 18px; }
.edit-user-card { margin-bottom: 90px; }

@media (max-width: 720px) {
    .quick-user-shell { padding-inline: 14px; }
    .quick-user-card { margin-top: 10px; padding: 19px; border-radius: 18px; }
    .quick-user-heading { margin-bottom: 18px; }
    .quick-user-heading h1 { font-size: 30px; }
    .quick-user-form { gap: 15px; }
    .quick-user-form input, .quick-user-form select { min-height: 52px; }
}

/* ==========================================================
   Roscogas Ventas v0.6.7 · Clientes reales Siigo
   ========================================================== */
.commercial-actions.has-customer-action { grid-template-columns: minmax(0,1.2fr) repeat(2,minmax(0,.9fr)); }
.commercial-actions.has-customer-action.has-user-action { grid-template-columns: minmax(0,1.15fr) repeat(3,minmax(0,.85fr)); }
.commercial-action-customer { color: var(--ink-900); background: linear-gradient(145deg,#fff 0%,#fffaf6 100%); border-color: #efd6c9; }
.commercial-action-customer .commercial-action-icon { color: var(--orange-800); background: #fff0e8; }

.customer-create-prompt {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid #efc4ad;
    border-radius: 15px;
    background: #fff8f3;
}
.customer-create-prompt[hidden] { display: none; }
.customer-create-prompt-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: linear-gradient(135deg,var(--orange-800),var(--orange-500)); font-size: 24px; font-weight: 900; }
.customer-create-prompt strong,.customer-create-prompt small { display:block; }
.customer-create-prompt small { margin-top: 3px; color: var(--ink-600); line-height: 1.35; }

.customer-form-shell { width: min(100%,860px); padding-bottom: 110px; }
.customer-form-card { margin-top: 18px; padding: 26px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.customer-form-heading { margin-bottom: 22px; }
.customer-form-heading h1 { margin: 3px 0 7px; font-size: clamp(28px,5vw,39px); line-height: 1.05; }
.customer-form-heading p:last-child { margin: 0; color: var(--ink-600); line-height: 1.45; }
.siigo-customer-form { display: grid; gap: 16px; }
.customer-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.customer-mode-switch button { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; column-gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink-900); text-align: left; font: inherit; cursor: pointer; }
.customer-mode-switch button > span { grid-row: 1 / 3; display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:var(--orange-800); background:var(--orange-100); font-size:12px; font-weight:900; }
.customer-mode-switch button strong,.customer-mode-switch button small { display:block; }
.customer-mode-switch button small { color:var(--ink-500); font-size:11px; }
.customer-mode-switch button.active { border-color:var(--orange-600); background:#fff7f1; box-shadow:0 0 0 2px rgba(200,77,22,.08); }
.customer-mode-switch button.active > span { color:#fff; background:var(--orange-700); }
.customer-person-type { display:flex; gap:8px; flex-wrap:wrap; }
.customer-person-type[hidden] { display:none; }
.customer-person-type label { display:flex; align-items:center; gap:7px; min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; font-weight:800; cursor:pointer; }
.customer-form-section { display:grid; gap:14px; padding:18px; border:1px solid #eee3dc; border-radius:19px; background:#fffdfa; }
.customer-form-section[hidden] { display:none; }
.customer-section-title { display:flex; align-items:center; gap:10px; }
.customer-section-title > span { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:11px; color:#fff; background:var(--orange-700); font-weight:900; }
.customer-section-title strong,.customer-section-title small { display:block; }
.customer-section-title small { margin-top:2px; color:var(--ink-500); font-size:11px; }
.customer-form-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.customer-form-grid.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.customer-field { display:grid; gap:7px; min-width:0; color:var(--ink-900); font-weight:800; }
.customer-field > span { font-size:13px; }
.customer-field em { color:var(--ink-500); font-size:10px; font-style:normal; font-weight:600; }
.customer-field input,.customer-field select { width:100%; min-width:0; min-height:48px; padding:11px 12px; border:1px solid #d9cec7; border-radius:12px; background:#fff; color:var(--ink-900); font:inherit; }
.customer-field input:focus,.customer-field select:focus { outline:none; border-color:var(--orange-600); box-shadow:0 0 0 3px rgba(200,77,22,.1); }
.customer-check-digit { display:grid; align-content:center; justify-items:start; gap:3px; min-height:70px; padding:10px 14px; border:1px dashed #e1b9a5; border-radius:13px; background:#fff7f2; }
.customer-check-digit[hidden] { display:none; }
.customer-check-digit span,.customer-check-digit small { color:var(--ink-500); font-size:10px; }
.customer-check-digit strong { color:var(--orange-800); font-size:25px; }
.customer-tax-details { border:1px solid #eadfd8; border-radius:17px; background:#fff; overflow:hidden; }
.customer-tax-details summary { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 16px; cursor:pointer; list-style:none; }
.customer-tax-details summary::-webkit-details-marker { display:none; }
.customer-tax-details summary strong,.customer-tax-details summary small { display:block; }
.customer-tax-details summary small { margin-top:2px; color:var(--ink-500); font-size:11px; }
.customer-tax-content { display:grid; gap:15px; padding:0 16px 16px; }
.customer-vat-toggle { display:flex; gap:10px; align-items:flex-start; padding:11px; border-radius:13px; background:#fff8f3; cursor:pointer; }
.customer-vat-toggle strong,.customer-vat-toggle small { display:block; }
.customer-vat-toggle small { margin-top:2px; color:var(--ink-500); }
.customer-fiscal-list { display:grid; gap:8px; margin:0; padding:0; border:0; }
.customer-fiscal-list legend { margin-bottom:8px; font-weight:900; }
.customer-fiscal-list label { display:flex; align-items:center; gap:9px; padding:9px 10px; border:1px solid #eee3dc; border-radius:12px; cursor:pointer; }
.customer-fiscal-list label span { display:flex; gap:7px; align-items:center; color:var(--ink-700); font-size:12px; }
.customer-submit-bar { position:sticky; bottom:74px; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:13px 15px; border:1px solid #e9d8ce; border-radius:17px; background:rgba(255,255,255,.96); box-shadow:0 15px 35px rgba(44,35,30,.13); backdrop-filter:blur(12px); }
.customer-submit-bar small,.customer-submit-bar strong { display:block; }
.customer-submit-bar small { color:var(--ink-500); }

.customers-shell { padding-bottom:110px; }
.customers-hero { display:flex; justify-content:space-between; align-items:end; gap:18px; margin:18px 0 14px; }
.customers-hero h1 { margin:3px 0 5px; font-size:clamp(30px,5vw,42px); }
.customers-hero p:last-child { margin:0; color:var(--ink-600); }
.customer-directory-search { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:8px; padding:8px 9px 8px 13px; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:0 8px 22px rgba(65,42,30,.05); }
.customer-directory-search > span { color:var(--orange-700); font-size:22px; }
.customer-directory-search input { min-width:0; min-height:42px; border:0; outline:0; background:transparent; font:inherit; }
.customer-directory-search > a { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--ink-600); background:#f4eeea; text-decoration:none; font-size:20px; }
.customer-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0; }
.customer-kpis article { padding:14px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.customer-kpis small,.customer-kpis strong,.customer-kpis span { display:block; }
.customer-kpis strong { margin:4px 0 2px; font-size:26px; }
.customer-kpis span { color:var(--ink-500); font-size:10px; }
.customer-kpis article.warning strong { color:#b84817; }
.customers-list-card { padding:19px; border:1px solid var(--line); border-radius:21px; background:#fff; box-shadow:var(--shadow); }
.customers-card-list { display:grid; gap:8px; margin-top:14px; }
.customer-directory-card { display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px; border:1px solid #eee3dc; border-radius:15px; background:#fffdfa; }
.customer-directory-avatar { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--orange-800),var(--orange-500)); font-size:20px; font-weight:900; }
.customer-directory-copy strong,.customer-directory-copy small,.customer-directory-copy span,.customer-directory-copy em { display:block; }
.customer-directory-copy small { color:var(--ink-600); }
.customer-directory-copy span { margin-top:3px; color:var(--ink-700); font-size:11px; font-weight:800; }
.customer-directory-copy em { margin-top:2px; color:var(--ink-500); font-size:10px; font-style:normal; }
.customer-directory-state { display:grid; justify-items:end; gap:7px; }
.customer-sync-state { padding:5px 8px; border-radius:999px; font-size:9px; font-weight:900; }
.customer-sync-state.state-sincronizado,.customer-sync-state.state-duplicado { color:#22643c; background:#e7f6ec; }
.customer-sync-state.state-error,.customer-sync-state.state-inactivo { color:#a03f1c; background:#ffebe3; }
.customer-sync-state.state-sincronizando { color:#8a6415; background:#fff5d9; }
.customers-empty { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:13px; margin-top:14px; padding:18px; border:1px dashed #e1cfc4; border-radius:16px; background:#fffaf7; }
.customers-empty > span { font-size:27px; color:var(--orange-700); }
.customers-empty strong,.customers-empty small { display:block; }
.customers-empty small { margin-top:3px; color:var(--ink-500); }

@media (max-width: 900px) {
    .commercial-actions.has-customer-action.has-user-action { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .commercial-actions.has-customer-action.has-user-action .commercial-action-primary { grid-column:1 / -1; }
    .commercial-actions.has-customer-action.has-user-action .commercial-action-user { grid-column:1 / -1; }
    .customer-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .commercial-actions.has-customer-action { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .commercial-actions.has-customer-action .commercial-action-primary { grid-column:1 / -1; }
    .commercial-actions.has-customer-action .commercial-action-secondary,
    .commercial-actions.has-customer-action .commercial-action-customer,
    .commercial-actions.has-customer-action .commercial-action-user { min-width:0; grid-template-columns:43px minmax(0,1fr) auto; }
    .customer-form-card { padding:17px; border-radius:19px; }
    .customer-form-grid.two-columns { grid-template-columns:1fr; }
    .customer-submit-bar { bottom:67px; }
    .customers-hero { align-items:stretch; flex-direction:column; }
    .customers-hero .button { width:100%; }
    .customer-directory-search { grid-template-columns:auto minmax(0,1fr) auto; }
    .customer-directory-search .button { grid-column:1 / -1; width:100%; }
    .customer-directory-search > a { grid-column:3; grid-row:1; }
}
@media (max-width: 430px) {
    .commercial-actions.has-customer-action .commercial-action-secondary,
    .commercial-actions.has-customer-action .commercial-action-customer { grid-template-columns:1fr; align-content:start; justify-items:start; gap:7px; min-height:108px; padding:12px; }
    .commercial-actions.has-customer-action .commercial-action-secondary .commercial-action-icon,
    .commercial-actions.has-customer-action .commercial-action-customer .commercial-action-icon { width:38px; height:38px; border-radius:12px; font-size:19px; }
    .commercial-actions.has-customer-action .commercial-action-secondary strong,
    .commercial-actions.has-customer-action .commercial-action-customer strong { font-size:15px; line-height:1.15; }
    .commercial-actions.has-customer-action .commercial-action-secondary small,
    .commercial-actions.has-customer-action .commercial-action-customer small,
    .commercial-actions.has-customer-action .commercial-action-secondary b,
    .commercial-actions.has-customer-action .commercial-action-customer b { display:none; }
    .customer-create-prompt { grid-template-columns:38px minmax(0,1fr); }
    .customer-create-prompt .button { grid-column:1 / -1; width:100%; }
    .customer-mode-switch { grid-template-columns:1fr; }
    .customer-submit-bar { align-items:stretch; flex-direction:column; }
    .customer-submit-bar .button { width:100%; }
    .customer-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .customer-directory-card { grid-template-columns:42px minmax(0,1fr); }
    .customer-directory-avatar { width:42px; height:42px; }
    .customer-directory-state { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; width:100%; }
    .customers-empty { grid-template-columns:auto minmax(0,1fr); }
    .customers-empty .button { grid-column:1 / -1; width:100%; }
}

/* v0.6.8 · Blindaje operativo y recuperación */
.recovery-shell{padding-bottom:96px}.recovery-metrics{margin-bottom:18px}.recovery-health-card{margin-bottom:18px}.recovery-list{display:grid;gap:12px;margin-top:16px}.compact-recovery-list{gap:8px}.recovery-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid #ece5df;border-radius:16px;background:#fff}.recovery-row-main{min-width:0;flex:1}.recovery-row-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recovery-row-title strong{font-size:1rem;color:#27221f}.recovery-row-main p{margin:7px 0 4px;color:#4f4844}.recovery-row-main>small{display:block;color:#716965;line-height:1.45}.recovery-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;color:#8a817b;font-size:.78rem}.recovery-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:420px}.recovery-actions form{margin:0}.public-links-card{margin-top:18px}.pwa-update-banner{position:fixed;left:50%;bottom:18px;z-index:10000;transform:translateX(-50%);width:min(680px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #e4d8d1;box-shadow:0 18px 48px rgba(74,43,27,.22)}.pwa-update-banner div{display:grid;gap:3px}.pwa-update-banner strong{color:#2d2723}.pwa-update-banner span{font-size:.85rem;color:#6f665f}.pwa-update-banner button{flex:none}form[aria-busy="true"]{opacity:.82;pointer-events:none}.mini-status.pending{background:#fff1d9;color:#8a5400}.mini-status.danger{background:#fde8e6;color:#a5281d}.mini-status.warning{background:#fff1d9;color:#8a5400}.mini-status.success{background:#e5f5e9;color:#176b32}.mini-status.neutral{background:#efefef;color:#555}.metric-card span{display:block;margin-top:4px;color:#80756e;font-size:.78rem}
@media(max-width:760px){.recovery-row{display:grid;gap:14px}.recovery-actions{justify-content:flex-start;max-width:none;width:100%}.recovery-actions form,.recovery-actions .button{flex:1}.recovery-actions button,.recovery-actions a{width:100%;text-align:center}.pwa-update-banner{bottom:76px;align-items:stretch;flex-direction:column}.pwa-update-banner button{width:100%}}

/* ==========================================================
   Roscogas Ventas v0.7.0 · jornadas e inventario móvil
   ========================================================== */
.operations-app{background:linear-gradient(180deg,#fffaf7 0,#f7f4f1 46%,#f5f3f1 100%)}
.operations-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:22px 0 110px}.operations-form-shell{width:min(900px,calc(100% - 32px))}
.operations-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 18px;padding:24px;border:1px solid #eadfd8;border-radius:24px;background:radial-gradient(circle at 92% 10%,rgba(232,108,43,.16),transparent 28%),linear-gradient(135deg,#fff 0%,#fff8f3 100%);box-shadow:0 18px 42px rgba(81,48,31,.08)}
.operations-hero h1{margin:3px 0 7px;font-size:clamp(28px,5vw,42px);letter-spacing:-.035em}.operations-hero p:last-child{margin:0;color:var(--ink-600);line-height:1.5}.operations-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.vehicle-hero-data{display:grid;gap:8px;min-width:240px}.vehicle-hero-data span{display:flex;justify-content:space-between;gap:18px;padding:10px 12px;border-radius:13px;background:#fff;border:1px solid #efe3dc;color:var(--ink-500);font-size:12px}.vehicle-hero-data strong{color:var(--ink-900)}
.operations-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 18px}.operations-kpis>div{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(67,45,33,.05)}.operations-kpis small,.operations-kpis strong{display:block}.operations-kpis small{color:var(--ink-500);font-size:11px;font-weight:800}.operations-kpis strong{margin-top:4px;font-size:clamp(22px,4vw,30px)}
.operations-card{margin-bottom:16px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(62,43,33,.06)}.operations-card .compact-section-heading p{margin-bottom:0}.operations-card .compact-section-heading small{color:var(--ink-500)}.operations-subheading{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.vehicle-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:15px}.vehicle-card{display:grid;gap:12px;padding:17px;border:1px solid #eadfd8;border-radius:18px;background:linear-gradient(145deg,#fff,#fffaf7)}.vehicle-card.is-inactive{opacity:.65}.vehicle-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.vehicle-card-top small,.vehicle-card-top h3{display:block;margin:0}.vehicle-card-top small{color:var(--orange-800);font-weight:900;letter-spacing:.08em}.vehicle-card-top h3{margin-top:2px;font-size:26px}.vehicle-card>p{margin:0;color:var(--ink-600);min-height:38px}.vehicle-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.vehicle-facts div{padding:9px;border-radius:12px;background:#f8f4f1}.vehicle-facts dt{color:var(--ink-500);font-size:9px;font-weight:900;text-transform:uppercase}.vehicle-facts dd{margin:3px 0 0;font-weight:800;overflow-wrap:anywhere}.vehicle-card-actions{display:flex;gap:8px;flex-wrap:wrap}.vehicle-card-actions .button{flex:1}
.operation-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.03em;white-space:nowrap}.operation-status.success{color:#176b32;background:#e5f5e9}.operation-status.warning{color:#875500;background:#fff1d9}.operation-status.primary{color:#934014;background:#ffeadf}.operation-status.danger{color:#a5281d;background:#fde8e6}.operation-status.neutral{color:#5d5753;background:#efedeb}
.operations-form{display:grid;gap:18px}.operations-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.operations-form label{display:grid;gap:6px}.operations-form label>span{font-size:11px;font-weight:900;color:var(--ink-700)}.operations-form input,.operations-form select,.operations-form textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #ded4ce;border-radius:13px;background:#fff;font:inherit;color:var(--ink-900);outline:none}.operations-form textarea{resize:vertical}.operations-form input:focus,.operations-form select:focus,.operations-form textarea:focus{border-color:#d67848;box-shadow:0 0 0 3px rgba(209,93,34,.11)}.operations-full-field{grid-column:1/-1}.operations-form-actions{display:flex;justify-content:flex-end;gap:10px}.operation-check{display:flex!important;align-items:center;gap:9px}.operation-check input{width:19px!important;min-height:auto!important;height:19px;accent-color:var(--orange-700)}
.inventory-table-wrap{overflow:auto;margin-top:12px;border:1px solid #ece3de;border-radius:15px}.inventory-table{width:100%;min-width:680px;border-collapse:collapse}.inventory-table th,.inventory-table td{padding:12px 13px;border-bottom:1px solid #eee7e2;text-align:left}.inventory-table th{background:#faf6f3;color:var(--ink-500);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.inventory-table td{font-size:13px}.inventory-table td strong,.inventory-table td small{display:block}.inventory-table td small{margin-top:2px;color:var(--ink-500);font-size:10px}.inventory-table tr:last-child td{border-bottom:0}.inventory-table .has-difference{color:#a5281d;font-weight:900}
.operation-list{display:grid;gap:8px;margin-top:13px}.operation-list>a,.operation-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #ece3de;border-radius:14px;color:inherit;background:#fff;text-decoration:none}.operation-list span{min-width:0}.operation-list strong,.operation-list small{display:block}.operation-list small{margin-top:3px;color:var(--ink-500);font-size:10px}.operation-list em{font-style:normal;font-weight:900;color:var(--ink-800);text-align:right}.operation-list em small{display:block}.compact-product-list{margin-top:10px}
.product-config-list{display:grid;gap:12px;margin-top:14px}.product-config-card{display:grid;gap:13px;padding:15px;border:1px solid #e9ded7;border-radius:16px;background:#fff}.product-config-card.is-pending{border-color:#efc993;background:#fffaf0}.product-config-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.product-config-heading small,.product-config-heading strong{display:block}.product-config-heading small{color:var(--orange-800);font-size:10px;font-weight:900}.product-config-heading strong{margin-top:3px}.product-config-fields{grid-template-columns:2fr repeat(3,minmax(0,1fr))}.product-config-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.journey-card-list{display:grid;gap:10px;margin-top:14px}.journey-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid #e9e0db;border-radius:17px;color:inherit;background:#fff;text-decoration:none}.journey-card-main{display:flex;align-items:center;gap:12px;min-width:0}.journey-vehicle-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--orange-800),var(--orange-500));font-size:21px}.journey-card-main small,.journey-card-main strong,.journey-card-main p{display:block;margin:0}.journey-card-main small{color:var(--orange-800);font-weight:900}.journey-card-main strong{margin-top:2px;font-size:17px}.journey-card-main p{margin-top:3px;color:var(--ink-500);font-size:11px}.journey-card-summary{display:grid;justify-items:end;gap:5px}.journey-card-summary>small{color:var(--ink-500);font-size:10px}.journey-card-summary>strong{font-size:18px}.journey-hero-status{display:grid;justify-items:end;gap:7px}.journey-hero-status small{color:var(--ink-500)}
.load-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.load-product-card{display:grid!important;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:10px;padding:12px;border:1px solid #e7dcd5;border-radius:14px;background:#fffaf7}.load-product-card span,.load-product-card strong,.load-product-card small{display:block}.load-product-card small{margin-top:3px;color:var(--ink-500);font-size:9px}.load-product-card input{text-align:center;font-weight:900}
.action-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.inline-operation-form{margin:0}.operation-details{padding:0;overflow:hidden}.operation-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.operation-details>summary::-webkit-details-marker{display:none}.operation-details>summary strong,.operation-details>summary small{display:block}.operation-details>summary small{margin-top:3px;color:var(--ink-500)}.operation-details>summary b{font-size:20px}.operation-details[open]>summary{border-bottom:1px solid var(--line)}.operation-details-body{padding:18px 20px}.movement-list{margin:0}.journey-sale-context{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;margin:0 0 14px;padding:13px 15px;border:1px solid #cde8d4;border-radius:16px;background:#f2fbf5}.journey-sale-context-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:#278248;font-size:22px}.journey-sale-context small,.journey-sale-context strong,.journey-sale-context p{display:block;margin:0}.journey-sale-context small{color:#267042;font-size:10px;font-weight:900}.journey-sale-context strong{margin-top:2px}.journey-sale-context p{margin-top:3px;color:#4f6d59;font-size:11px}.journey-sale-context a{font-size:11px;font-weight:900;color:#23683d}.journey-sale-warning{margin-bottom:14px}
.liquidation-card{border-color:#ecccb9}.liquidation-section-title{margin:6px 0 0;font-size:17px}.count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.count-card{grid-template-columns:minmax(0,1fr) 95px!important;align-items:center;padding:12px;border:1px solid #e8ddd6;border-radius:14px;background:#fff}.count-card span,.count-card strong,.count-card small{display:block}.count-card small{margin-top:3px;color:var(--ink-500);font-size:9px}.count-card input{text-align:center;font-weight:900}.container-classification-list{display:grid;gap:10px}.container-classification-card{display:grid;grid-template-columns:1.1fr repeat(3,minmax(0,.7fr)) 1.4fr;align-items:end;gap:10px;padding:13px;border:1px solid #e8ddd6;border-radius:14px;background:#fff}.container-classification-card>div strong,.container-classification-card>div small{display:block}.container-classification-card>div strong{font-size:20px}.container-classification-card>div small{color:var(--ink-500)}.liquidation-warning{padding:13px;border-radius:14px;color:#754613;background:#fff2df}.liquidation-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.liquidation-summary-grid>div{padding:14px;border:1px solid #e8ddd6;border-radius:14px;background:#fffaf7}.liquidation-summary-grid small,.liquidation-summary-grid strong{display:block}.liquidation-summary-grid small{color:var(--ink-500);font-size:10px}.liquidation-summary-grid strong{margin-top:4px;font-size:22px}
.commercial-action-vehicle,.commercial-action-journey{color:var(--ink-900);background:linear-gradient(145deg,#fff 0%,#fff9f4 100%);border-color:#efd9cc}.commercial-action-vehicle .commercial-action-icon,.commercial-action-journey .commercial-action-icon{color:var(--orange-800);background:#fff0e8}

@media(max-width:980px){.vehicle-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-config-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.load-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.container-classification-card{grid-template-columns:repeat(4,minmax(0,1fr))}.container-classification-card>div{grid-column:1/-1}.container-note{grid-column:1/-1}}
@media(max-width:720px){.operations-shell,.operations-form-shell{width:min(100% - 22px,1180px);padding-top:14px}.operations-hero{align-items:stretch;flex-direction:column;padding:18px;border-radius:19px}.operations-hero-actions{justify-content:stretch}.operations-hero-actions .button{flex:1}.operations-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-card-grid{grid-template-columns:1fr}.operations-form-grid,.product-config-fields{grid-template-columns:1fr}.operations-form-actions{flex-direction:column-reverse}.operations-form-actions .button{width:100%}.journey-card{grid-template-columns:1fr}.journey-card-summary{display:flex;align-items:center;justify-content:space-between;justify-items:stretch}.journey-hero-status{justify-items:start}.load-product-grid,.count-grid{grid-template-columns:1fr}.action-card{align-items:stretch;flex-direction:column}.action-card .button{width:100%}.container-classification-card{grid-template-columns:repeat(2,minmax(0,1fr))}.container-classification-card>div,.container-note{grid-column:1/-1}.liquidation-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-sale-context{grid-template-columns:42px minmax(0,1fr)}.journey-sale-context-icon{width:42px;height:42px}.journey-sale-context a{grid-column:1/-1;text-align:center;padding-top:8px;border-top:1px solid #d5eadb}.mobile-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(64px,1fr);overflow-x:auto;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}}
@media(max-width:430px){.operations-card{padding:15px;border-radius:18px}.vehicle-facts{grid-template-columns:1fr}.load-product-card,.count-card{grid-template-columns:minmax(0,1fr) 82px!important}.liquidation-summary-grid{grid-template-columns:1fr}.operations-kpis>div{padding:13px}.operations-kpis strong{font-size:22px}.product-config-footer{align-items:stretch;flex-direction:column}.product-config-footer .button{width:100%}}

/* ==========================================================
   Roscogas Ventas v0.7.1 · flujo simple por salida
   ========================================================== */
.dispatch-vehicle-grid{align-items:stretch}.dispatch-responsible-card{display:grid;align-content:center;gap:4px;padding:12px 14px;border:1px solid #d7eadc;border-radius:14px;background:#f3fbf5}.dispatch-responsible-card small{font-size:10px;font-weight:900;color:#23713f;text-transform:uppercase;letter-spacing:.05em}.dispatch-responsible-card strong{font-size:16px}.dispatch-responsible-card span{font-size:10px;color:var(--ink-500)}
.dispatch-rule-note{padding:13px 14px;border-radius:14px;background:#eef8f1;color:#315f40;line-height:1.45}.simplified-load-grid .load-product-card{background:#fff}.journey-simple-shell{width:min(940px,calc(100% - 28px))}.journey-simple-hero{padding:20px}.journey-state-box{display:grid;justify-items:end;gap:6px}.journey-state-box small{color:var(--ink-500);font-size:10px}.journey-money-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.simple-journey-card .compact-section-heading{align-items:center}.simple-inventory-list{display:grid;gap:9px;margin-top:14px}.simple-inventory-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px;border:1px solid #e9e0da;border-radius:15px;background:#fffaf7}.simple-inventory-list article>div strong,.simple-inventory-list article>div small{display:block}.simple-inventory-list article>div strong{font-size:18px}.simple-inventory-list article>div small{margin-top:2px;color:var(--ink-500);font-size:10px}.simple-inventory-list dl{display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:7px;margin:0}.simple-inventory-list dl div{padding:8px 10px;border-radius:11px;background:#fff;text-align:center}.simple-inventory-list dt{color:var(--ink-500);font-size:9px;font-weight:900;text-transform:uppercase}.simple-inventory-list dd{margin:2px 0 0;font-size:16px;font-weight:900}.settlement-count-section{display:grid;gap:10px;padding-top:4px}.settlement-count-section h3{margin:0;font-size:19px}.settlement-count-section>p{margin:-5px 0 0;color:var(--ink-500);font-size:11px}.empty-count-section{padding-top:17px;border-top:1px solid var(--line)}.simplified-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settlement-confirm{padding:13px;border:1px solid #d7eadc;border-radius:14px;background:#f3fbf5}.full-width-action{display:flex;width:100%;margin:10px 0 18px}.simplified-closed-liquidation{border-color:#cfe7d6}.simplified-liquidation-card .liquidation-warning{font-size:12px;line-height:1.45}
@media(max-width:720px){.journey-simple-shell{width:min(100% - 18px,940px)}.journey-state-box{justify-items:start}.journey-money-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-inventory-list article{grid-template-columns:1fr}.simple-inventory-list dl{grid-template-columns:repeat(3,minmax(0,1fr))}.simplified-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.simple-inventory-list dl{gap:5px}.simple-inventory-list dl div{padding:7px 5px}.simplified-count-grid{grid-template-columns:1fr}.journey-money-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ==========================================================
   Roscogas Ventas v0.7.1 · resumen integral de salidas
   ========================================================== */
.journey-products-line{margin:0;color:var(--orange-800);font-size:11px;font-weight:900;text-align:right}.journey-sales-count{padding:7px 10px;border-radius:999px;color:#24663c;background:#eaf7ee;font-size:11px;font-weight:900;white-space:nowrap}.sold-product-list{display:grid;gap:9px;margin-top:14px}.sold-product-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #eadfd8;border-radius:15px;background:#fffaf7}.sold-product-name{display:flex;align-items:center;gap:11px;min-width:0}.sold-product-name>span{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--orange-800),var(--orange-500));font-size:12px;font-weight:900}.sold-product-name strong,.sold-product-name small{display:block}.sold-product-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sold-product-name small{margin-top:2px;color:var(--ink-500);font-size:10px}.sold-product-quantity{font-size:20px;color:var(--orange-800)}.sold-product-row>em{min-width:86px;font-style:normal;font-weight:900;text-align:right}.journey-sales-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.journey-sales-totals>div{padding:12px;border-radius:13px;background:#f5f2f0}.journey-sales-totals small,.journey-sales-totals strong{display:block}.journey-sales-totals small{color:var(--ink-500);font-size:9px;text-transform:uppercase}.journey-sales-totals strong{margin-top:3px;font-size:18px}.settlement-product-list{display:grid;gap:10px;margin-top:13px}.settlement-product-card{padding:14px;border:1px solid #e8ddd6;border-radius:15px;background:#fff}.settlement-product-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.settlement-product-card header strong{font-size:20px}.settlement-product-card header span{padding:6px 9px;border-radius:999px;color:#24663c;background:#eaf7ee;font-size:10px;font-weight:900}.settlement-product-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:11px 0 0}.settlement-product-card dl div{padding:9px;border-radius:11px;background:#fff8f4;text-align:center}.settlement-product-card dt{color:var(--ink-500);font-size:9px;font-weight:900;text-transform:uppercase}.settlement-product-card dd{margin:3px 0 0;font-size:17px;font-weight:900}.settlement-difference-note{margin:10px 0 0;padding:8px 10px;border-radius:10px;color:#8a4f00;background:#fff1d6;font-size:10px;font-weight:800}.cash-settlement-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-top:12px;padding:13px 14px;border-radius:14px;color:#315f40;background:#eef8f1}.cash-settlement-line span{font-weight:900}.cash-settlement-line strong{font-size:12px}.journey-result-message{padding:15px}.journey-result-message>div{display:flex;align-items:center;gap:12px}.journey-result-message>div>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;font-size:20px;font-weight:900}.journey-result-message strong,.journey-result-message p{display:block;margin:0}.journey-result-message p{margin-top:3px;font-size:11px}.journey-result-message.is-clear{border-color:#cde7d5;background:#f3fbf5}.journey-result-message.is-clear>div>span{color:#fff;background:#278248}.journey-result-message.has-alert{border-color:#efd7a0;background:#fff8e8}.journey-result-message.has-alert>div>span{color:#fff;background:#c57b00}.journey-audit-details{margin-bottom:10px}.journey-audit-details h3{margin:16px 0 8px}.journey-audit-details h3:first-child{margin-top:0}.journey-observation{margin-top:14px;padding:12px;border-radius:12px;background:#f5f2f0}.journey-observation p{margin:5px 0 0;line-height:1.45}
@media(max-width:720px){.journey-products-line{text-align:left}.sold-product-row{grid-template-columns:minmax(0,1fr) auto}.sold-product-row>em{grid-column:1/-1;padding-top:7px;border-top:1px solid var(--line);text-align:right}.journey-sales-totals{grid-template-columns:1fr 1fr}.journey-sales-totals>div:last-child{grid-column:1/-1}.cash-settlement-line{grid-template-columns:1fr}.cash-settlement-line strong{font-size:11px}.journey-card-summary{align-items:flex-start;flex-wrap:wrap}.journey-card-summary .journey-products-line{flex-basis:100%}}
@media(max-width:430px){.sold-product-name>span{width:40px;height:40px;flex-basis:40px}.sold-product-quantity{font-size:17px}.settlement-product-card dl{grid-template-columns:1fr}.journey-sales-totals{grid-template-columns:1fr}.journey-sales-totals>div:last-child{grid-column:auto}}

/* ==========================================================
   Roscogas Ventas v0.7.1 · operación simple y roles
   ========================================================== */
.pwa-update-banner-visible{border-color:#efb38f;background:#fff9f5}.pwa-update-banner-visible strong{color:var(--orange-900)}
.seller-dashboard-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:14px 16px;border:1px solid #cfe7d6;border-radius:17px;background:#f3fbf5}.seller-dashboard-status div{min-width:0}.seller-dashboard-status small,.seller-dashboard-status strong,.seller-dashboard-status span{display:block}.seller-dashboard-status small{color:#277044;font-size:10px;font-weight:900;text-transform:uppercase}.seller-dashboard-status strong{margin:3px 0;font-size:18px}.seller-dashboard-status span{color:var(--ink-600);font-size:11px;line-height:1.4}.seller-own-journey-action{background:#fffaf7}
.seller-journey-shell{width:min(720px,calc(100% - 24px));padding-bottom:100px}.seller-journey-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 12px;padding:18px;border:1px solid #efcdbb;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#fff5ee 100%)}.seller-journey-hero small,.seller-journey-hero h1,.seller-journey-hero p{display:block;margin:0}.seller-journey-hero small{color:var(--orange-800);font-size:10px;font-weight:900;text-transform:uppercase}.seller-journey-hero h1{margin:3px 0;font-size:26px}.seller-journey-hero p{color:var(--ink-500);font-size:11px}.seller-journey-hero>span{padding:8px 11px;border-radius:999px;color:#fff;background:#278248;font-size:11px;font-weight:900}.seller-journey-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.seller-journey-kpis>div{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.seller-journey-kpis small,.seller-journey-kpis strong{display:block}.seller-journey-kpis small{color:var(--ink-500);font-size:10px}.seller-journey-kpis strong{margin-top:4px;font-size:23px}.seller-main-sale{display:flex;width:100%;min-height:55px;margin-bottom:12px;font-size:17px}.seller-stock-list{display:grid;gap:8px}.seller-stock-list article{display:grid;grid-template-columns:minmax(62px,.8fr) repeat(3,minmax(58px,1fr));align-items:center;gap:7px;padding:11px 12px;border:1px solid #eadfd8;border-radius:14px;background:#fffaf7}.seller-stock-list article>strong{font-size:18px}.seller-stock-list article>div{padding:7px;border-radius:10px;background:#fff;text-align:center}.seller-stock-list small,.seller-stock-list b{display:block}.seller-stock-list small{color:var(--ink-500);font-size:8px;text-transform:uppercase}.seller-stock-list b{margin-top:2px;font-size:16px}.seller-no-journey{display:grid;justify-items:center;text-align:center;margin-top:24px;padding:30px}.seller-no-journey-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:#fff;background:var(--orange-700);font-size:25px}.seller-no-journey h1{margin:14px 0 6px}.seller-no-journey p{max-width:420px;margin:0 0 18px;color:var(--ink-600);line-height:1.5}
.departures-shell{width:min(860px,calc(100% - 24px));padding-bottom:100px}.departures-top-card{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:16px 0;padding:20px;border:1px solid #efcdbb;border-radius:21px;background:linear-gradient(145deg,#fff 0%,#fff4ed 100%)}.departures-top-card h1{margin:3px 0 5px;font-size:clamp(28px,5vw,38px)}.departures-top-card p:last-child{margin:0;color:var(--ink-600)}.departures-section{margin-bottom:14px}.active-departure-list,.closed-departure-list{display:grid;gap:10px}.active-departure-card{padding:14px;border:1px solid #efb995;border-radius:18px;background:#fff}.active-departure-card>a:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;color:inherit;text-decoration:none}.active-departure-card>a:first-child>div:last-child{text-align:right}.active-departure-card small,.active-departure-card strong,.active-departure-card span{display:block}.active-departure-card> .button{display:flex;width:100%;margin-top:12px}.active-departure-card small{color:var(--ink-500);font-size:10px}.active-departure-card strong{margin:2px 0;font-size:18px}.active-departure-card span{color:var(--ink-600);font-size:11px}.closed-departures-section{padding:0;border:0;background:transparent}.closed-departures-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;list-style:none}.closed-departures-section>summary::-webkit-details-marker{display:none}.closed-departures-section>summary p,.closed-departures-section>summary strong,.closed-departures-section>summary small{display:block;margin:0}.closed-departures-section>summary small{color:var(--ink-500)}.closed-departure-list{margin-top:10px}.closed-departure-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;color:inherit;text-decoration:none}.closed-departure-card small,.closed-departure-card strong,.closed-departure-card span{display:block}.closed-departure-card span{margin-top:4px;color:var(--orange-800);font-size:11px;font-weight:900}.closed-departure-card>div:last-child{text-align:right}
.clean-journey-shell{width:min(820px,calc(100% - 24px));padding-bottom:100px}.clean-journey-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 12px;padding:17px;border:1px solid #efcdbb;border-radius:19px;background:#fffaf7}.clean-journey-header small,.clean-journey-header h1,.clean-journey-header p{display:block;margin:0}.clean-journey-header small{color:var(--ink-500);font-size:10px}.clean-journey-header h1{margin:3px 0;font-size:23px}.clean-journey-header p{color:var(--ink-600);font-size:11px}.clean-journey-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px}.clean-journey-totals>div{padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.clean-journey-totals small,.clean-journey-totals strong{display:block}.clean-journey-totals small{color:var(--ink-500);font-size:9px}.clean-journey-totals strong{margin-top:3px;font-size:21px}.clean-journey-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.clean-load-list{display:grid;gap:8px}.clean-load-list article{display:grid;grid-template-columns:minmax(58px,.8fr) repeat(3,minmax(62px,1fr));align-items:center;gap:7px;padding:11px;border:1px solid #eadfd8;border-radius:13px;background:#fffaf7}.clean-load-list article>strong{font-size:18px}.clean-load-list span{display:block;padding:7px;border-radius:9px;background:#fff;color:var(--ink-600);font-size:9px;text-align:center}.clean-load-list b{display:block;margin-top:2px;color:var(--ink-900);font-size:15px}.clean-invoice-details>summary,.clean-audit-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.clean-invoice-details>summary::-webkit-details-marker,.clean-audit-details>summary::-webkit-details-marker{display:none}.clean-invoice-details>summary strong,.clean-invoice-details>summary small,.clean-audit-details>summary strong,.clean-audit-details>summary small{display:block}.clean-invoice-details>summary small,.clean-audit-details>summary small{color:var(--ink-500)}.clean-invoice-details .operation-list,.clean-audit-details .clean-movement-list{margin-top:13px}.closed-sold-list,.closed-return-list{display:grid;gap:8px}.closed-sold-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid #eadfd8;border-radius:13px;background:#fffaf7}.closed-sold-list article>span{font-weight:900}.closed-sold-list article>strong{font-size:20px;color:var(--orange-800)}.closed-sold-list article>em{font-style:normal;font-weight:900}.closed-sale-footer{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#f3fbf5;color:#24663c;font-weight:900}.closed-return-list article{display:grid;grid-template-columns:minmax(58px,.8fr) repeat(3,minmax(62px,1fr));align-items:center;gap:7px;padding:11px;border:1px solid #e6ddd7;border-radius:13px}.closed-return-list article>strong{font-size:18px}.closed-return-list span{padding:7px;border-radius:9px;background:#f7f3f0;font-size:9px;text-align:center}.closed-return-list b{display:block;margin-top:2px;font-size:15px}.closed-money-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.closed-money-grid>div{padding:12px;border-radius:12px;background:#f7f3f0}.closed-money-grid small,.closed-money-grid strong{display:block}.closed-money-grid small{color:var(--ink-500);font-size:9px}.closed-money-grid strong{margin-top:3px;font-size:18px}.closed-result-line{margin:10px 0 0;padding:10px 12px;border-radius:11px;font-weight:900}.closed-result-line.is-clear{color:#24663c;background:#eaf7ee}.closed-result-line.has-alert{color:#8a5400;background:#fff1d9}.clean-movement-list{display:grid;gap:7px}.clean-movement-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:11px;background:#f7f3f0}.clean-movement-list strong,.clean-movement-list small{display:block}.clean-movement-list small{color:var(--ink-500);font-size:9px}
.settlement-wizard-shell{width:min(680px,calc(100% - 20px));padding-bottom:70px}.settlement-wizard-intro{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.settlement-wizard-intro>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.settlement-wizard-intro small,.settlement-wizard-intro strong{display:block}.settlement-wizard-intro small{color:var(--ink-500);font-size:9px}.settlement-wizard-intro strong{margin-top:3px;font-size:18px}.settlement-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.settlement-progress>span{display:grid;place-items:center;padding:8px;border-radius:12px;color:var(--ink-500);background:#ece8e5;font-weight:900}.settlement-progress>span.active{color:#fff;background:var(--orange-700)}.settlement-progress small{display:block;font-size:8px}.settlement-wizard-form{padding:18px}.settlement-step h1{margin:4px 0 5px;font-size:28px}.settlement-step>p:not(.eyebrow){margin:0 0 15px;color:var(--ink-600)}.settlement-input-list{display:grid;gap:9px;margin:15px 0}.settlement-input-list label{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:10px;padding:11px;border:1px solid #eadfd8;border-radius:13px;background:#fffaf7}.settlement-input-list strong,.settlement-input-list small{display:block}.settlement-input-list small{margin-top:2px;color:var(--ink-500);font-size:10px}.settlement-input-list input,.settlement-final-fields input,.settlement-final-fields textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #d9cec7;border-radius:11px;background:#fff;font:inherit}.settlement-next{display:flex;width:100%;margin-top:12px}.settlement-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.settlement-final-fields{display:grid;gap:12px;margin:15px 0}.settlement-final-fields label{display:grid;gap:7px;font-weight:800}.settlement-close-note{margin:12px 0;padding:11px;border-radius:11px;background:#fff1d9;color:#775000;line-height:1.4}
@media(max-width:720px){.seller-dashboard-status{align-items:stretch;flex-direction:column}.seller-dashboard-status .button{width:100%}.departures-top-card{align-items:stretch;flex-direction:column}.active-departure-card>a:first-child{grid-template-columns:1fr}.active-departure-card>a:first-child>div:last-child{text-align:left}.clean-journey-actions{grid-template-columns:1fr}.closed-departure-card{grid-template-columns:1fr}.closed-departure-card>div:last-child{text-align:left}.pwa-update-banner-visible{bottom:78px}}
@media(max-width:480px){.seller-stock-list article,.clean-load-list article,.closed-return-list article{grid-template-columns:1fr 1fr}.seller-stock-list article>strong,.clean-load-list article>strong,.closed-return-list article>strong{grid-column:1/-1}.clean-journey-totals{grid-template-columns:1fr 1fr}.clean-journey-totals>div:last-child{grid-column:1/-1}.closed-sold-list article{grid-template-columns:1fr auto}.closed-sold-list article>em{grid-column:1/-1;text-align:right}.settlement-input-list label{grid-template-columns:1fr}.closed-money-grid{grid-template-columns:1fr}.settlement-wizard-intro{grid-template-columns:1fr 1fr}}

/* v0.7.1 · alineación local/producción y trazabilidad operativa */
.operation-review-card{border-color:#efbf91;background:#fff8ed}.operation-review-card h2{margin:3px 0 7px}.operation-review-card p:last-child{margin-bottom:0;color:#76511f;line-height:1.45}
.expected-return-card{border-color:#dce8df;background:linear-gradient(145deg,#fff 0%,#f3fbf5 100%)}.expected-return-card h2{margin:3px 0 6px}.expected-return-list{display:grid;gap:8px;margin-top:13px}.expected-return-list article{display:grid;grid-template-columns:minmax(62px,.75fr) repeat(4,minmax(72px,1fr));align-items:center;gap:7px;padding:11px;border:1px solid #dce8df;border-radius:13px;background:#fff}.expected-return-list article>strong{font-size:18px}.expected-return-list span{display:block;padding:7px;border-radius:9px;background:#f4f8f5;color:var(--ink-600);font-size:9px;text-align:center}.expected-return-list b{display:block;margin-top:2px;color:var(--ink-900);font-size:15px}.expected-money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.expected-money-grid>div{padding:11px;border-radius:11px;background:#fff;border:1px solid #dce8df}.expected-money-grid small,.expected-money-grid strong{display:block}.expected-money-grid small{color:var(--ink-500);font-size:9px}.expected-money-grid strong{margin-top:3px;font-size:17px}.settlement-preview-card{margin:12px 0}.operation-alerts-page{padding-bottom:105px}.operation-alerts-hero{margin-top:18px}.operation-alerts-hero h1{margin:4px 0 8px}.operation-alert-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.operation-alert-list{display:grid;gap:10px;margin-top:14px}.operation-alert-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px;border:1px solid #e9e1dc;border-radius:16px;background:#fff}.operation-alert-item.pendiente{border-color:#efc48f;background:#fffaf2}.operation-alert-main{min-width:0;flex:1}.operation-alert-main h3{margin:7px 0 5px}.operation-alert-main p{margin:0 0 7px;line-height:1.45}.operation-alert-main small{color:var(--ink-500);line-height:1.45}.operation-alert-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.operation-alert-actions form{margin:0}
@media(max-width:760px){.expected-return-list article{grid-template-columns:1fr 1fr}.expected-return-list article>strong{grid-column:1/-1}.expected-money-grid{grid-template-columns:1fr 1fr}.operation-alert-item{display:grid}.operation-alert-actions{justify-content:stretch}.operation-alert-actions .button,.operation-alert-actions form{width:100%}.operation-alert-actions button{width:100%}}

/* v0.7.3.0 · operación rápida multivehículo y liquidación asistida */
.departures-control-shell{width:min(1180px,calc(100% - 28px));padding-bottom:105px}
.departures-command-card{margin:18px 0 16px;padding:20px;border:1px solid #efcdbb;border-radius:22px;background:linear-gradient(145deg,#fffaf7,#fff);box-shadow:0 14px 35px rgba(93,52,31,.07)}
.departures-command-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.departures-command-heading h1{margin:4px 0 6px;font-size:clamp(26px,4vw,39px)}.departures-command-heading p:last-child{margin:0;color:var(--ink-600)}
.departures-search-field{display:grid;gap:7px;margin-top:16px}.departures-search-field>span{font-size:12px;font-weight:900}.departures-search-field input,.dispatch-vehicle-search input{width:100%;min-height:50px;padding:12px 15px;border:1px solid #d9cec7;border-radius:14px;background:#fff;font:inherit;box-shadow:0 6px 18px rgba(52,34,24,.04)}
.departures-search-field input:focus,.dispatch-vehicle-search input:focus{outline:none;border-color:var(--orange-600);box-shadow:0 0 0 4px rgba(200,77,22,.11)}
.departures-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.departures-status-grid a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border:1px solid #eadfd8;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.departures-status-grid small{color:var(--ink-500);font-weight:800}.departures-status-grid strong{font-size:23px}
.departures-board-section{margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}.departures-board-section.priority{border-color:#efc48f;background:#fffaf2}.departures-board-section .compact-section-heading h2{margin:3px 0 5px}.departures-board-section .compact-section-heading p:last-child{margin:0;color:var(--ink-500)}
.departures-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:13px}.departure-control-card{display:grid;gap:12px;padding:15px;border:1px solid #e8ddd6;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(48,32,22,.04)}.departure-control-card.returned{border-color:#efc48f}.departure-control-card.route{border-color:#e6d8cf}.departure-control-card.available{background:#fbfdfb;border-color:#d8e8dc}
.departure-control-main{min-width:0}.departure-control-main .operation-status{float:right}.departure-control-main small,.departure-control-main h3,.departure-control-main p{display:block;margin:0}.departure-control-main small{color:var(--orange-800);font-size:10px;font-weight:900}.departure-control-main h3{margin:4px 0;font-size:21px}.departure-control-main p{color:var(--ink-600);font-size:12px}
.departure-control-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.departure-control-metrics.two{grid-template-columns:repeat(2,minmax(0,1fr))}.departure-control-metrics span{padding:9px;border-radius:11px;background:#f7f3f0;text-align:center}.departure-control-metrics small,.departure-control-metrics strong{display:block}.departure-control-metrics small{color:var(--ink-500);font-size:9px}.departure-control-metrics strong{margin-top:2px;font-size:16px}.departure-products-line{margin:0;padding:9px 10px;border-radius:10px;background:#fff7f1;color:var(--orange-800);font-size:11px;font-weight:800;line-height:1.35}
.departure-control-actions{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,1.4fr);gap:8px}.departure-control-actions.single{grid-template-columns:1fr}.departure-control-actions form{margin:0}.departure-control-actions .button,.departure-control-actions button{width:100%;min-height:44px}
.available-board>summary{cursor:pointer;list-style:none}.available-board>summary::-webkit-details-marker{display:none}.available-board>summary>span{display:flex;align-items:center;gap:12px}.available-board[open]>summary b{transform:rotate(180deg)}.available-board summary b{transition:transform .18s ease}.section-empty{margin-top:12px}.departures-no-results{display:grid;gap:5px;margin:18px 0;padding:22px;border:1px dashed #d8c8be;border-radius:18px;background:#fff;text-align:center}.departures-no-results span{color:var(--ink-500)}
.dispatch-vehicle-search{display:grid;gap:7px;margin-bottom:15px}.dispatch-vehicle-search>span{font-weight:900}.dispatch-vehicle-search small{color:var(--ink-500)}
.settlement-all-match{width:100%;margin-top:13px}.settlement-all-match-note{margin:7px 0 0!important;color:var(--ink-500)!important;font-size:11px;text-align:center}.settlement-input-list label{position:relative}.settlement-difference{display:block;grid-column:2;margin-top:-5px;font-size:10px;font-style:normal;font-weight:900;text-align:right}.settlement-difference.is-match{color:#247044}.settlement-difference.has-difference{color:#a04418}.settlement-final-fields .settlement-difference{margin-top:0;text-align:left}.seller-returned-note{margin:12px 0}

@media(max-width:820px){.departures-card-grid{grid-template-columns:1fr}.departures-control-shell{width:min(100% - 18px,760px)}}
@media(max-width:620px){.departures-command-heading{align-items:stretch;flex-direction:column}.departures-command-heading .button{width:100%}.departures-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.departures-status-grid a{align-items:flex-start;flex-direction:column;padding:10px}.departures-status-grid strong{font-size:20px}.departures-board-section{padding:14px}.departure-control-actions{grid-template-columns:1fr}.settlement-difference{grid-column:1;text-align:left}.departure-control-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:400px){.departures-status-grid{grid-template-columns:1fr}.departures-status-grid a{align-items:center;flex-direction:row}.departure-control-metrics{grid-template-columns:1fr 1fr}.departure-control-metrics span:last-child{grid-column:1/-1}}
.clean-journey-actions form{margin:0}.clean-journey-actions form .button{width:100%;height:100%}.clean-journey-actions>:only-child{grid-column:1/-1}.departure-control-actions>.button:only-child{grid-column:1/-1}


/* v0.7.3.0 — selección compacta y continuidad del flujo */
.compact-fleet-shell{width:min(1040px,calc(100% - 28px))}.fleet-command-card{margin:18px 0 12px;padding:18px;border:1px solid #efcdbb;border-radius:20px;background:linear-gradient(145deg,#fffaf7,#fff)}.fleet-command-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.fleet-command-heading h1{margin:3px 0 5px;font-size:clamp(25px,4vw,36px)}.fleet-command-heading p:last-child{margin:0;color:var(--ink-600)}.fleet-filter-bar{display:flex;gap:7px;overflow-x:auto;margin-top:10px;padding-bottom:2px;scrollbar-width:none}.fleet-filter-bar::-webkit-scrollbar{display:none}.fleet-filter-bar button{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #e2d7d0;border-radius:999px;background:#fff;color:var(--ink-700);font:inherit;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}.fleet-filter-bar button.is-active{border-color:var(--orange-700);background:var(--orange-700);color:#fff}.fleet-filter-bar b{font-size:10px}.fleet-kpis{margin:11px 0}.compact-fleet-card{padding:17px}.fleet-compact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.fleet-compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #e7ddd7;border-radius:15px;background:#fff;overflow:hidden}.fleet-compact-row.is-inactive{opacity:.62}.fleet-compact-main{display:grid;grid-template-columns:38px minmax(0,1fr) auto 12px;align-items:center;gap:10px;min-width:0;padding:11px;color:inherit;text-decoration:none}.fleet-avatar,.dispatch-picker-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff0e8;color:var(--orange-800);font-size:15px;font-weight:900}.fleet-compact-copy{min-width:0}.fleet-compact-copy strong,.fleet-compact-copy small,.fleet-compact-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-compact-copy strong{font-size:15px}.fleet-compact-copy small{margin-top:2px;color:var(--ink-600);font-size:10px}.fleet-compact-copy em{margin-top:3px;color:var(--ink-500);font-size:9px;font-style:normal}.fleet-compact-main>.operation-status{font-size:9px}.fleet-compact-main>b{color:var(--orange-700);font-size:22px}.fleet-edit-link{display:grid;place-items:center;align-self:stretch;padding:0 11px;border-left:1px solid #eee4de;color:var(--orange-800);font-size:10px;font-weight:900;text-decoration:none}.fleet-edit-link:hover{background:#fff7f1}
.dispatch-picker-list{display:grid;gap:7px;max-height:390px;overflow:auto;padding:3px 4px 3px 0;scrollbar-width:thin}.dispatch-picker-row{display:grid!important;grid-template-columns:38px minmax(0,1fr) 26px;align-items:center;gap:10px;padding:10px 11px!important;border:1px solid #e6ddd7;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.dispatch-picker-row:hover{border-color:#d69a78;background:#fffaf7}.dispatch-picker-row:has(input:checked){border-color:var(--orange-700);background:#fff4ed;box-shadow:0 0 0 2px rgba(200,77,22,.08)}.dispatch-picker-row.is-disabled{opacity:.55;cursor:not-allowed}.dispatch-picker-row>input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important}.dispatch-picker-copy{min-width:0}.dispatch-picker-copy strong,.dispatch-picker-copy small,.dispatch-picker-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-picker-copy strong{font-size:15px}.dispatch-picker-copy small{margin-top:2px;color:var(--ink-600);font-size:10px}.dispatch-picker-copy em{margin-top:3px;color:var(--ink-500);font-size:9px;font-style:normal}.dispatch-picker-check{display:grid;place-items:center;width:24px;height:24px;border:1px solid #ddd1c9;border-radius:999px;color:transparent;font-weight:900}.dispatch-picker-row:has(input:checked) .dispatch-picker-check{border-color:var(--orange-700);background:var(--orange-700);color:#fff}.dispatch-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #d7eadc;border-radius:14px;background:#f3fbf5}.dispatch-selection-summary small,.dispatch-selection-summary strong{display:block}.dispatch-selection-summary small{color:#23713f;font-size:9px;font-weight:900;text-transform:uppercase}.dispatch-selection-summary strong{margin-top:2px}.dispatch-selection-summary a{color:#23713f;font-size:11px;font-weight:900}.dispatch-secondary-fields{margin-top:-4px}.compact-dispatch-shell .operations-form{padding:18px}.sticky-form-actions{position:sticky;z-index:8;bottom:10px;padding:10px;border:1px solid #eadfd8;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(50,32,22,.13);backdrop-filter:blur(10px)}
.departure-control-card.compact{gap:8px;padding:12px}.departure-control-card.compact .departure-control-main h3{font-size:17px}.departure-control-card.compact .departure-control-main p{font-size:10px}.departure-control-card.compact .departure-control-metrics span{padding:7px}.departure-control-card.compact .departure-control-metrics strong{font-size:14px}.departure-control-card.compact .departure-control-actions .button,.departure-control-card.compact .departure-control-actions button{min-height:39px;padding:8px 10px;font-size:11px}.departure-control-card.compact.available{grid-template-columns:minmax(0,1fr) auto;align-items:center}.departure-control-card.compact.available .departure-control-actions{min-width:112px}
.operation-complete-panel{display:grid;gap:11px;margin:14px 0;padding:14px;border:1px solid #bfe4cd;border-radius:17px;background:#effaf3}.operation-complete-panel>div{display:flex;align-items:center;gap:10px}.operation-complete-panel>div>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#1d8a50;color:#fff;font-size:20px;font-weight:900}.operation-complete-panel p,.operation-complete-panel strong,.operation-complete-panel small{display:block;margin:0}.operation-complete-panel small{margin-top:2px;color:#356448}.operation-complete-panel nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invoice-complete-panel{margin-top:0}.process-return-links{display:flex;gap:7px;overflow-x:auto;margin:9px 0 12px;scrollbar-width:none}.process-return-links::-webkit-scrollbar{display:none}.process-return-links a{padding:8px 11px;border:1px solid #e5dad3;border-radius:999px;background:#fff;color:var(--ink-700);font-size:10px;font-weight:900;text-decoration:none;white-space:nowrap}
@media(max-width:760px){.fleet-command-heading{align-items:stretch;flex-direction:column}.fleet-command-heading .button{width:100%}.fleet-compact-list{grid-template-columns:1fr}.fleet-compact-main{grid-template-columns:36px minmax(0,1fr) auto 10px}.fleet-compact-main>.operation-status{max-width:86px;text-align:center}.compact-fleet-card{padding:13px}.dispatch-picker-list{max-height:330px}.compact-dispatch-shell .operations-form{padding:14px}.sticky-form-actions{bottom:72px}.operation-complete-panel nav{grid-template-columns:1fr}.departure-control-card.compact.available{grid-template-columns:1fr}.departure-control-card.compact.available .departure-control-actions{min-width:0}}
@media(max-width:430px){.fleet-compact-main{grid-template-columns:34px minmax(0,1fr) 10px}.fleet-compact-main>.operation-status{grid-column:2;justify-self:start;margin-top:3px}.fleet-compact-main>b{grid-column:3;grid-row:1/3}.fleet-edit-link{padding:0 8px}.dispatch-picker-row{grid-template-columns:36px minmax(0,1fr) 24px}.dispatch-selection-summary{align-items:flex-start;flex-direction:column}}

/* v0.7.3.0 — navegación limpia, alias y continuidad operativa */
.commercial-actions-clean{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch}
.commercial-actions-clean>.commercial-action-primary{grid-column:auto}
.commercial-operation-menu{border:1px solid #efd9cc;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#fff8f3 100%);overflow:hidden;box-shadow:0 14px 34px rgba(79,43,25,.06)}
.commercial-operation-menu>summary{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:92px;padding:18px;color:var(--ink-900);cursor:pointer;list-style:none}
.commercial-operation-menu>summary::-webkit-details-marker{display:none}
.commercial-operation-menu>summary strong,.commercial-operation-menu>summary small{display:block}
.commercial-operation-menu>summary strong{font-size:20px;line-height:1.2}
.commercial-operation-menu>summary small{margin-top:5px;color:var(--ink-600);font-size:12px}
.commercial-operation-menu>summary>b{color:var(--orange-700);font-size:23px;transition:transform .18s ease}
.commercial-operation-menu[open]>summary>b{transform:rotate(180deg)}
.commercial-operation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}
.commercial-operation-options>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;border:1px solid #eadfd8;border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.commercial-operation-options>a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:var(--orange-800);background:#fff0e8;font-weight:900}
.commercial-operation-options strong,.commercial-operation-options small{display:block}
.commercial-operation-options strong{font-size:14px}.commercial-operation-options small{margin-top:2px;color:var(--ink-500);font-size:10px;line-height:1.35}.commercial-operation-options b{color:var(--orange-700);font-size:20px}
.fleet-header-actions{display:flex;margin-left:auto}.fleet-list-heading>strong{display:grid;place-items:center;min-width:34px;height:28px;padding:0 10px;border-radius:999px;background:#fff0e8;color:var(--orange-800);font-size:11px}
.fleet-alias,.dispatch-alias{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;color:var(--orange-800);font-size:10px;font-weight:800}
.fleet-compact-row.is-highlighted{border-color:#28a264;box-shadow:0 0 0 3px rgba(40,162,100,.14);animation:vehicle-highlight-pulse 1.2s ease-in-out 2}
@keyframes vehicle-highlight-pulse{50%{transform:translateY(-1px);box-shadow:0 0 0 5px rgba(40,162,100,.11)}}
.vehicle-detail-shell{padding-bottom:100px}.vehicle-next-action-card{margin-bottom:16px}.vehicle-next-actions{display:flex;gap:9px;flex-wrap:wrap}.vehicle-next-actions .button{min-width:155px}.vehicle-detail-hero{margin-bottom:14px}
.dispatch-header-actions{display:flex;margin-left:auto}.compact-dispatch-shell #dispatch-validation-error{position:sticky;z-index:11;top:72px}

@media(max-width:760px){
  .commercial-actions-clean{grid-template-columns:1fr}.commercial-actions-clean>.commercial-action-primary{grid-column:1/-1}
  .commercial-operation-menu>summary{min-height:82px;padding:14px;grid-template-columns:44px minmax(0,1fr) auto}.commercial-operation-menu>summary strong{font-size:17px}.commercial-operation-menu>summary small{font-size:10px}
  .commercial-operation-options{grid-template-columns:1fr}.fleet-header-actions .button{padding:8px 10px;font-size:10px}.vehicle-next-actions{display:grid;grid-template-columns:1fr}.vehicle-next-actions .button{width:100%}.dispatch-header-actions .button{padding:7px 9px;font-size:9px}
}
@media(max-width:430px){.fleet-header-actions .button{min-width:auto}.commercial-operation-options>a{grid-template-columns:32px minmax(0,1fr) auto}}
.departure-responsible-alias{display:block;margin:2px 0 3px;color:var(--orange-800);font-size:10px;font-weight:800}

/* ==========================================================
   Roscogas Ventas v0.7.3.0 · ubicación operativa y mapa
   ========================================================== */
.location-consent-banner{position:fixed;z-index:1200;right:18px;bottom:86px;left:18px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;width:min(760px,calc(100% - 36px));margin:auto;padding:15px 16px;border:1px solid #f0c7af;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(61,36,24,.22)}
.location-consent-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--orange-800),var(--orange-500));font-size:25px;font-weight:900}
.location-consent-copy strong,.location-consent-copy span{display:block}.location-consent-copy strong{font-size:15px}.location-consent-copy span{margin-top:4px;color:var(--ink-500);font-size:11px;line-height:1.45}.location-consent-actions{display:flex;gap:8px}
.location-status-badge{position:fixed;z-index:1100;right:16px;bottom:82px;max-width:min(330px,calc(100% - 32px));padding:9px 12px;border:1px solid transparent;border-radius:999px;box-shadow:0 10px 28px rgba(31,23,19,.16);font:inherit;font-size:10px;font-weight:900;cursor:default}.location-status-badge:disabled{opacity:1}.location-status-badge.is-success{color:#205e37;border-color:#bee1ca;background:#eaf7ee}.location-status-badge.is-warning{color:#744812;border-color:#f0d39e;background:#fff4df}.location-status-badge.is-danger{color:#8d302a;border-color:#efc2be;background:#fff0ef}.location-status-badge.is-neutral{color:var(--ink-700);border-color:#ded7d2;background:#fff}
.operation-map-shell{padding-bottom:110px}.operation-map-intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.operation-map-intro h1{margin:2px 0 5px}.operation-map-intro p{margin:0;color:var(--ink-500)}
.operation-map-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.operation-map-summary>article{padding:14px;border:1px solid #eadfd8;border-radius:16px;background:#fff}.operation-map-summary small,.operation-map-summary strong{display:block}.operation-map-summary small{color:var(--ink-500);font-size:9px;font-weight:900;text-transform:uppercase}.operation-map-summary strong{margin-top:3px;font-size:22px}
.operation-map-filters{position:sticky;z-index:20;top:65px;display:flex;gap:7px;overflow-x:auto;padding:8px 0;background:rgba(247,245,243,.95);backdrop-filter:blur(10px);scrollbar-width:none}.operation-map-filters::-webkit-scrollbar{display:none}.operation-map-filters button{flex:0 0 auto;padding:8px 12px;border:1px solid #ded6d1;border-radius:999px;color:var(--ink-700);background:#fff;font:inherit;font-size:10px;font-weight:900}.operation-map-filters button.active{color:#fff;border-color:var(--orange-800);background:var(--orange-800)}
.operation-map-card{padding:8px}.operation-map-canvas{width:100%;height:clamp(360px,58vh,650px);border-radius:16px;background:#eee8e3;overflow:hidden}.operation-map-list{display:grid;gap:8px}.operation-map-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #e8ddd6;border-radius:14px;background:#fff;cursor:pointer;transition:.18s ease}.operation-map-row:hover,.operation-map-row:focus-visible{border-color:#e7b495;background:#fff8f3;transform:translateY(-1px)}.operation-map-dot{width:10px;height:10px;border-radius:50%;background:#9d948e;box-shadow:0 0 0 4px rgba(157,148,142,.12)}.operation-map-dot.is-fresh{background:#15945d;box-shadow:0 0 0 4px rgba(21,148,93,.14)}.operation-map-dot.is-stale{background:#e09a22;box-shadow:0 0 0 4px rgba(224,154,34,.16)}.operation-map-dot.is-missing{background:#a39a94}.operation-map-row-main{min-width:0}.operation-map-row-main strong,.operation-map-row-main small{display:block}.operation-map-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-map-row-main small{margin-top:3px;color:var(--ink-500);font-size:10px}.operation-map-row aside{text-align:right}.operation-map-row aside strong,.operation-map-row aside small{display:block}.operation-map-row aside strong{font-size:11px}.operation-map-row aside small{margin-top:3px;color:var(--ink-500);font-size:9px}.operation-map-privacy-note{display:flex;align-items:flex-start;gap:12px;color:#405446;background:#f3faf5;border-color:#cfe5d5}.operation-map-privacy-note>span{font-size:22px}.operation-map-privacy-note strong,.operation-map-privacy-note small{display:block}.operation-map-privacy-note small{margin-top:4px;line-height:1.45}.operation-map-popup strong,.operation-map-popup span,.operation-map-popup small{display:block}.operation-map-popup span{margin-top:3px}.operation-map-popup small{margin-top:5px;color:#675f5a}.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-control-attribution{font-size:8px!important}
.operation-next-step{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #f0c7af;border-radius:16px;background:linear-gradient(135deg,#fff8f3,#fff)}.operation-next-step strong,.operation-next-step span{display:block}.operation-next-step strong{color:var(--orange-800);font-size:13px}.operation-next-step span{margin-top:2px;color:var(--ink-500);font-size:10px}
@media(max-width:760px){.location-consent-banner{grid-template-columns:42px minmax(0,1fr);bottom:78px;padding:13px}.location-consent-icon{width:42px;height:42px}.location-consent-actions{grid-column:1/-1}.location-consent-actions .button{flex:1}.operation-map-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-map-intro{align-items:stretch;flex-direction:column}.operation-map-canvas{height:52vh;min-height:360px}.operation-map-filters{top:58px}.operation-map-row{grid-template-columns:10px minmax(0,1fr)}.operation-map-row aside{grid-column:2;text-align:left}.operation-next-step{align-items:stretch;flex-direction:column}.operation-next-step .button{width:100%}}

/* ==========================================================
   Roscogas Ventas v0.7.3.0 · mapa local y vista compacta
   ========================================================== */
.operation-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px}.operation-map-toolbar-copy{min-width:0}.operation-map-toolbar h1{margin:2px 0 3px;font-size:24px}.operation-map-toolbar p{margin:0;color:var(--ink-500);font-size:11px}.operation-map-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.operation-map-summary>article{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:14px}.operation-map-summary>article strong{order:2;margin:0;font-size:21px}.operation-map-summary>article small{order:1;font-size:8px}.operation-map-controls-row{position:sticky;z-index:28;top:58px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:7px 0;background:rgba(247,245,243,.96);backdrop-filter:blur(10px)}.operation-map-view-switch{display:flex;padding:3px;border:1px solid #ddd5cf;border-radius:999px;background:#fff}.operation-map-view-switch button{min-width:68px;padding:7px 11px;border:0;border-radius:999px;color:var(--ink-600);background:transparent;font:inherit;font-size:10px;font-weight:900}.operation-map-view-switch button.active{color:#fff;background:var(--orange-800)}.operation-map-filters{position:static;top:auto;padding:0;background:transparent;backdrop-filter:none}.operation-map-card{padding:7px}.operation-map-canvas{height:clamp(350px,58vh,620px);min-height:350px;background:#e9e4df}.operation-map-surface{position:relative;width:100%;height:100%;overflow:hidden;border-radius:14px;background-color:#eee9e4;background-image:linear-gradient(rgba(121,112,104,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(121,112,104,.08) 1px,transparent 1px);background-size:32px 32px;touch-action:none;cursor:grab;user-select:none}.operation-map-surface.is-dragging,.operation-map-surface.is-pinching{cursor:grabbing}.operation-map-tiles,.operation-map-routes,.operation-map-markers{position:absolute;inset:0}.operation-map-tile{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none}.operation-map-routes{z-index:3;overflow:visible;pointer-events:none}.operation-map-route-line{fill:none;stroke:#c84d16;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(78,42,24,.25))}.operation-map-markers{z-index:5;pointer-events:none}.operation-map-marker{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:18px;height:18px;padding:0;border:3px solid #fff;border-radius:50%;background:#c84d16;box-shadow:0 3px 10px rgba(58,34,22,.35);pointer-events:auto;cursor:pointer}.operation-map-marker.is-vehicle{width:24px;height:24px}.operation-map-marker.is-route{background:#c84d16}.operation-map-marker.is-returning{background:#c18a10}.operation-map-marker.is-stale{background:#7f7872}.operation-map-marker.is-without{background:#aaa39e}.operation-map-marker.is-sale{width:16px;height:16px;background:#15805d}.operation-map-marker.is-start{background:#1b5eaa}.operation-map-marker.is-last{width:20px;height:20px;background:#c84d16}.operation-map-marker.is-route-point{width:10px;height:10px;border-width:2px;background:#e7a06f}.operation-map-tile-warning{position:absolute;z-index:8;top:10px;right:52px;left:10px;padding:8px 10px;border:1px solid #e4c993;border-radius:10px;color:#754613;background:rgba(255,245,224,.95);font-size:9px;font-weight:800;line-height:1.35}.operation-map-empty-state{position:absolute;z-index:6;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(320px,calc(100% - 46px));padding:16px;border:1px solid rgba(214,203,195,.9);border-radius:16px;text-align:center;background:rgba(255,255,255,.92);box-shadow:0 12px 32px rgba(50,36,28,.12)}.operation-map-empty-state strong,.operation-map-empty-state span{display:block}.operation-map-empty-state span{margin-top:5px;color:var(--ink-500);font-size:10px;line-height:1.45}.operation-map-popup-card{position:absolute;z-index:12;right:12px;bottom:12px;left:12px;padding:13px 40px 13px 14px;border:1px solid #e3d7cf;border-radius:15px;background:#fff;box-shadow:0 16px 38px rgba(48,31,22,.24)}.operation-map-popup-card strong,.operation-map-popup-card span,.operation-map-popup-card small{display:block}.operation-map-popup-card span{margin-top:3px;font-size:11px}.operation-map-popup-card small{margin-top:4px;color:var(--ink-500);font-size:9px}.operation-map-popup-close{position:absolute;top:8px;right:9px;width:27px;height:27px;border:0;border-radius:50%;background:#f2ece8;color:var(--ink-700);font-size:20px;line-height:1}.operation-map-popup-actions{display:flex;gap:8px;margin-top:10px}.operation-map-popup-actions a,.operation-map-popup-actions button{flex:1;padding:8px 10px;border:1px solid #e1d5ce;border-radius:10px;color:var(--orange-800);background:#fff;font:inherit;font-size:10px;font-weight:900;text-align:center;text-decoration:none}.operation-map-popup-actions button:disabled{opacity:.45}.operation-map-gesture-hint{position:absolute;z-index:9;top:10px;left:10px;max-width:calc(100% - 82px);padding:6px 9px;border:1px solid rgba(217,205,197,.9);border-radius:999px;color:#5f5650;background:rgba(255,255,255,.9);box-shadow:0 4px 12px rgba(43,29,21,.09);font-size:8px;font-weight:850;line-height:1.2;pointer-events:none}.operation-map-zoom{position:absolute;z-index:10;top:10px;right:10px;display:grid;gap:6px}.operation-map-zoom button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ddd4ce;border-radius:11px;color:var(--ink-800);background:rgba(255,255,255,.96);box-shadow:0 5px 14px rgba(43,29,21,.14);font:inherit;font-size:19px;font-weight:900}.operation-map-attribution{position:absolute;z-index:7;right:6px;bottom:5px;padding:2px 5px;border-radius:5px;color:#5f5954;background:rgba(255,255,255,.78);font-size:7px}.operation-map-list-card{padding:15px}.operation-map-row{grid-template-columns:10px minmax(0,1fr) auto;padding:10px 11px}.operation-map-row-main{border:0;background:transparent;text-align:left;color:inherit}.operation-map-row-main span{display:block;margin-top:2px;font-size:10px}.operation-map-dot.is-route{background:#c84d16;box-shadow:0 0 0 4px rgba(200,77,22,.13)}.operation-map-dot.is-returning{background:#c18a10;box-shadow:0 0 0 4px rgba(193,138,16,.13)}.operation-map-dot.is-stale{background:#7f7872;box-shadow:0 0 0 4px rgba(127,120,114,.12)}.operation-map-dot.is-without{background:#aaa39e}.is-view-hidden{display:none!important}

@media(min-width:900px){.operation-map-zoom{top:10px}.operation-map-zoom button{width:40px;height:40px}.operation-map-view-switch{display:none}.operation-map-controls-row{grid-template-columns:1fr}.operation-map-card,.operation-map-list-card{display:block!important}.operation-map-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:12px}.operation-map-toolbar,.operation-map-summary,.operation-map-controls-row,.operation-map-privacy-note{grid-column:1/-1}.operation-map-list-card{align-self:start;max-height:620px;overflow:auto}.operation-map-canvas{height:620px}}
@media(max-width:760px){.operation-map-shell{padding-top:10px}.operation-map-toolbar{padding:13px 14px}.operation-map-toolbar h1{font-size:20px}.operation-map-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.operation-map-summary>article{display:block;padding:8px 7px;text-align:center}.operation-map-summary>article strong{font-size:19px}.operation-map-summary>article small{margin-top:1px;font-size:7px}.operation-map-controls-row{grid-template-columns:1fr;gap:7px}.operation-map-view-switch{justify-self:start}.operation-map-filters{width:100%}.operation-map-canvas{height:46vh;min-height:340px}.operation-map-row{grid-template-columns:9px minmax(0,1fr) auto}.operation-map-row .button{padding:7px 8px;font-size:8px}.operation-map-popup-card{bottom:9px}.operation-map-privacy-note{padding:12px}.operation-map-privacy-note small{font-size:9px}.operation-map-zoom{top:64px;right:9px}.operation-map-zoom button{width:44px;height:44px;font-size:22px}.operation-map-gesture-hint{top:10px;right:9px;max-width:calc(100% - 18px);font-size:8px}}
@media(max-width:430px){.operation-map-toolbar-copy .eyebrow{font-size:8px}.operation-map-toolbar p{font-size:9px}.operation-map-canvas{height:390px;min-height:390px}.operation-map-view-switch button{min-width:62px}.operation-map-filters button{padding:7px 10px;font-size:9px}.operation-map-row{grid-template-columns:9px minmax(0,1fr)}.operation-map-row>.button{grid-column:2;justify-self:start}.operation-map-popup-actions{flex-direction:column}}

/* v0.7.3.0 — Centro de operación en vivo */
.operation-live-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.operation-live-alert,.operation-live-alert-empty{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 12px;border:1px solid #ded6d0;border-radius:14px;text-align:left;background:#fff;color:var(--ink-800)}
.operation-live-alert{cursor:pointer;font:inherit}.operation-live-alert>span,.operation-live-alert-empty>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;font-weight:950}
.operation-live-alert div,.operation-live-alert-empty div{min-width:0}.operation-live-alert strong,.operation-live-alert small,.operation-live-alert-empty strong,.operation-live-alert-empty small{display:block}.operation-live-alert strong,.operation-live-alert-empty strong{font-size:11px}.operation-live-alert small,.operation-live-alert-empty small{margin-top:3px;color:var(--ink-500);font-size:9px;line-height:1.35}
.operation-live-alert.is-danger{border-color:#efc4bd;background:#fff7f5}.operation-live-alert.is-danger>span{color:#a63224;background:#fee1dc}
.operation-live-alert.is-warning{border-color:#ead39f;background:#fffaf0}.operation-live-alert.is-warning>span{color:#8b5a08;background:#fbeac1}
.operation-live-alert-empty{border-color:#cfe5d5;background:#f4fbf6}.operation-live-alert-empty>span{color:#12724d;background:#dff2e5}
.operation-route-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.operation-route-summary>article{padding:9px 10px;border:1px solid #e5d8d0;border-radius:13px;background:#fff}.operation-route-summary small,.operation-route-summary strong{display:block}.operation-route-summary small{color:var(--ink-500);font-size:8px;font-weight:850;text-transform:uppercase}.operation-route-summary strong{margin-top:3px;font-size:13px}
.operation-live-status-line{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.operation-live-badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;font-size:8px;font-weight:900;line-height:1}.operation-live-badge.is-route{color:#9e3b12;background:#fff0e8}.operation-live-badge.is-returning{color:#77520b;background:#fff4d7}.operation-live-badge.is-success{color:#126c48;background:#def3e6}.operation-live-badge.is-warning{color:#7e5609;background:#fcecc8}.operation-live-badge.is-danger{color:#9f3024;background:#fee0db}.operation-live-badge.is-neutral{color:#655e59;background:#eee9e5}
.operation-live-popup-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.operation-live-popup-metrics>span{padding:7px 8px;border:1px solid #ece2dc;border-radius:10px;background:#faf8f6}.operation-live-popup-metrics strong,.operation-live-popup-metrics small{display:block!important;margin:0!important}.operation-live-popup-metrics strong{font-size:11px}.operation-live-popup-metrics small{margin-top:2px!important;font-size:7px!important;text-transform:uppercase}.operation-live-last-sale{margin-top:8px!important;line-height:1.35}.operation-live-popup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.operation-live-popup-actions a,.operation-live-popup-actions button{min-width:0}
.operation-live-row{grid-template-columns:10px minmax(0,1fr);align-items:start}.operation-live-row-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.operation-live-row-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-live-gps{font-weight:850}.operation-live-gps.is-success{color:#15744f}.operation-live-gps.is-warning{color:#8b5d0a}.operation-live-gps.is-danger{color:#a33628}.operation-live-gps.is-neutral{color:var(--ink-500)}.operation-live-row-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.operation-live-row-actions .button{padding:7px 9px;font-size:8px}
.operation-map-marker.is-fresh{background:#15945d}.operation-map-marker.is-delayed{background:#e09a22}.operation-map-marker.is-old{background:#c23b2e}.operation-map-dot.is-fresh{background:#15945d;box-shadow:0 0 0 4px rgba(21,148,93,.14)}.operation-map-dot.is-delayed{background:#e09a22;box-shadow:0 0 0 4px rgba(224,154,34,.14)}.operation-map-dot.is-old{background:#c23b2e;box-shadow:0 0 0 4px rgba(194,59,46,.14)}
.operation-map-summary>article:last-child strong{font-size:14px;white-space:nowrap}
@media(max-width:760px){.operation-live-alerts{grid-template-columns:1fr}.operation-route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-live-popup-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-live-row-actions{grid-column:2}.operation-map-summary>article:last-child strong{font-size:11px}}
@media(max-width:430px){.operation-live-popup-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-live-popup-actions{grid-template-columns:1fr 1fr}.operation-route-summary strong{font-size:11px}}


/* ==========================================================
   v0.7.3.0 · recorrido GPS fiel, usuarios móviles y venta ágil
   ========================================================== */
.operation-map-route-gap {
    fill: none;
    stroke: #7f7872;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-dasharray: 10 9;
    opacity: .78;
}
.operation-route-quality-note {
    grid-column: 1 / -1;
    margin: 0;
    padding: 9px 11px;
    border-radius: 11px;
    color: #496455;
    background: #eef8f1;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.4;
}
.operation-route-quality-note.has-gaps {
    color: #7c540f;
    background: #fff3d9;
}
.commercial-kpi-state {
    font-size: clamp(18px, 4vw, 28px) !important;
    line-height: 1.05;
}

@media (max-width: 720px) {
    .users-page .dashboard-shell {
        width: min(100%, calc(100% - 20px));
        padding-right: 0;
        padding-left: 0;
    }
    .users-page .table-card,
    .users-page .responsive-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }
    .users-page .users-channel-table,
    .users-page .users-smart-table {
        width: 100%;
        min-width: 0 !important;
        table-layout: fixed;
    }
    .users-page .users-smart-table tbody {
        display: grid;
        gap: 12px;
        width: 100%;
    }
    .users-page .users-smart-table tr {
        display: grid;
        width: 100%;
        padding: 14px;
        border: 1px solid #e8ddd6;
        border-radius: 17px;
        background: #fff;
        box-shadow: 0 7px 20px rgba(65,42,30,.05);
    }
    .users-page .users-smart-table td {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        width: 100%;
        min-width: 0;
        padding: 10px 0;
        border-bottom: 1px solid #f0ece9;
        overflow: visible;
    }
    .users-page .users-smart-table td:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }
    .users-page .users-smart-table td::before {
        display: block;
        margin: 0;
        font-size: 9px;
    }
    .users-page .user-identity-cell {
        width: 100%;
        min-width: 0;
    }
    .users-page .user-identity-cell > span:last-child,
    .users-page .user-identity-cell strong,
    .users-page .user-identity-cell small,
    .users-page .users-smart-table td > strong,
    .users-page .users-smart-table td > small {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal;
    }
    .users-page .role-badge,
    .users-page .status-badge {
        justify-self: start;
        max-width: 100%;
        white-space: normal;
    }
    .users-page .row-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
    }
    .users-page .row-actions .button,
    .users-page .row-actions form,
    .users-page .row-actions form .button {
        width: 100%;
        min-width: 0;
    }
    .users-page .users-header-actions .button {
        display: none !important;
    }
    .users-page .users-header-actions .users-header-create {
        display: inline-flex !important;
        min-width: 44px;
        padding: 8px 11px;
    }
    .users-page .users-header-create span:last-child {
        display: none;
    }
    .users-page .page-heading > .button {
        display: none;
    }
}

@media (max-width: 430px) {
    .users-page .users-smart-table tr {
        padding: 12px;
    }
    .users-page .row-actions {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   Roscogas Ventas v0.7.3.0 · recuperación y salida de escritorio
   ========================================================== */
.forgot-password-link {
    display: block;
    margin-top: 14px;
    color: var(--orange-800);
    text-align: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: 850;
}
.forgot-password-link:hover { text-decoration: underline; }
.recovery-auth-card h1 { font-size: clamp(32px, 5vw, 42px); }
.recovery-success { display: grid; gap: 4px; }
.recovery-success strong, .recovery-success span { display: block; }
.recovery-explanation {
    display: grid;
    gap: 5px;
    margin-top: 18px;
    padding: 15px;
    border: 1px solid #ead8ce;
    border-radius: 14px;
    background: #fff8f4;
}
.recovery-explanation strong { color: var(--orange-800); }
.recovery-explanation span { color: var(--ink-700); line-height: 1.5; font-size: 13px; }

.desktop-logout-button {
    border-color: #e7bca7;
    color: var(--orange-800);
}
.desktop-logout-button:hover { background: var(--orange-100); }

.password-recovery-admin-card {
    margin: 18px 0;
    padding: 22px;
    border: 1px solid #edd1bd;
    border-radius: 20px;
    background: linear-gradient(145deg, #fff 0%, #fff8f3 100%);
}
.password-recovery-admin-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}
.password-recovery-admin-head h2 { margin: 2px 0 6px; }
.password-recovery-admin-head p:last-child { margin: 0; color: var(--ink-500); line-height: 1.45; }
.password-recovery-request-list { display: grid; gap: 10px; margin-top: 16px; }
.password-recovery-request-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
}
.password-recovery-request-list strong,
.password-recovery-request-list span,
.password-recovery-request-list small { display: block; }
.password-recovery-request-list span { margin-top: 3px; color: var(--ink-700); }
.password-recovery-request-list small { margin-top: 3px; color: var(--ink-500); }

@media (max-width: 720px) {
    .desktop-logout-button,
    .users-desktop-logout { display: none !important; }
    .password-recovery-admin-card { padding: 16px; border-radius: 17px; }
    .password-recovery-admin-head,
    .password-recovery-request-list article { align-items: stretch; flex-direction: column; }
    .password-recovery-request-list article .button { width: 100%; }
}

/* ==========================================================
   Roscogas Ventas v0.7.3.0 · motor logístico y seguimiento Android
   ========================================================== */
.operation-map-route-line.is-matched{
    stroke:#c84d16;
    stroke-width:6;
    opacity:.96;
    filter:drop-shadow(0 2px 3px rgba(94,43,18,.26));
}
.operation-map-marker.is-stop{
    width:20px;height:20px;border-radius:7px;background:#d99516;
    box-shadow:0 3px 12px rgba(95,61,10,.34);
}
.operation-map-marker.is-stop::after{
    content:'II';color:#fff;font-size:7px;font-weight:950;letter-spacing:-1px;
}
.operation-map-marker.is-stop-sale{background:#17855d}
.operation-map-marker.is-stop-sale::after{content:'$';font-size:10px;letter-spacing:0}
.operation-route-quality-note.is-matched{color:#176443;background:#eaf7ef}
.operation-route-details{margin-top:10px;padding:16px;border:1px solid #e7d9d0;border-radius:17px;background:#fff}
.operation-route-details-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.operation-route-details-heading h3{margin:2px 0 0;font-size:18px}
.route-engine-badge{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;font-size:8px;font-weight:950;text-transform:uppercase;white-space:nowrap}
.route-engine-badge.is-ready{color:#176443;background:#e3f4e9}.route-engine-badge.is-fallback{color:#80540d;background:#fff0ce}
.route-engine-note{margin:10px 0 0;padding:9px 10px;border-radius:11px;color:#735018;background:#fff5df;font-size:9px;font-weight:800;line-height:1.45}
.operation-route-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.operation-route-stop-list,.operation-route-turn-list{min-width:0;padding:12px;border:1px solid #ece2dc;border-radius:14px;background:#faf8f6}
.operation-route-stop-list>strong,.operation-route-turn-list>strong{display:block;margin-bottom:8px;font-size:11px}
.operation-route-stop-list>small,.operation-route-turn-list>small{display:block;color:var(--ink-500);font-size:9px;line-height:1.45}
.operation-stop-item,.operation-turn-item{display:flex;width:100%;padding:9px 7px;border:0;border-top:1px solid #ede5e0;color:var(--ink-800);background:transparent;text-align:left;font:inherit;cursor:pointer}
.operation-stop-item:first-of-type,.operation-turn-item:first-of-type{border-top:0}.operation-stop-item:hover,.operation-turn-item:hover{background:#fff4ed}
.operation-stop-item span,.operation-stop-item b,.operation-stop-item small,.operation-turn-item span,.operation-turn-item b,.operation-turn-item small{display:block;min-width:0}
.operation-stop-item b,.operation-turn-item b{font-size:9px;line-height:1.35}.operation-stop-item small,.operation-turn-item small{margin-top:3px;color:var(--ink-500);font-size:8px}
.tracker-shell{padding-bottom:110px}.tracker-journey{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid #ead8cd;border-radius:14px;background:#fff8f3}.tracker-journey strong,.tracker-journey span{display:block}.tracker-journey span{color:var(--ink-500);font-size:10px}
.tracker-pair-card{display:grid;justify-items:center;gap:9px;margin-top:15px;padding:18px;border:1px solid #efc9b1;border-radius:16px;background:linear-gradient(145deg,#fff8f3,#fff)}.tracker-pair-card>small{color:var(--ink-500);font-size:9px;font-weight:850;text-transform:uppercase}.tracker-pair-card>strong{color:var(--orange-800);font-size:30px;letter-spacing:3px}.tracker-pair-card>p{margin:0;color:var(--ink-600);text-align:center;font-size:10px;line-height:1.45}
.tracker-device-list{display:grid;gap:9px}.tracker-device-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e7ddd7;border-radius:14px;background:#fff}.tracker-device-list strong,.tracker-device-list small{display:block}.tracker-device-list small{margin-top:3px;color:var(--ink-500);font-size:9px}
@media(max-width:760px){.operation-route-detail-grid{grid-template-columns:1fr}.operation-route-details{padding:13px}.operation-route-details-heading{align-items:stretch;flex-direction:column}.route-engine-badge{align-self:flex-start}.tracker-journey,.tracker-device-list article{align-items:stretch;flex-direction:column}.tracker-device-list .button{width:100%}}


/* v0.7.3.1 - estado informativo del GPS Android integrado */
.seller-tracker-card{display:flex;align-items:center;gap:12px}
.seller-tracker-card>div{min-width:0;flex:1}.seller-tracker-card strong,.seller-tracker-card small{display:block}
.seller-tracker-card small{margin-top:3px;color:var(--ink-500);line-height:1.45}
.seller-tracker-dot{width:12px;height:12px;border-radius:50%;flex:0 0 12px;background:#d99516;box-shadow:0 0 0 5px rgba(217,149,22,.12)}
.seller-tracker-card.is-operational{border-color:#c9e7d8;background:#f5fbf7}.seller-tracker-card.is-operational .seller-tracker-dot{background:#17855d;box-shadow:0 0 0 5px rgba(23,133,93,.12)}
.seller-tracker-card.is-waiting{border-color:#ead9bd;background:#fffaf0}


/* v0.7.3.1 HF1 · navegación móvil estable dentro de Android WebView */
@media (max-width:720px){
  .app-body,.dashboard-app,.sales-app-body{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
  .mobile-nav,.mobile-nav-compact{
    display:flex!important;
    grid-template-columns:none!important;
    grid-auto-flow:unset!important;
    grid-auto-columns:unset!important;
    overflow-x:hidden!important;
    align-items:stretch;
  }
  .mobile-nav a,.mobile-nav-compact a{
    flex:1 1 0!important;
    min-width:0!important;
    max-width:none!important;
    padding-left:1px!important;
    padding-right:1px!important;
    font-size:8.5px!important;
    line-height:1.08;
    text-align:center;
    overflow:hidden;
  }
  .mobile-nav a span,.mobile-nav-compact a span{font-size:17px!important}
}


/* ==========================================================
   Roscogas Ventas Android v0.7.3.1 HF2
   Ajustes exclusivos de la APK: navegación segura y compacta.
   Los insets físicos se resuelven en Android mediante márgenes
   del WebView para no duplicar espacios en navegador/PWA.
   ========================================================== */
html.roscogas-native-android,
html.roscogas-native-android body {
    overscroll-behavior-y: contain;
}
html.roscogas-native-android .app-header {
    top: 0;
}
@media (max-width: 720px) {
    html.roscogas-native-android .mobile-nav.native-mobile-nav {
        left: 8px;
        right: 8px;
        bottom: 7px;
        grid-template-columns: repeat(var(--native-nav-columns, 5), minmax(0, 1fr));
        gap: 1px;
        padding: 5px;
    }
    html.roscogas-native-android .mobile-nav.native-mobile-nav a {
        min-width: 0;
        min-height: 47px;
        padding: 4px 1px;
        font-size: 9px;
        white-space: nowrap;
    }
    html.roscogas-native-android .mobile-nav.native-mobile-nav a span {
        font-size: 17px;
        line-height: 1;
    }
    html.roscogas-native-android .mobile-nav.native-mobile-nav .native-profile-link span {
        color: var(--orange-700);
        font-size: 13px;
    }
    html.roscogas-native-android .dashboard-app,
    html.roscogas-native-android .app-body {
        padding-bottom: 78px;
    }
    html.roscogas-native-android .dashboard-compact {
        padding-bottom: 78px;
    }
}
