:root {
    color-scheme: light;
    --ink: #17211b;
    --muted: #657168;
    --line: #dde4de;
    --surface: #ffffff;
    --canvas: #f3f6f3;
    --green: #256b48;
    --green-dark: #174b32;
    --green-soft: #e7f2eb;
    --amber-soft: #fff2d6;
    --amber: #966313;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--canvas); color: var(--ink); }
body { min-height: 100vh; }
button, input, select, textarea { font: inherit; }

.shell { min-height: 100vh; }
.topbar {
    height: 76px;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
}

.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.brand strong, .brand small { display: block; }
.brand small { color: var(--muted); margin-top: 2px; }
.brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: white;
    background: var(--green);
    font-weight: 800;
    letter-spacing: -.03em;
}
.brand-mark-large { width: 58px; height: 58px; border-radius: 16px; font-size: 1.15rem; }
.session { display: flex; align-items: center; gap: 20px; text-align: right; }
.session small, .session strong { display: block; }
.session small { color: var(--muted); margin-bottom: 2px; }
.account-link { color: var(--green); font-size: .85rem; font-weight: 700; text-decoration: none; }

.workspace { display: grid; grid-template-columns: 272px 1fr; min-height: calc(100vh - 76px); }
.sidebar { background: #1c2d24; color: #dbe7df; padding: 22px 16px; }
.admin-nav { display: flex; flex-direction: column; gap: 7px; }
.admin-nav a { color: inherit; text-decoration: none; }
.admin-nav>.nav-home { border-radius: 10px; font-weight: 750; padding: 12px 14px; }
.admin-nav>.nav-home.active { background: #315543; color: white; }
.nav-group { border: 1px solid transparent; border-radius: 12px; }
.nav-group summary { align-items: center; border-radius: 10px; cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; list-style: none; padding: 12px 14px; user-select: none; }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary:hover { background: rgba(255,255,255,.06); }
.nav-group[open] { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.08); padding-bottom: 7px; }
.nav-group[open] summary { color: white; }
.nav-chevron { color: #9eb7a8; font-size: 1.1rem; line-height: 1; transition: transform .18s ease; }
.nav-group[open] .nav-chevron { transform: rotate(180deg); }
.nav-submenu { display: grid; gap: 3px; padding: 0 7px; }
.nav-submenu a { border-left: 3px solid transparent; border-radius: 8px; color: #c4d4ca; font-size: .93rem; padding: 10px 12px 10px 15px; }
.nav-submenu a:hover { background: rgba(255,255,255,.055); color: white; }
.nav-submenu a.active { background: #315543; border-left-color: #8dc5a6; color: white; font-weight: 750; }
.mobile-admin-menu { display: none; position: relative; }
.mobile-admin-menu>summary { background: var(--green); border-radius: 10px; color: white; cursor: pointer; font-weight: 800; list-style: none; padding: 11px 14px; }
.mobile-admin-menu>summary::-webkit-details-marker { display: none; }
.mobile-admin-menu-panel { background: #1c2d24; border-radius: 14px; box-shadow: 0 20px 55px rgba(10,25,17,.28); color: #dbe7df; max-height: calc(100vh - 88px); overflow-y: auto; padding: 14px; position: absolute; right: 0; top: calc(100% + 10px); width: min(340px, calc(100vw - 24px)); z-index: 1000; }
.mobile-account-actions { border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: 9px; margin-top: 12px; padding-top: 14px; }
.mobile-account-actions>a { color: white; font-weight: 750; padding: 10px 12px; text-decoration: none; }
.mobile-account-actions .button { min-height: 46px; width: 100%; }
.content { padding: 46px; max-width: 1260px; width: 100%; }

h1 { font-size: clamp(2rem, 4vw, 3.15rem); letter-spacing: -.045em; margin: 0 0 12px; }
h2 { letter-spacing: -.025em; }
.eyebrow { color: var(--green); font-size: .78rem; font-weight: 800; letter-spacing: .13em; margin: 0 0 10px; text-transform: uppercase; }
.lead { color: var(--muted); font-size: 1.08rem; margin: 0 0 34px; }

.status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.status-card, .permission-panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(23, 33, 27, .04);
}
.status-card span { display: inline-block; border-radius: 999px; font-size: .75rem; font-weight: 800; padding: 5px 9px; }
.status-card.ready span { background: var(--green-soft); color: var(--green-dark); }
.status-card.next span { background: var(--amber-soft); color: var(--amber); }
.status-card h2 { margin: 20px 0 8px; }
.status-card p { color: var(--muted); line-height: 1.5; margin: 0; }
.permission-panel { margin-top: 18px; }
.permission-panel h2 { margin-top: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips span { background: var(--green-soft); color: var(--green-dark); border-radius: 999px; padding: 7px 11px; font-size: .82rem; font-weight: 700; }

.button { border: 0; border-radius: 9px; cursor: pointer; font-weight: 750; padding: 10px 16px; }
.button-primary { background: var(--green); color: white; width: 100%; padding: 13px 18px; }
.button-primary:hover { background: var(--green-dark); }
.button-secondary { background: #edf2ee; color: var(--ink); }
.button-danger { background:#9b372f; color:white; }
.button-link { display: inline-block; text-align: center; text-decoration: none; width: auto; }

.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, #dcecdf, transparent 36%), var(--canvas); }
.login-card { width: min(100%, 460px); background: white; border: 1px solid var(--line); border-radius: 22px; padding: 34px; box-shadow: 0 24px 70px rgba(23, 48, 33, .12); }
.login-heading { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 28px; }
.login-heading h1 { font-size: 2rem; margin: 0 0 6px; }
.login-heading p:last-child { color: var(--muted); margin: 0; }
.login-form { display: grid; gap: 18px; }
.login-form label { display: grid; gap: 7px; font-weight: 700; }
.login-form input:not([type="checkbox"]) { width: 100%; border: 1px solid #cdd7cf; border-radius: 9px; padding: 12px 13px; outline: none; }
.login-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(37, 107, 72, .13); }
.login-form .checkbox { display: flex; align-items: center; gap: 9px; color: var(--muted); font-weight: 500; }
.shell:has(.mobile-login-page) > .topbar { display: none; }
.shell:has(.mobile-login-page) > .workspace { display: block; min-height: 100vh; }
.shell:has(.mobile-login-page) .content { max-width: none; padding: 0; }
.mobile-login-page { background: radial-gradient(circle at top left, #d8eafb, transparent 38%), #f1f6fb; color: #172b3d; }
.mobile-login-page .login-card { border-color: #c7dced; box-shadow: 0 24px 70px rgba(24, 90, 157, .16); }
.mobile-login-page .brand-mark { background: #185a9d; }
.mobile-login-page .eyebrow { color: #185a9d; }
.mobile-login-page .login-form input:not([type="checkbox"]) { border-color: #bfd5e9; }
.mobile-login-page .login-form input:focus { border-color: #185a9d; box-shadow: 0 0 0 3px rgba(24, 90, 157, .14); }
.mobile-login-page .button-primary { background: #185a9d; }
.mobile-login-page .button-primary:hover { background: #174f8a; }
.alert { background: #fdebea; border: 1px solid #f3c7c2; border-radius: 9px; color: #8a2f26; margin-bottom: 20px; padding: 11px 13px; }
.alert-success { background: var(--green-soft); border-color: #bfdac8; color: var(--green-dark); }

.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.form-card, .table-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 24px; overflow-x: auto; }
.narrow-card { max-width: 620px; }
.data-form { display: grid; gap: 22px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.receipt-payments h2 { margin: 0; }
.check-entry { background: #f7faf9; border: 1px solid var(--line); border-radius: 12px; margin-top: 14px; padding: 16px; }
.check-entry + .check-entry { margin-top: 18px; }
.check-entry > .button { margin-top: 12px; }
.portal-summary>a { background:white; border:1px solid var(--line); border-radius:12px; color:inherit; padding:18px; text-decoration:none; }
.portal-summary>a:hover { border-color:var(--primary); }
.portal-summary small,.portal-summary strong,.portal-summary span { display:block; }
.portal-summary strong { font-size:1.4rem; margin:7px 0; }
.portal-summary small,.portal-summary span { color:var(--muted); }
.portal-deliveries { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
[data-user-form] [data-client-field] { display:none; }
[data-user-form].client-role-selected [data-client-field],
[data-user-form]:has(select[name="RoleId"] option[data-role-code="CLIENTE"]:checked) [data-client-field] { display:grid; }
.expand-button { align-items:center; background:#238454; border:2px solid #155d3a; border-radius:50%; box-shadow:0 2px 5px rgba(18,83,50,.28); color:white; display:inline-flex; font-size:1.45rem; font-weight:900; height:38px; justify-content:center; line-height:1; text-decoration:none; width:38px; }
.expand-button:hover { background:#176b43; color:white; transform:translateY(-1px); }
.remittance-row-open td { background:#f1f7f3; border-bottom:0; }
.expanded-detail>td { background:#f1f7f3; padding:0 18px 22px; }.expanded-detail>td::before { background:var(--primary); content:""; display:block; height:3px; margin-bottom:18px; width:100%; }
.inline-valuation-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:16px; }.inline-valuation-heading h2 { margin:3px 0 0; }.inline-valuation-heading small,.inline-valuation-heading span { color:var(--muted); display:block; }
.inline-valuation-form { display:grid; gap:16px; }.inline-valuation-form label { display:grid; font-weight:700; gap:7px; }.inline-valuation-form input,.inline-valuation-form textarea { border:1px solid #cdd7cf; border-radius:9px; padding:12px; width:100%; }
.inline-valuation-grid { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }.inline-valuation-grid.confirmed { grid-template-columns:repeat(5,minmax(0,1fr)); }.inline-valuation-grid>div { background:white; border:1px solid var(--line); border-radius:10px; padding:14px; }.inline-valuation-grid small,.inline-valuation-grid span { color:var(--muted); display:block; }.inline-valuation-grid strong { display:block; font-size:1.08rem; margin-top:6px; }
.inline-valuation-actions { align-items:center; display:flex; gap:18px; justify-content:space-between; }.inline-valuation-actions span { color:var(--muted); }.inline-observations { background:white; border-radius:10px; margin:14px 0 0; padding:14px; }
.inline-romaneo-sections { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }.inline-romaneo-card { background:white; border:1px solid var(--line); border-radius:12px; display:grid; gap:10px; padding:16px; }.inline-romaneo-card.comparative { border-left:4px solid #d5a03b; }.inline-romaneo-card h3 { margin:0 0 4px; }.inline-romaneo-card small { color:var(--muted); }.inline-valuation-tables { margin-top:14px; }.inline-valuation-tables>section { background:white; border:1px solid var(--line); border-radius:10px; overflow-x:auto; padding:14px; }.inline-valuation-tables h3 { margin-top:0; }
.data-form label { display: grid; gap: 7px; font-weight: 700; }
.data-form input, .data-form select { border: 1px solid #cdd7cf; border-radius: 9px; padding: 11px 12px; width: 100%; }
.data-form textarea { border:1px solid #cdd7cf; border-radius:9px; min-height:110px; padding:11px 12px; resize:vertical; width:100%; }
.data-form small, td small { color: var(--muted); display: block; font-weight: 400; margin-top: 4px; }
.full-row { grid-column: 1 / -1; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.form-actions .button-primary { width: auto; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid var(--line); padding: 14px 12px; text-align: left; vertical-align: middle; }
th { color: var(--muted); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
.actions { text-align: right; }
.row-actions { display: flex; justify-content: flex-end; gap: 7px; }
.empty-state { color: var(--muted); padding: 32px; text-align: center; }
.data-form fieldset { border: 1px solid var(--line); border-radius: 10px; padding: 16px; }
.data-form legend { font-weight: 800; padding: 0 6px; }
.checkbox-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.data-form .checkbox-option { align-items: center; display: flex; font-weight: 500; gap: 8px; }
.data-form .checkbox-option input { width: auto; }
.status-pill { border-radius: 999px; display: inline-block; font-size: .78rem; font-weight: 800; padding: 5px 9px; }
.status-pill.active { background: var(--green-soft); color: var(--green-dark); }
.status-pill.inactive { background: #edf0ee; color: var(--muted); }
.status-pill.error { background: #fdebea; color: #8a2f26; }
.summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px; }
.summary-grid>div,.summary-grid>article { background:white; border:1px solid var(--line); border-radius:12px; padding:18px; }
.summary-grid small,.summary-grid strong,.summary-grid span { display:block; }
.summary-grid small,.summary-grid span { color:var(--muted); }
.summary-grid strong { margin:7px 0; }
.filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.filter-grid .row-actions { align-items:end; }
.pagination { align-items:center; display:flex; justify-content:center; gap:18px; padding:20px 0 4px; }.pagination a { color:var(--primary); font-weight:800; }
.error-panel,.confirm-panel { background:white; border:1px solid var(--line); border-radius:16px; margin-bottom:20px; padding:24px; }
.error-panel { border-color:#efc1bd; }
.confirm-panel { align-items:center; background:var(--green-soft); display:flex; justify-content:space-between; gap:20px; }
.confirm-panel h2,.confirm-panel p,.table-card h2 { margin-top:0; }
.confirm-panel .button-primary { width:auto; }
.stock-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.stock-kpis>div { background:white; border:1px solid var(--line); border-radius:16px; padding:22px; }
.stock-kpis small,.stock-kpis strong,.stock-kpis span { display:block; }
.stock-kpis small,.stock-kpis span { color:var(--muted); }
.stock-kpis strong { font-size:1.7rem; margin:8px 0 3px; }
.filter-card { background:white; border:1px solid var(--line); border-radius:14px; margin-bottom:18px; padding:18px; }
.filter-form { align-items:end; display:grid; grid-template-columns:2fr 1fr auto auto; gap:12px; }
.filter-form label { display:grid; gap:6px; font-weight:700; }
.filter-form input { border:1px solid #cdd7cf; border-radius:9px; padding:10px 12px; }
.filter-form .button-primary { width:auto; }
.timeline-card { background:white; border:1px solid var(--line); border-radius:16px; padding:24px; }
.timeline { margin-top:22px; }
.timeline article { border-left:2px solid #bad5c4; margin-left:8px; padding:0 0 28px 28px; position:relative; }
.timeline article:last-child { padding-bottom:0; }
.timeline-dot { background:var(--green); border:4px solid var(--green-soft); border-radius:50%; height:16px; left:-9px; position:absolute; top:1px; width:16px; }
.timeline h3 { margin:5px 0; }.timeline p { margin:0 0 4px; }
.adjustment-subject { background:var(--amber-soft); border-radius:10px; display:grid; gap:4px; margin-bottom:20px; padding:15px; }
.inline-reversal { display:flex; gap:7px; justify-content:flex-end; min-width:310px; }
.inline-reversal input { border:1px solid #cdd7cf; border-radius:8px; padding:8px; }
.trip-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.planned-list { display:grid; gap:8px; margin-top:18px; }
.planned-list article { background:var(--canvas); border-radius:9px; display:grid; gap:3px; padding:12px; }
.planned-list span,.planned-list small { color:var(--muted); }
.start-trip { border-top:1px solid var(--line); margin-top:20px; padding-top:20px; }
.valuation-form { display:grid; gap:18px; }
.valuation-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.valuation-section { overflow:visible; }
.valuation-section-title { align-items:flex-start; border-bottom:1px solid var(--line); display:flex; gap:20px; justify-content:space-between; margin-bottom:20px; padding-bottom:15px; }
.valuation-section-title>div { align-items:center; display:flex; gap:10px; }
.valuation-section-title h2 { margin:0; }
.valuation-section-title>div>span { align-items:center; background:var(--green); border-radius:50%; color:white; display:flex; font-weight:900; height:30px; justify-content:center; width:30px; }
.valuation-section-title>small { color:var(--muted); line-height:1.45; max-width:480px; text-align:right; }
.valuation-section>label { display:grid; font-weight:700; gap:7px; }
.valuation-section input,.valuation-section select,.valuation-section textarea { border:1px solid #cdd7cf; border-radius:9px; padding:12px; width:100%; }
.valuation-comparative { border-left:4px solid #d5a03b; }
.form-note { background:var(--amber-soft); border-radius:9px; color:#704b11; margin:15px 0 0; padding:12px; }.form-note a{color:inherit;font-weight:800;}
.valuation-preview { background:#1c2d24; border-radius:18px; color:white; padding:26px; }
.valuation-preview h2 { margin-top:0; }.valuation-preview>p { color:#bfd0c5; }
.valuation-preview-grid { display:grid; gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.valuation-preview-grid>div { background:rgba(255,255,255,.07); border-radius:12px; padding:14px; }
.valuation-preview-grid span,.valuation-preview-grid strong { display:block; }.valuation-preview-grid span { color:#bdd0c4; font-size:.82rem; }.valuation-preview-grid strong { font-size:1.08rem; margin-top:7px; }
.valuation-preview-grid .valuation-total { background:#315543; }.valuation-preview-grid .valuation-total strong { font-size:1.3rem; }
.valuation-preview-grid .valuation-comparison { border:1px dashed #d6ad5b; }
.valuation-preview .button-primary { font-size:1.05rem; margin-top:10px; min-height:52px; }

@media (max-width: 850px) {
    .workspace { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .mobile-admin-menu { display: block; }
    .content { padding: 28px 20px; }
    .status-grid { grid-template-columns: 1fr; }
    .topbar { padding: 0 18px; }
    .session { display: none; }
    .form-grid { grid-template-columns: 1fr; }
    .full-row { grid-column: auto; }
    .page-heading { display: block; }
    .page-heading .button { margin-bottom: 20px; }
    .summary-grid,.filter-grid,.portal-deliveries,.inline-valuation-grid,.inline-valuation-grid.confirmed,.inline-romaneo-sections { grid-template-columns:1fr; }
    .inline-valuation-heading,.inline-valuation-actions { align-items:stretch; flex-direction:column; }
    .confirm-panel { align-items:stretch; flex-direction:column; }
    .stock-kpis,.filter-form { grid-template-columns:1fr; }
    .trip-columns { grid-template-columns:1fr; }
    .valuation-summary,.valuation-preview-grid { grid-template-columns:1fr; }
    .valuation-section-title { flex-direction:column; gap:8px; }
    .valuation-section-title>small { text-align:left; }
}

@media (max-width: 520px) {
    .topbar { height: 68px; padding: 0 12px; }
    .brand { gap: 9px; }
    .brand-mark { height: 38px; width: 38px; }
    .brand small { display: none; }
    .brand strong { font-size: .98rem; }
    .mobile-admin-menu>summary { padding: 10px 12px; }
}

.mobile-app-frame { background:#f1f6fb; color:#172b3d; min-height:100vh; }
.driver-app { font-size:17px; margin:0 auto; max-width:680px; min-height:100vh; padding:24px 18px 44px; }
.driver-centered { align-content:center; display:grid; justify-items:center; text-align:center; }
.driver-logo { align-items:center; background:#185a9d; border-radius:16px; color:white; display:flex; font-size:1.15rem; font-weight:900; height:58px; justify-content:center; width:58px; }
.driver-header { align-items:center; display:flex; justify-content:space-between; margin-bottom:18px; }
.driver-header small { color:#68766f; font-size:.85rem; letter-spacing:.14em; }.driver-header h1 { font-size:2rem; margin:3px 0 0; }
.driver-header button { background:transparent; border:0; color:#92372d; font-size:1rem; font-weight:800; min-height:48px; padding:10px; }
.driver-header-actions { align-items:center; display:flex; gap:8px; }
.driver-header .pwa-install-button { background:#e5f1fc; border:1px solid #bdd7ef; border-radius:10px; color:#185a9d; padding:9px 11px; }
.driver-card,.driver-truck { border-radius:18px; box-shadow:0 8px 28px rgba(24,37,31,.08); margin-bottom:14px; padding:20px; }
.driver-card { background:white; }.driver-truck { background:linear-gradient(135deg,#174f8a,#2474bd); color:white; display:grid; }
.driver-truck span,.driver-truck small { opacity:.75; }.driver-truck strong { font-size:1.65rem; margin:3px 0; }
.device-registration span,.device-registration strong { display:block; }.device-registration strong { overflow-wrap:anywhere; padding:10px 0; }
.device-registration p,.driver-empty p { color:#68766f; }.device-registration a { color:#185a9d; font-weight:800; }
.driver-trip-primary { border:2px solid #b9d5ee; box-shadow:0 12px 34px rgba(24,90,157,.13); }
.driver-trip-title { align-items:start; display:flex; gap:12px; justify-content:space-between; }.driver-trip-title small { color:#68766f; font-size:.9rem; }.driver-trip-title h2 { font-size:1.45rem; margin:4px 0; }
.driver-trip-title>span { background:#e7f1fb; border-radius:99px; color:#185a9d; font-size:.9rem; font-weight:800; padding:8px 11px; white-space:nowrap; }
.driver-trip-data { border-top:1px solid #e7ebe9; display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); margin-top:14px; padding-top:14px; }.driver-trip-data p { background:#f3f7fb; border-radius:12px; color:#68766f; font-size:.88rem; margin:0; padding:11px 8px; text-align:center; }.driver-trip-data strong { color:#172b3d; display:block; font-size:1.35rem; margin-bottom:2px; }
.driver-client-plans { border-top:1px solid #dbe7f1; margin-top:16px; padding-top:16px; }
.driver-client-plans-title { align-items:end; display:flex; gap:12px; justify-content:space-between; margin-bottom:8px; }
.driver-client-plans-title h3 { font-size:1.18rem; margin:0; }.driver-client-plans-title>span { color:#68766f; font-size:.86rem; font-weight:700; text-align:right; }
.driver-client-plan { align-items:center; background:#f3f7fb; border:1px solid #dbe7f1; border-radius:14px; display:grid; gap:12px; grid-template-columns:minmax(0,1fr) auto; margin-top:10px; min-height:76px; padding:13px 14px; }
.driver-client-plan.is-complete { background:#e8f5ed; border-color:#b9ddc7; }
.driver-client-name { min-width:0; }.driver-client-name strong { display:block; font-size:1.13rem; line-height:1.25; overflow-wrap:anywhere; }.driver-client-name span { color:#68766f; display:block; font-size:.85rem; font-weight:700; margin-top:5px; }
.driver-client-quantity { min-width:92px; text-align:right; }.driver-client-quantity strong { color:#185a9d; display:block; font-size:1.8rem; line-height:1; }.driver-client-quantity span { color:#536477; display:block; font-size:.75rem; font-weight:800; line-height:1.15; margin-top:5px; max-width:105px; }
.driver-client-plan.is-complete .driver-client-quantity strong { color:#17613f; }
.driver-client-empty { color:#68766f; margin:12px 0 0; }
.driver-action-grid { display:grid; gap:12px; grid-template-columns:1fr; margin-top:16px; }
.driver-action-grid .driver-link { margin:0; text-align:center; }
.driver-proforma-row { border-top:1px solid #e7ebe9; display:flex; justify-content:space-between; gap:12px; padding:12px 0; }
.driver-primary { align-items:center; background:#185a9d; border:0; border-radius:7px; color:white; display:flex; font-size:1.1rem; font-weight:850; justify-content:center; min-height:64px; padding:17px; width:100%; }.driver-primary:disabled { opacity:.55; }
.driver-secondary { align-items:center; background:#eef5fc; border:1px solid #bfd5e9; border-radius:7px; color:#185a9d; display:flex; font-size:1.05rem; font-weight:850; justify-content:center; margin-top:10px; min-height:60px; padding:16px; width:100%; }
.driver-card form>label { display:grid; font-weight:800; gap:7px; margin:14px 0; }
.driver-card input,.driver-card select { background:white; border:2px solid #b9c9d5; border-radius:7px; box-sizing:border-box; font-size:1.08rem; min-height:58px; padding:13px 14px; width:100%; }
.driver-proforma-row small { color:#68766f; display:block; font-size:.75rem; margin-top:4px; overflow-wrap:anywhere; }.driver-proforma-row>div:last-child{text-align:right}.driver-proforma-row button{background:transparent;border:0;color:#92372d;font-weight:800;padding:7px 0}
.driver-error { background:#fbe9e7; border-radius:12px; color:#8d241b; margin-bottom:14px; padding:13px; }
.driver-success { background:#e5f1fc; border-radius:12px; color:#174f8a; margin-bottom:14px; padding:13px; }
.driver-link { display:block; margin-top:10px; text-align:center; text-decoration:none; }
.driver-back { color:#185a9d; display:block; font-size:.82rem; font-weight:800; margin-bottom:5px; text-decoration:none; }
.driver-help { color:#68766f; }.driver-load-form label { display:grid; font-weight:800; gap:7px; margin:14px 0; }.driver-load-form input { border:1px solid #cbd2ce; border-radius:12px; font-size:1.05rem; padding:14px; width:100%; }
.driver-half { align-items:center; border-top:1px solid #e7ebe9; display:flex; justify-content:space-between; gap:12px; padding:13px 0; }.driver-half:first-of-type { margin-top:10px; }.driver-half>div:last-child { text-align:right; }.driver-half small { color:#68766f; display:block; font-size:.72rem; margin-top:3px; overflow-wrap:anywhere; }
.driver-half-actions { display:grid; gap:7px; justify-items:end; }.driver-half-actions button { background:#fff1ef;border:1px solid #efc1bd;border-radius:6px;color:#92372d;font-size:.78rem;font-weight:850;min-height:38px;padding:8px 10px; }
.barcode-scan-button { align-items:center; display:flex; gap:9px; justify-content:center; margin-top:0; }
.barcode-scan-button span { font-size:1.15rem; line-height:1; }
.barcode-status { color:#68766f; font-size:.82rem; margin:8px 2px 15px; min-height:1.25rem; }
.barcode-status[data-state="working"] { color:#185a9d; }
.barcode-status[data-state="success"] { color:#17613f; font-weight:800; }
.barcode-status[data-state="error"] { color:#8d241b; font-weight:700; }
.barcode-preview { background:#f2f7fc; border:1px solid #c8ddef; border-radius:14px; color:#172b3d; margin:0 0 15px; padding:14px; }
.barcode-preview[data-state="working"] { color:#185a9d; }
.barcode-preview[data-state="error"] { background:#fbe9e7; border-color:#efc1bd; color:#8d241b; font-weight:700; }
.barcode-preview[data-state="warning"] { background:#fff6df; border-color:#ecd79d; }
.barcode-preview-heading { align-items:flex-start; display:flex; gap:12px; justify-content:space-between; }
.barcode-preview-heading strong,.barcode-preview-heading small { display:block; }
.barcode-preview-heading small { color:#68766f; margin-top:4px; }
.barcode-preview-heading>span { background:#dff2e7; border-radius:99px; color:#17613f; font-size:.72rem; font-weight:900; padding:5px 8px; white-space:nowrap; }
.barcode-preview-heading>span[data-available="false"] { background:#f6dfb1; color:#83550f; }
.barcode-preview dl { border-top:1px solid #dce7f0; display:grid; gap:9px; grid-template-columns:1fr 1fr; margin:12px 0 0; padding-top:12px; }
.barcode-preview dt { color:#68766f; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.barcode-preview dd { font-size:.88rem; font-weight:800; margin:2px 0 0; overflow-wrap:anywhere; }
.barcode-overlay { align-items:center; background:rgba(5,17,29,.88); display:flex; inset:0; justify-content:center; padding:18px; position:fixed; z-index:10000; }
.barcode-dialog { background:#f7fbff; border-radius:20px; color:#172b3d; max-width:560px; padding:16px; width:100%; }
.barcode-dialog-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:12px; }
.barcode-dialog-heading strong { font-size:1.1rem; }
.barcode-dialog-heading button { background:#e3effa; border:0; border-radius:10px; color:#185a9d; font-weight:800; padding:9px 12px; }
.barcode-video-frame { background:#07111a; border-radius:14px; overflow:hidden; position:relative; }
.barcode-video-frame video { display:block; max-height:68vh; object-fit:cover; width:100%; }
.barcode-video-frame span { border:3px solid #64b6ff; border-radius:12px; box-shadow:0 0 0 9999px rgba(0,0,0,.22); height:36%; left:7%; position:absolute; right:7%; top:32%; }
.barcode-dialog p { color:#68766f; margin:12px 2px 2px; text-align:center; }
.barcode-dialog-actions { display:flex; gap:8px; }
.barcode-dialog-actions button[data-barcode-torch] { background:#185a9d; color:white; }
.driver-delivery-target{background:linear-gradient(135deg,#123f68,#2474bd);border-radius:12px;box-shadow:0 8px 28px rgba(24,60,91,.18);color:#fff;margin-bottom:14px;padding:18px}.driver-delivery-target>span{font-size:.72rem;font-weight:900;letter-spacing:.1em;opacity:.8}.driver-delivery-target h2{font-size:1.5rem;margin:4px 0 14px}.driver-delivery-target>div{align-items:center;background:rgba(255,255,255,.13);border-radius:8px;display:flex;gap:10px;padding:12px}.driver-delivery-target>div strong{font-size:2.25rem;line-height:1}.driver-delivery-target>div span{font-size:1rem;font-weight:800}.driver-delivery-target footer{display:flex;font-size:.88rem;justify-content:space-between;margin-top:11px}.driver-document-actions{display:grid;gap:10px;margin:16px 0}.driver-document-actions .driver-link,.driver-remittance-ready>.driver-link{margin-top:0}.driver-share-status{color:#17613f;font-size:.86rem;font-weight:800;min-height:1.2rem;text-align:center}

.check-selection { display:grid; gap:10px; }
.check-option { align-items:center; background:#f7faf8; border:1px solid var(--line); border-radius:12px; cursor:pointer; display:grid; gap:12px; grid-template-columns:auto 1fr auto; padding:14px; }
.check-option:hover { background:#eff7f2; border-color:#92b8a2; }
.check-option input { height:22px; margin:0; width:22px; }
.check-option span strong,.check-option span small { display:block; }
.check-option span small { color:var(--muted); margin-top:3px; }
.provider-payment-methods { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.own-check-list { display:grid; gap:12px; }
.own-check-entry { background:#f7faf8; border:1px solid var(--line); border-radius:12px; padding:14px; }
.own-check-entry>[data-remove-own-check] { margin-top:10px; }
.payment-allocation-preview { border-left:4px solid #238454; }
.embedded-table { box-shadow:none; margin-top:16px; padding:0; }
.payment-covered td { background:#edf8f1; }

@media (max-width:420px) {
    .driver-app { padding-left:12px; padding-right:12px; }
    .driver-card,.driver-truck { padding:17px 15px; }
    .driver-header h1 { font-size:1.75rem; }
    .driver-client-plans-title { align-items:start; flex-direction:column; gap:4px; }
    .driver-client-plans-title>span { text-align:left; }
    .check-option { grid-template-columns:auto 1fr; }
    .check-option>strong { grid-column:2; }
    .provider-payment-methods { grid-template-columns:1fr; }
}

/* Dashboard de Dirección: pantalla independiente, optimizada para TV */
.nav-dashboard-link { align-items:center; background:linear-gradient(135deg,#123f68,#185a9d); border-radius:12px; color:#fff!important; display:flex; font-weight:850; justify-content:space-between; margin:6px 8px 12px; padding:12px 14px!important; text-decoration:none; }
.nav-dashboard-link:hover { background:linear-gradient(135deg,#185a9d,#2178bd); }
.direction-shell { background:#eef3f6; color:#14293a; min-height:100vh; }
.direction-dashboard { margin:0 auto; max-width:2400px; min-height:100vh; padding:26px 32px 18px; }
.dashboard-loading { align-items:center; display:flex; font-size:1.4rem; font-weight:800; justify-content:center; min-height:100vh; }
.dashboard-header { align-items:center; background:linear-gradient(120deg,#102d47,#174f78 60%,#1b638f); border-radius:22px; box-shadow:0 12px 35px rgba(17,47,70,.2); color:#fff; display:grid; gap:28px; grid-template-columns:minmax(330px,1fr) auto auto; padding:22px 26px; }
.dashboard-brand { align-items:center; display:flex; gap:16px; }.dashboard-brand-mark { align-items:center; background:#fff; border-radius:15px; color:#185a9d; display:flex; font-size:1.25rem; font-weight:950; height:55px; justify-content:center; width:55px; }.dashboard-brand small,.dashboard-period small { color:#bcd3e4; display:block; font-size:.75rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.dashboard-brand h1 { font-size:1.65rem; margin:2px 0 0; }.dashboard-period { border-left:1px solid rgba(255,255,255,.22); padding-left:28px; }.dashboard-period strong,.dashboard-period span { display:block; }.dashboard-period strong { font-size:1.2rem; margin-top:4px; }.dashboard-period span { color:#c9dbe8; font-size:.78rem; margin-top:3px; }
.dashboard-header-actions { align-items:center; display:flex; gap:8px; }.dashboard-icon-button,.dashboard-fullscreen,.dashboard-week-form button { background:#fff; border:0; border-radius:10px; color:#174f78; font-weight:850; min-height:40px; padding:9px 13px; text-decoration:none; }.dashboard-icon-button { align-items:center; display:flex; font-size:1.7rem; justify-content:center; padding:0; width:40px; }.dashboard-week-form { display:flex; gap:6px; }.dashboard-week-form input,.dashboard-week-form select { background:#fff; border:0; border-radius:10px; color:#173e5c; font-weight:750; padding:8px; }.dashboard-fullscreen { cursor:pointer; }
.dashboard-tabs { align-items:center; display:flex; gap:10px; margin:18px 2px; }.dashboard-tabs>button { background:#dbe5eb; border:0; border-radius:12px; color:#486272; cursor:pointer; font-size:1rem; font-weight:900; min-width:145px; padding:13px 22px; }.dashboard-tabs>button.is-active { background:#185a9d; color:white; }.dashboard-tabs label { align-items:center; color:#607582; display:flex; font-size:.82rem; font-weight:750; gap:8px; margin-left:auto; }.dashboard-tabs input { height:18px; width:18px; }
.dashboard-view[hidden] { display:none!important; }.dashboard-kpis { display:grid; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }.dashboard-kpi { background:#fff; border:1px solid #d9e3e9; border-radius:18px; box-shadow:0 6px 18px rgba(29,54,70,.06); min-height:142px; overflow:hidden; padding:20px 22px; position:relative; }.dashboard-kpi:before { background:#488bb7; content:""; inset:0 auto 0 0; position:absolute; width:6px; }.dashboard-kpi small,.dashboard-kpi strong,.dashboard-kpi span { display:block; }.dashboard-kpi small { color:#657b89; font-size:.78rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.dashboard-kpi strong { color:#153a55; font-size:2.25rem; line-height:1.1; margin:12px 0 6px; }.dashboard-kpi span { color:#667a86; font-weight:700; }.kpi-camera:before{background:#2f85bd}.kpi-truck:before{background:#d29a29}.kpi-stock:before{background:#26845a}.kpi-sales:before{background:#7257a7}.kpi-receivable:before{background:#d49b2a}.kpi-payable:before{background:#b75b50}.kpi-income:before,.kpi-result-positive:before{background:#27865a}.kpi-result-negative:before{background:#b84b42}.economic-kpis .dashboard-kpi strong{font-size:1.85rem}
.dashboard-section-heading { align-items:end; display:flex; justify-content:space-between; margin:27px 2px 12px; }.dashboard-section-heading small { color:#598096; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.dashboard-section-heading h2 { font-size:1.38rem; margin:3px 0 0; }.dashboard-section-heading>span { color:#657b89; font-size:.84rem; font-weight:750; }
.truck-dashboard-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.truck-visual-card{background:#fff;border:2px solid #dce5ea;border-radius:18px;box-shadow:0 7px 19px rgba(23,50,67,.07);min-height:350px;padding:16px 18px}.truck-visual-card.state-route{border-color:#5d9ecc}.truck-visual-card.state-loading{border-color:#d6a333}.truck-visual-card.state-warning{background:#fff8e9;border-color:#dfa633}.truck-visual-card.state-draft{border-color:#a5b5bf}.truck-card-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.truck-card-heading h3{font-size:1.45rem;margin:0}.truck-card-heading p{color:#687d89;font-size:.82rem;margin:2px 0 0}.truck-state{background:#e6edf1;border-radius:99px;color:#526976;font-size:.68rem;font-weight:900;padding:7px 10px;text-transform:uppercase;white-space:nowrap}.state-route .truck-state{background:#dceefa;color:#175a88}.state-loading .truck-state{background:#fff0c8;color:#865d0d}.state-warning .truck-state{background:#f8d992;color:#754b00}.truck-trip-line{align-items:end;border-top:1px solid #e3eaee;display:flex;gap:10px;justify-content:space-between;margin-top:9px;padding-top:8px}.truck-trip-line span{color:#657b89;font-size:.75rem;text-align:right}.truck-load-figure{align-items:end;display:grid;grid-template-columns:minmax(0,1fr) 54px;height:128px;margin:9px 0 0;padding:0 6px 15px;position:relative}.truck-cargo-box{background:linear-gradient(to top,rgba(35,131,190,.11) 0 var(--truck-fill),transparent var(--truck-fill));border:4px solid #173c56;border-radius:7px 4px 3px 7px;height:108px;overflow:hidden;padding:14px 7px 5px;position:relative;z-index:2}.truck-cargo-rail{background:#173c56;border-radius:99px;height:3px;left:7px;position:absolute;right:7px;top:9px}.truck-carcasses{display:grid;gap:1px 2px;grid-template-columns:repeat(9,minmax(12px,1fr));grid-template-rows:repeat(2,40px)}.truck-carcass{--carcass-fill:0%;color:#d5e0e6;display:block;height:39px;position:relative}.truck-carcass svg{fill:currentColor;height:100%;inset:0;position:absolute;width:100%}.truck-carcass .truck-carcass-hook{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:3.2}.truck-carcass-filled{clip-path:inset(calc(100% - var(--carcass-fill)) 0 0);color:#2383be}.truck-cab{background:#2383be;border:4px solid #173c56;border-radius:4px 16px 5px 2px;height:78px;margin-left:-4px;position:relative;z-index:1}.truck-cab span{background:#c9e5f2;border:3px solid #173c56;border-radius:3px 10px 3px 3px;height:27px;position:absolute;right:6px;top:9px;width:30px}.truck-wheel{background:#607887;border:5px solid #173c56;border-radius:50%;bottom:0;height:30px;position:absolute;width:30px;z-index:4}.truck-wheel-back{left:18%}.truck-wheel-front{right:13px}.truck-operation-data{border-top:1px solid #e3eaee;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:3px;padding-top:9px}.truck-operation-data>div{background:#f1f6f9;border-radius:10px;padding:8px 10px}.truck-operation-data small,.truck-operation-data strong,.truck-operation-data span{display:block}.truck-operation-data small{color:#68808e;font-size:.62rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.truck-operation-data strong{color:#174c70;font-size:1.05rem;margin-top:2px}.truck-operation-data span{color:#677c88;font-size:.7rem;margin-top:1px}
.dashboard-table-card,.dashboard-panel,.business-result-card { background:#fff; border:1px solid #d9e3e9; border-radius:18px; box-shadow:0 6px 18px rgba(29,54,70,.055); overflow:hidden; }.dashboard-table-card table { border-collapse:collapse; width:100%; }.dashboard-table-card th { background:#e7eef2; color:#4f6876; font-size:.72rem; letter-spacing:.04em; padding:12px 14px; text-align:left; text-transform:uppercase; }.dashboard-table-card td { border-top:1px solid #e6ecef; padding:12px 14px; }.dashboard-table-card tbody tr:hover { background:#f7fafb; }.dashboard-balance { color:#176844; font-size:1.15rem; font-weight:950; }.dashboard-empty-row { color:#738691; padding:24px!important; text-align:center!important; }.dashboard-reversed { opacity:.55; text-decoration:line-through; }
.dashboard-troop-main td{font-weight:800}.dashboard-troop-detail td{background:#f3f8fb;border-top:0!important;color:#31566d;padding-bottom:11px!important;padding-top:8px!important;vertical-align:top}.dashboard-troop-detail:hover td{background:#edf5f9}.dashboard-troop-detail small,.dashboard-troop-detail strong{display:block}.dashboard-troop-detail small{color:#708794;font-size:.64rem;font-weight:900;letter-spacing:.025em;margin-bottom:3px;text-transform:uppercase}.dashboard-troop-detail strong{color:#183f58;font-size:.88rem;white-space:nowrap}.dashboard-troop-detail-marker{color:#39789d;font-size:.78rem;font-weight:950;white-space:nowrap}.dashboard-troop-pending{text-align:center}.dashboard-troop-pending span{color:#718792;display:block;font-size:.74rem;margin-top:3px}.dashboard-troop-table th,.dashboard-troop-table td{text-align:center}.dashboard-troop-table th:first-child,.dashboard-troop-table td:first-child,.dashboard-troop-table th:nth-child(2),.dashboard-troop-table td:nth-child(2){text-align:left}
.dashboard-troop-detail .dashboard-troop-yield{background:#fff0f0}.dashboard-troop-detail .dashboard-troop-yield small,.dashboard-troop-detail .dashboard-troop-yield strong{color:#b42318}.dashboard-troop-detail .dashboard-troop-yield strong{font-size:1rem}.dashboard-troop-detail .dashboard-troop-cost{background:#eaf3ff}.dashboard-troop-detail .dashboard-troop-cost small,.dashboard-troop-detail .dashboard-troop-cost strong{color:#175cd3}.dashboard-troop-detail .dashboard-troop-cost strong{font-size:1rem}
.dashboard-troop-result td{background:#f8fafb;border-top:1px dashed #c8d5dc!important;padding:7px 10px!important;vertical-align:middle}.dashboard-troop-result small,.dashboard-troop-result strong,.dashboard-troop-result span{display:block}.dashboard-troop-result small{color:#708794;font-size:.64rem;font-weight:900;letter-spacing:.025em;text-transform:uppercase}.dashboard-troop-result strong{color:#183f58;font-size:.92rem;margin-top:2px;white-space:nowrap}.dashboard-troop-result span{color:#718792;font-size:.68rem;margin-top:2px}.dashboard-troop-result .dashboard-troop-detail-marker{color:#39789d;font-size:.78rem}.dashboard-troop-result .dashboard-troop-result-positive{background:#eaf8ef}.dashboard-troop-result .dashboard-troop-result-positive small,.dashboard-troop-result .dashboard-troop-result-positive strong{color:#067647}.dashboard-troop-result .dashboard-troop-result-negative{background:#fff0f0}.dashboard-troop-result .dashboard-troop-result-negative small,.dashboard-troop-result .dashboard-troop-result-negative strong{color:#b42318}.dashboard-troop-result .dashboard-troop-result-positive strong,.dashboard-troop-result .dashboard-troop-result-negative strong{font-size:1.05rem}.dashboard-troop-result-pending{background:#fff8e8!important}.dashboard-troop-result-pending strong{color:#986a00!important}
.dashboard-troops-card{overflow:auto}
.dashboard-two-column,.dashboard-debt-grid { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; }.dashboard-panel { padding:20px; }.dashboard-panel-heading { align-items:center; display:flex; justify-content:space-between; }.dashboard-panel-heading small { color:#69808d; display:block; font-size:.72rem; font-weight:850; text-transform:uppercase; }.dashboard-panel-heading h2 { font-size:1.2rem; margin:3px 0; }.dashboard-panel-heading>strong { color:#174d70; font-size:1.35rem; }.dashboard-mini-stats { display:grid; gap:10px; grid-template-columns:repeat(4,1fr); margin-top:18px; }.dashboard-mini-stats span { background:#f1f5f7; border-radius:10px; color:#607582; font-size:.72rem; padding:11px; }.dashboard-mini-stats strong { color:#193e57; display:block; font-size:1.1rem; }.dashboard-mini-stats .attention { background:#fff0d0; color:#815c18; }.dashboard-ok { background:#e8f5ed; border-radius:12px; color:#176342; font-weight:850; margin:16px 0 0; padding:17px; text-align:center; }.dashboard-alert-list { margin-top:12px; }.dashboard-alert-list>div { align-items:center; border-top:1px solid #e6ecef; display:flex; justify-content:space-between; padding:9px 3px; }.dashboard-alert-list span strong,.dashboard-alert-list span { display:block; }.dashboard-alert-list span { color:#677d89; font-size:.76rem; }.dashboard-alert-list>div>strong { color:#a44b35; font-size:1.1rem; }
.dashboard-three-column{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.dashboard-price-alert-list{margin-top:12px}.dashboard-price-alert-list>div{align-items:center;border-top:1px solid #f0d5d2;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:9px 3px}.dashboard-price-alert-list span,.dashboard-price-alert-list span strong,.dashboard-price-alert-list span small,.dashboard-price-alert-list>div>strong,.dashboard-price-alert-list>div>strong small{display:block}.dashboard-price-alert-list span{color:#677d89;font-size:.76rem}.dashboard-price-alert-list span strong{color:#8f2d24;font-size:.86rem}.dashboard-price-alert-list span small{color:#8a6b67;margin-top:2px}.dashboard-price-alert-list>div>strong{color:#b42318;font-size:1.05rem;text-align:right}.dashboard-price-alert-list>div>strong small{font-size:.62rem;font-weight:800}.price-alert-panel{border-color:#e8b9b5}
.dashboard-result-grid { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }.business-result-card { padding:21px; }.business-result-card>div>span { color:#4c7c99; font-size:.72rem; font-weight:950; letter-spacing:.08em; }.business-result-card h2 { font-size:1.3rem; margin:4px 0 18px; }.business-result-card dl { display:grid; grid-template-columns:1fr auto; margin:0; }.business-result-card dt,.business-result-card dd { border-top:1px solid #e5ebee; margin:0; padding:9px 0; }.business-result-card dt { color:#657b88; }.business-result-card dd { font-weight:850; text-align:right; }.business-result-card footer { align-items:center; border-radius:12px; display:flex; justify-content:space-between; margin-top:15px; padding:14px; }.business-result-card footer.positive{background:#e5f3eb;color:#17613f}.business-result-card footer.negative{background:#fbe8e5;color:#92372d}.business-result-card footer strong{font-size:1.22rem}.consolidated-card { background:#173d59; color:#fff; }.consolidated-card>div>span,.consolidated-card dt{color:#b8cedc}.consolidated-card dd{color:#fff}.consolidated-card dl>*{border-color:rgba(255,255,255,.15)}
.debt-panel ol { counter-reset:debt; list-style:none; margin:15px 0 0; padding:0; }.debt-panel li { align-items:center; border-top:1px solid #e4eaed; counter-increment:debt; display:flex; gap:12px; justify-content:space-between; padding:12px 2px; }.debt-panel li:before { align-items:center; background:#e5eef3; border-radius:50%; color:#386079; content:counter(debt); display:flex; font-size:.72rem; font-weight:900; height:26px; justify-content:center; width:26px; }.debt-panel li>span { flex:1; }.debt-panel li>span strong,.debt-panel li>span small { display:block; }.debt-panel li>span small { color:#71848f; margin-top:2px; }.debt-panel li>strong { color:#173f5b; font-size:1.03rem; }.dashboard-footer { color:#667e8b; display:flex; font-size:.75rem; gap:24px; justify-content:center; padding:25px 0 5px; }.dashboard-footer a { color:#185a9d; font-weight:850; }
@media (min-width:1700px) { .direction-dashboard{padding:32px 46px}.dashboard-kpi{min-height:165px;padding:25px 27px}.dashboard-kpi strong{font-size:2.75rem}.truck-dashboard-grid{grid-template-columns:repeat(4,minmax(290px,1fr))}.truck-visual-card{min-height:280px}.dashboard-table-card td{font-size:1.02rem;padding:15px 17px} }
@media (max-width:1100px) { .dashboard-header{grid-template-columns:1fr 1fr}.dashboard-header-actions{grid-column:1/-1}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-result-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:700px) { .direction-dashboard{padding:12px}.dashboard-header{grid-template-columns:1fr;padding:18px}.dashboard-period{border-left:0;padding-left:0}.dashboard-header-actions{align-items:stretch;flex-wrap:wrap;grid-column:auto}.dashboard-fullscreen{display:none}.dashboard-tabs{align-items:stretch;flex-wrap:wrap}.dashboard-tabs label{margin-left:0;width:100%}.dashboard-kpis,.dashboard-two-column,.dashboard-debt-grid,.dashboard-result-grid{grid-template-columns:1fr}.dashboard-mini-stats{grid-template-columns:repeat(2,1fr)}.dashboard-table-card{overflow:auto}.dashboard-section-heading{align-items:start;flex-direction:column;gap:5px}.dashboard-footer{align-items:center;flex-direction:column;gap:6px}.dashboard-week-form{flex:1}.dashboard-week-form input{min-width:0;width:100%} }

/* Modo TV: cada vista ocupa una pantalla completa, sin desplazamiento. */
@media (min-width:1101px) {
    .direction-shell { height:100dvh; overflow:hidden; }
    .direction-dashboard { box-sizing:border-box; display:grid; grid-template-rows:auto auto minmax(0,1fr); height:100dvh; min-height:0; padding:14px 24px; }
    .dashboard-header { border-radius:17px; gap:20px; padding:13px 20px; }
    .dashboard-brand-mark { border-radius:12px; height:45px; width:45px; }
    .dashboard-brand h1 { font-size:1.4rem; }
    .dashboard-period strong { font-size:1.05rem; }
    .dashboard-tabs { margin:9px 2px; }
    .dashboard-tabs>button { min-width:135px; padding:10px 18px; }
    .dashboard-view { min-height:0; overflow:hidden; }
    .dashboard-troops-view,.dashboard-operation-view,.dashboard-controls-view { display:flex; flex-direction:column; }
    .dashboard-troops-heading { margin:4px 2px 7px; }
    .dashboard-troops-card { flex:1; min-height:0; }
    .dashboard-troops-card th { font-size:.64rem; padding:7px 9px; }
    .dashboard-troops-card .dashboard-troop-main td { font-size:.84rem; padding:6px 9px; }
    .dashboard-troops-card .dashboard-troop-detail td { padding:5px 8px!important; }
    .dashboard-troops-card .dashboard-troop-detail small { font-size:.56rem; margin-bottom:1px; }
    .dashboard-troops-card .dashboard-troop-detail strong { font-size:.78rem; }
    .dashboard-troops-card .dashboard-troop-detail .dashboard-troop-yield strong,.dashboard-troops-card .dashboard-troop-detail .dashboard-troop-cost strong { font-size:.88rem; }
    .dashboard-troops-card .dashboard-troop-result td { padding:4px 8px!important; }
    .dashboard-troops-card .dashboard-troop-result small { font-size:.56rem; }
    .dashboard-troops-card .dashboard-troop-result strong { font-size:.8rem; margin-top:1px; }
    .dashboard-troops-card .dashboard-troop-result span { font-size:.6rem; margin-top:1px; }
    .dashboard-troops-card .dashboard-troop-result .dashboard-troop-result-positive strong,.dashboard-troops-card .dashboard-troop-result .dashboard-troop-result-negative strong { font-size:.9rem; }
    .dashboard-kpi { min-height:105px; padding:14px 18px; }
    .dashboard-kpi strong { font-size:2rem; margin:7px 0 3px; }
    .dashboard-section-heading { flex:0 0 auto; margin:14px 2px 8px; }
    .dashboard-section-heading h2 { font-size:1.2rem; }
    .truck-dashboard-grid { align-content:start; flex:1; grid-auto-rows:minmax(0,1fr); min-height:0; }
    .truck-visual-card { box-sizing:border-box; min-height:0; overflow:hidden; padding:14px 16px; }
    .truck-visual-card h3 { font-size:1.35rem; margin-top:9px; }
    .truck-visual-card>p { margin-bottom:8px; }
    .truck-empty { margin-top:14px; min-height:60px; }
    .dashboard-controls-top { display:grid; flex:0 0 auto; gap:14px; grid-template-columns:1.35fr 1fr; }
    .dashboard-controls-top .dashboard-panel { padding:14px 17px; }
    .dashboard-controls-top .dashboard-mini-stats { margin-top:10px; }
    .control-summary-panel { display:grid; gap:8px; grid-template-columns:repeat(3,1fr); }
    .control-summary-panel>div { background:#f1f5f7; border-radius:11px; padding:10px 12px; }
    .control-summary-panel small,.control-summary-panel strong,.control-summary-panel span { display:block; }
    .control-summary-panel small { color:#657b89; font-size:.68rem; font-weight:900; text-transform:uppercase; }
    .control-summary-panel strong { color:#173e5b; font-size:1.65rem; margin:4px 0 2px; }
    .control-summary-panel span { color:#677d89; font-size:.7rem; }
    .dashboard-controls-view>.dashboard-table-card { flex:0 1 auto; }
    .dashboard-controls-view .dashboard-table-card th { padding:8px 12px; }
    .dashboard-controls-view .dashboard-table-card td { padding:8px 12px; }
    .dashboard-control-alerts { flex:1; margin-top:12px; min-height:0; }
    .dashboard-control-alerts .dashboard-panel { min-height:0; overflow:hidden; padding:13px 17px; }
    .dashboard-control-alerts .dashboard-panel-heading h2 { font-size:1.05rem; }
    .dashboard-alert-list { margin-top:7px; }
    .dashboard-alert-list>div { padding:6px 3px; }
    .dashboard-price-alert-list { margin-top:7px; }
    .dashboard-price-alert-list>div { padding:6px 3px; }
    .dashboard-writeoff-list { margin-top:7px; }
    .dashboard-writeoff-list>div { align-items:center; border-top:1px solid #e6ecef; display:grid; gap:10px; grid-template-columns:minmax(0,1fr) auto; padding:6px 3px; }
    .dashboard-writeoff-list span,.dashboard-writeoff-list span strong,.dashboard-writeoff-list span small { display:block; }
    .dashboard-writeoff-list span { color:#667d89; font-size:.72rem; }
    .dashboard-writeoff-list span strong { color:#183d56; font-size:.82rem; }
    .dashboard-writeoff-list>div>span:last-child { text-align:right; }
    .dashboard-view[data-dashboard-view="results"] .dashboard-kpi { min-height:96px; }
    .dashboard-view[data-dashboard-view="results"] .dashboard-kpi strong { font-size:1.55rem; }
    .dashboard-view[data-dashboard-view="results"] .dashboard-section-heading { margin-top:10px; }
    .dashboard-result-grid { gap:12px; }
    .business-result-card { padding:12px 15px; }
    .business-result-card h2 { font-size:1.1rem; margin:2px 0 8px; }
    .business-result-card dt,.business-result-card dd { font-size:.78rem; padding:4px 0; }
    .business-result-card footer { margin-top:8px; padding:8px 10px; }
    .business-result-card footer strong { font-size:1rem; }
    .dashboard-debt-grid { gap:12px; margin-top:10px; }
    .dashboard-debt-grid .dashboard-panel { padding:11px 15px; }
    .dashboard-debt-grid .dashboard-panel-heading h2 { font-size:1rem; }
    .dashboard-debt-grid .dashboard-panel-heading>strong { font-size:1.05rem; }
    .debt-panel ol { margin-top:5px; }
    .debt-panel li { font-size:.78rem; padding:4px 2px; }
    .debt-panel li:before { height:20px; width:20px; }
    .debt-panel li>strong { font-size:.88rem; }
    .dashboard-footer { display:none; }
}

@media (min-width:1101px) and (max-height:820px) {
    .direction-dashboard { padding:8px 18px; }
    .dashboard-header { padding:9px 16px; }
    .dashboard-brand-mark { height:38px; width:38px; }
    .dashboard-brand h1 { font-size:1.2rem; }
    .dashboard-tabs { margin:6px 2px; }
    .dashboard-tabs>button { padding:8px 15px; }
    .dashboard-kpi { min-height:88px; padding:10px 15px; }
    .dashboard-kpi strong { font-size:1.7rem; margin:4px 0 1px; }
    .dashboard-section-heading { margin-top:9px; }
    .truck-picture { font-size:2rem; }
    .dashboard-controls-top .dashboard-panel { padding:10px 14px; }
    .dashboard-controls-top .dashboard-mini-stats { margin-top:6px; }
    .dashboard-mini-stats span { padding:7px; }
    .dashboard-control-alerts { margin-top:8px; }
}

@media (max-width:1100px) {
    .direction-shell { height:auto; overflow:auto; }
    .direction-dashboard { display:block; height:auto; min-height:100vh; }
    .dashboard-view { overflow:visible; }
    .dashboard-three-column { grid-template-columns:1fr; }
    .dashboard-controls-top { display:grid; gap:16px; grid-template-columns:1fr; }
    .control-summary-panel { display:grid; gap:10px; grid-template-columns:repeat(3,1fr); }
}
