/* Transporte Automotor Del Valle SRL - Gestion de Compras V1.0
   Capa visual: no modifica rutas, permisos, formularios ni datos. */
:root {
  --dv-navy:#112b40;
  --dv-navy-deep:#0b2032;
  --dv-blue:#1d608d;
  --dv-ink:#22364b;
  --dv-muted:#697c90;
  --dv-border:#dfe7ee;
  --dv-shadow:0 7px 26px rgba(29,53,78,.055);
}
body{background:#f3f6fa;color:var(--dv-ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
/* Encabezado institucional: perfil en primera fila, navegacion independiente. */
header.app-header{background:var(--dv-navy-deep);color:#ecf4f9;display:block;padding:0 22px;box-shadow:0 4px 16px rgba(9,29,45,.13)}
.app-header-shell{max-width:1380px;margin:auto}
.app-header-top{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0 12px}
.app-header a.app-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;min-width:0;line-height:1.25}
.app-brand-logo{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#388db3,#1b5b84);font-size:15px;letter-spacing:.5px;font-weight:800;color:white;box-shadow:inset 0 1px 1px #ffffff35}
.app-brand-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.app-brand .app-brand-copy strong{font-weight:720;font-size:17px;letter-spacing:.1px;line-height:1.24;margin:0}
.app-brand .app-brand-copy .version{font-size:12px;letter-spacing:.3px;color:#a9c9de}
.app-header .app-session{display:flex;gap:14px;align-items:center;font-size:13px;color:#f1f6fa;white-space:nowrap;margin:0;max-width:100%}
.app-session-user{display:flex;gap:9px;align-items:center;padding:0 2px}
.app-user-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#62d3b6;box-shadow:0 0 0 3px #62d3b620}
.app-user-name{display:flex;flex-direction:column;gap:1px;font-weight:640;line-height:1.25}
.app-user-name small{font-size:11px;color:#a9c1d0;font-weight:450}
.app-session form{margin:0}
.app-session button.btn-salir{padding:8px 16px;background:#ffffff15;border:1px solid #ffffff3c;color:#fff;border-radius:9px;font-size:12px;font-weight:650;box-shadow:none}
.app-session button.btn-salir:hover{background:#ffffff26;color:#fff}
.app-header .guest-caption{margin-left:auto;color:#a9c9de}
.app-header nav.app-nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:0 0 9px;background:transparent;min-width:0;border-top:1px solid #ffffff19;margin:0;overflow:visible}
.app-header .app-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;line-height:1.3;border-radius:8px;text-decoration:none;font-size:13px;font-weight:550;color:#c9d9e5!important;white-space:nowrap;transition:background .16s,color .16s}
.app-header .app-nav a:hover{background:#ffffff15;color:#fff!important;text-decoration:none}
.app-header .app-nav a.active{background:#d9eaf5;color:#153e60!important;font-weight:750}
.app-header .app-nav a.active:hover{background:#eaf5fb;color:#153e60!important}
main.container{max-width:1320px;margin:25px auto;padding:0 22px 56px;min-height:56vh}
main.container h1{font-size:27px;font-weight:750;letter-spacing:-.6px;color:#173249}
main.container h2{color:#20374d;letter-spacing:-.25px}
main.container .card{border:1px solid var(--dv-border);border-radius:13px;box-shadow:var(--dv-shadow);margin:16px 0}
main.container input, main.container select,main.container textarea{border-color:#c7d5e2;transition:border-color .15s,box-shadow .15s}
main.container input:focus,main.container select:focus,main.container textarea:focus{outline:none;border-color:#4290b6;box-shadow:0 0 0 3px rgba(42,126,177,.12)}
main.container .btn:not(.btn-danger):not(.bad):not(.warn):not(.ok){border-radius:9px}
main.container table th{font-size:12px;font-weight:740;color:#536a7f;background:#f4f7fa}
main.container table td{color:#34485c}
main.container .flash{border-radius:10px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #65b9df;outline-offset:2px}
/* Dashboard - estilos acotados a su bloque; el resto de modulos mantiene su estructura. */
.dashboard{display:grid;gap:21px}
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:7px 2px 0}
.dashboard-eyebrow{color:#327295;font-size:11px;letter-spacing:1.65px;font-weight:790;margin:0 0 6px}
main.container .dashboard-heading h1{font-size:32px;letter-spacing:-1.15px;margin:0 0 5px;line-height:1.22}
.dashboard-subtitle{color:var(--dv-muted);font-size:14px;margin:0;max-width:720px}
.dashboard-edition{display:inline-flex;flex:0 0 auto;align-items:center;padding:7px 11px;font-size:11px;font-weight:700;border:1px solid #d4e5f0;background:#eaf2f8;color:#326386;border-radius:999px;white-space:nowrap}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.dashboard-stat{position:relative;display:flex;flex-direction:column;min-height:154px;padding:20px 20px 17px;background:white;border:1px solid var(--dv-border);border-radius:14px;box-shadow:var(--dv-shadow);overflow:hidden}
.dashboard-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#6ca7c7}
.dashboard-stat-pending:before{background:#d39b45}
.dashboard-stat-open:before{background:#488cb7}
.dashboard-stat-done:before{background:#3eab87}
.dashboard-stat-catalog:before{background:#8697b1}
.dashboard-stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dashboard-stat-label{font-size:12px;line-height:1.45;font-weight:700;color:#66798c}
.dashboard-stat-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#e8f4fa;color:#297296}
.dashboard-stat-icon svg{width:20px;height:20px}
.dashboard-stat-pending .dashboard-stat-icon{background:#fff4df;color:#ae7727}
.dashboard-stat-done .dashboard-stat-icon{background:#e7f7ef;color:#26875f}
.dashboard-stat-catalog .dashboard-stat-icon{background:#edf0f7;color:#617391}
.dashboard-stat-number{color:#19354d;font-weight:800;font-size:35px;line-height:1.2;letter-spacing:-1px;margin:10px 0 3px;font-variant-numeric:tabular-nums}
.dashboard-stat-desc{font-size:11px;color:#8290a0}
.dashboard-panel{background:#fff;border:1px solid var(--dv-border);border-radius:14px;box-shadow:var(--dv-shadow);padding:22px 24px}
.dashboard-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
main.container .dashboard-panel-head h2{font-size:18px;font-weight:760;margin:0 0 3px;color:#233a51}
.dashboard-panel-head p{font-size:12px;color:#8492a1;margin:0}
.dashboard-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
main.container a.dashboard-shortcut{display:flex;align-items:center;min-height:81px;gap:12px;padding:14px;background:#f8fafc;border:1px solid #e5ebf1;border-radius:11px;text-decoration:none;color:#23425b;transition:background .15s,border-color .15s,transform .15s}
main.container a.dashboard-shortcut:hover{background:#eef6fa;border-color:#bfd8e6;text-decoration:none;transform:translateY(-1px)}
.dashboard-shortcut-symbol{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#e1edf5;color:#326c94;font-weight:800;font-size:11px;letter-spacing:.2px}
.dashboard-shortcut-copy{display:flex;flex-direction:column;min-width:0;gap:4px}
.dashboard-shortcut-copy strong{font-size:12px;font-weight:750;line-height:1.25;color:#2c455d}
.dashboard-shortcut-copy small{font-size:11px;color:#7d8c9c;line-height:1.25}
.dashboard-shortcut-arrow{color:#7ea1bc;font-size:19px;margin-left:auto}
main.container a.dashboard-all-link{font-size:12px;font-weight:750;color:#276d97;text-decoration:none;white-space:nowrap}
main.container a.dashboard-all-link:hover{text-decoration:underline}
.dashboard-table-scroll{overflow-x:auto;width:100%}
main.container table.dashboard-table{min-width:600px;width:100%;border-collapse:collapse}
.dashboard-table th,.dashboard-table td{padding:14px 13px;border-bottom:1px solid #edf1f5;vertical-align:middle;text-align:left;font-size:12px}
main.container .dashboard-table th{color:#678096;background:#f5f8fb;text-transform:uppercase;font-size:10px;letter-spacing:.6px}
.dashboard-table th:first-child{border-top-left-radius:8px}
.dashboard-table th:last-child{border-top-right-radius:8px}
.dashboard-table tr:last-child td{border-bottom:none}
.dashboard-table tbody tr:hover{background:#fafcfe}
main.container .dashboard-request-id a{font-weight:800;color:#26658f;text-decoration:none}
main.container .dashboard-request-id a:hover{text-decoration:underline}
.dashboard-date{color:#8190a0!important;white-space:nowrap}
.dashboard-number-cell{text-align:right!important;font-variant-numeric:tabular-nums}
.dashboard-status{display:inline-block;padding:6px 10px;white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2;border-radius:999px;border:1px solid transparent}
.status-approved{background:#e8f7ef;color:#23774c;border-color:#d3eddf}
.status-pending{background:#fff5e5;color:#946622;border-color:#f5e3c4}
.status-rejected{background:#fdf0ee;color:#b44b44;border-color:#f5d8d3}
.status-draft{background:#edf1f5;color:#65778a;border-color:#dfe6ed}
.status-default{background:#eaf1f9;color:#2b6e99;border-color:#d9e6f1}
.dashboard-empty{text-align:center!important;color:#8292a2!important;padding:30px!important}
.dashboard-footnote{font-size:11px;color:#98a7b5;margin:1px 1px 0}
@media(max-width:1110px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.app-header-top{min-height:70px}.app-header nav.app-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:10px}.app-header .app-nav a{flex:0 0 auto}.app-brand .app-brand-copy strong{font-size:15px}.app-session-user{font-size:12px}}
@media(max-width:650px){header.app-header{padding:0 13px}.app-header-top{align-items:flex-start;flex-wrap:wrap;gap:10px;padding-top:11px}.app-header a.app-brand{flex:1 1 100%}.app-brand-logo{width:37px;height:37px;flex-basis:37px;border-radius:10px}.app-session{margin-left:auto!important}.app-user-name{font-size:11px}.app-user-name small{font-size:10px}.app-session button.btn-salir{padding:7px 13px}.app-header .app-nav a{font-size:12px}main.container{padding:0 14px 40px;margin:18px auto}.dashboard{gap:15px}.dashboard-heading{align-items:flex-start;flex-wrap:wrap;gap:9px}main.container .dashboard-heading h1{font-size:27px}.dashboard-edition{font-size:10px}.dashboard-stats{gap:10px}.dashboard-stat{min-height:144px;padding:14px}.dashboard-stat-icon{width:30px;height:30px;flex-basis:30px}.dashboard-stat-label{font-size:11px}.dashboard-stat-number{font-size:29px}.dashboard-panel{padding:17px 15px}.dashboard-shortcut-grid{grid-template-columns:1fr}.dashboard-panel-head{align-items:flex-start}}
@media(max-width:360px){.dashboard-stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.dashboard-shortcut,.app-header .app-nav a{transition:none!important}}
/* Ajustes de ancho: los paneles no deben expandir la pantalla en moviles. */
.app-header a.app-brand{flex-direction:row;align-items:center}
.dashboard,.dashboard > *, .dashboard-panel,.dashboard-table-scroll{min-width:0}
.dashboard > *{max-width:100%}
@media(max-width:650px){main.container{width:100%;max-width:100%}}

/* TADELVA_LOGO_OFICIAL_V1 */
header.app-header .app-brand-logo.app-brand-logo-oficial {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 52px;
    flex: 0 0 140px;
    box-sizing: border-box;
    padding: 3px 7px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0,0,0,.18);
}
header.app-header .app-brand-logo-oficial img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    object-fit: contain;
}
@media (max-width: 650px) {
    header.app-header .app-brand-logo.app-brand-logo-oficial {
        width: 112px;
        height: 44px;
        flex: 0 0 112px;
        padding: 2px 4px;
    }
}

/* TADELVA_SOLICITUDES_VISUAL_V1_20261011 - Solo la pantalla de listado de solicitudes. */
.solicitudes-page{display:grid;gap:18px;min-width:0}
.solicitudes-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:6px 2px 0}
main.container .solicitudes-heading h1{margin:0 0 5px;font-size:31px;line-height:1.2;letter-spacing:-.8px}
.solicitudes-lead{margin:0;color:#758799;font-size:13px}
.solicitudes-heading-pill{display:inline-flex;align-items:center;background:#eaf2f8;color:#326386;border:1px solid #d4e5f0;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;white-space:nowrap}
main.container .solicitudes-panel{background:#fff;border:1px solid #dfe7ee;border-radius:14px;box-shadow:0 7px 26px rgba(29,53,78,.055);padding:22px 24px;min-width:0}
.solicitudes-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
main.container .solicitudes-panel-heading h2{font-size:18px;line-height:1.25;font-weight:760;margin:0 0 4px;color:#20374d}
.solicitudes-panel-heading p{font-size:12px;color:#8293a3;line-height:1.5;margin:0}
.solicitudes-number-marker{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f4fa;color:#216c97;font-size:24px;font-weight:500}
.solicitudes-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.solicitudes-field{min-width:0}
main.container .solicitudes-field label{margin:0 0 6px;font-size:12px;font-weight:730;color:#455e73}
main.container .solicitudes-field input,main.container .solicitudes-field select,main.container .solicitudes-field textarea{min-height:42px;width:100%;border:1px solid #d1dde8;border-radius:9px;padding:10px 12px;font-size:13px;background:#fff;color:#34485d}
main.container .solicitudes-field textarea{min-height:64px;resize:vertical;line-height:1.45}
.solicitudes-field input::placeholder,.solicitudes-field textarea::placeholder{color:#9aa9b6}
.solicitudes-field small{display:block;font-size:10px;color:#8a9cad;margin-top:5px;line-height:1.3}
.solicitudes-date-error[hidden]{display:none!important}
.solicitudes-date-error{color:#b34343!important;font-weight:700;margin-top:5px!important}
main.container .solicitudes-field input[aria-invalid="true"]{border-color:#d37d77;box-shadow:0 0 0 3px #f8dedc}
.solicitudes-motivo{margin-top:13px}
.solicitudes-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}
.solicitudes-required-hint{font-size:11px;color:#93a2af}
main.container button.solicitudes-create-button{background:#1d608d;border:1px solid #1d608d;color:white;font-size:12px;font-weight:700;padding:10px 15px;display:inline-flex;gap:16px;align-items:center}
main.container button.solicitudes-create-button:hover{background:#174e74}
.solicitudes-total{display:inline-flex;align-items:center;flex:0 0 auto;background:#edf4f8;border-radius:999px;color:#57768b;padding:6px 11px;font-size:11px;font-weight:750;white-space:nowrap}
.solicitudes-table-scroll{width:100%;max-width:100%;overflow-x:auto}
main.container table.solicitudes-table{width:100%;min-width:710px;border-collapse:collapse}
main.container table.solicitudes-table th{padding:13px 12px;background:#f4f8fb;color:#647e92;text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:750;border-bottom:1px solid #e3ebf1;white-space:nowrap;text-align:left}
main.container table.solicitudes-table td{padding:13px 12px;border-bottom:1px solid #edf1f5;font-size:12px;vertical-align:middle;color:#34485c}
main.container table.solicitudes-table tr:last-child td{border-bottom:none}
.solicitudes-table tbody tr:hover{background:#fafcfe}
main.container .solicitudes-id a{color:#246d98;font-weight:780;text-decoration:none;white-space:nowrap}
main.container .solicitudes-id a:hover{text-decoration:underline}
main.container .solicitudes-date{color:#7d91a2!important;white-space:nowrap;font-variant-numeric:tabular-nums}
.solicitudes-priority{display:inline-block;font-size:11px;font-weight:700;padding:5px 8px;border-radius:7px;white-space:nowrap}
.priority-normal{background:#eef2f6;color:#667a8c}
.priority-urgent{background:#fff3dd;color:#92601d}
.priority-critical{background:#ffebe9;color:#a9433b}
.solicitudes-empty{text-align:center!important;color:#8093a4!important;padding:25px!important}
@media(max-width:1080px){.solicitudes-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.solicitudes-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.solicitudes-heading-pill{font-size:10px}main.container .solicitudes-heading h1{font-size:27px}main.container .solicitudes-panel{padding:17px 15px}.solicitudes-form-grid{gap:11px}.solicitudes-panel-heading{margin-bottom:14px}.solicitudes-form-actions{align-items:flex-end}}
@media(max-width:460px){.solicitudes-form-grid{grid-template-columns:1fr}.solicitudes-form-actions{flex-wrap:wrap}}

