/* ==========================================================================
   AsistaWeb · Diseño 2026 · Portal del trabajador y accesos (AdminLTE / Bootstrap 3)
   Se carga DESPUÉS de bootstrap, AdminLTE y sus skins. Solo cambia la apariencia:
   colores, letra, bordes y espacios. Todo bajo body.aw-emp.
   ========================================================================== */

@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2"); }

body.aw-emp {
    --aw-ink: #13233A; --aw-ink-2: #1B2F4C; --aw-ink-3: #2B4466;
    --aw-text: #13233A; --aw-text-2: #4A5668; --aw-text-3: #5B6778; --aw-side-text: #C9D3E1;
    --aw-primary: #1F6FB2; --aw-primary-dark: #174F80; --aw-primary-soft: #E6F0FA;
    --aw-orange: #F39200; --aw-orange-soft: #FFF1DC; --aw-orange-text: #8A4B00;
    --aw-green: #1E8449; --aw-green-soft: #E3F4EA; --aw-green-text: #17633A;
    --aw-red: #B42318; --aw-red-soft: #FDE8E8; --aw-red-text: #A11A1A;
    --aw-bg: #F3F5F9; --aw-surface-2: #F7F9FC; --aw-border: #E3E8EF; --aw-border-2: #D5DCE6;
    --aw-font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
    --aw-mono: "JetBrains Mono", Consolas, monospace;
    font-family: var(--aw-font); font-size: 14px; color: var(--aw-text); background: var(--aw-bg);
}
body.aw-emp h1, body.aw-emp h2, body.aw-emp h3, body.aw-emp h4, body.aw-emp h5,
body.aw-emp .h1, body.aw-emp .h2, body.aw-emp .h3, body.aw-emp .h4,
body.aw-emp .main-header .logo, body.aw-emp .main-sidebar, body.aw-emp .btn, body.aw-emp .form-control {
    font-family: var(--aw-font);
}
body.aw-emp h1, body.aw-emp h2, body.aw-emp h3, body.aw-emp h4 { font-weight: 700; color: var(--aw-text); }
body.aw-emp a { color: var(--aw-primary); }
body.aw-emp a:hover, body.aw-emp a:focus { color: var(--aw-primary-dark); }
body.aw-emp .dt-hash, body.aw-emp .hash { font-family: var(--aw-mono); }

/* Barra superior y logo */
body.aw-emp .main-header .navbar,
body.aw-emp.skin-blue .main-header .navbar { background: #fff; border-bottom: 1px solid var(--aw-border); }
body.aw-emp .main-header .navbar .nav > li > a,
body.aw-emp .main-header .navbar .sidebar-toggle { color: var(--aw-text); }
body.aw-emp .main-header .navbar .nav > li > a:hover,
body.aw-emp .main-header .navbar .sidebar-toggle:hover { background: var(--aw-surface-2); color: var(--aw-text); }
body.aw-emp .main-header .navbar .nav > li:first-child > a { font-weight: 700; }
body.aw-emp .main-header .logo,
body.aw-emp.skin-blue .main-header .logo { background: var(--aw-ink); color: #fff; border-bottom: 0; font-weight: 600; }
body.aw-emp.skin-blue .main-header .logo:hover { background: var(--aw-ink-2); }
body.aw-emp .main-header .logo .logo-lg b { color: var(--aw-orange); }
body.aw-emp .navbar-nav > .user-menu > .dropdown-menu > li.user-header { background: var(--aw-ink); }
body.aw-emp .navbar-nav > .user-menu > .dropdown-menu > li.user-header > p { color: #fff; }
body.aw-emp .navbar-nav > .user-menu .user-image,
body.aw-emp .navbar-nav > .user-menu > .dropdown-menu > li.user-header > img { background: #fff; object-fit: contain; }
body.aw-emp .dropdown-menu { border-radius: 12px; border-color: var(--aw-border); box-shadow: 0 12px 32px rgba(19, 35, 58, .12); }

/* Menú lateral */
body.aw-emp .main-sidebar, body.aw-emp .left-side,
body.aw-emp.skin-blue .main-sidebar, body.aw-emp.skin-blue .left-side,
body.aw-emp.skin-blue .wrapper { background: var(--aw-ink); }
body.aw-emp .sidebar-menu { padding: 10px 8px; }
body.aw-emp .sidebar-menu > li > a,
body.aw-emp.skin-blue .sidebar-menu > li > a {
    color: var(--aw-side-text); border-left: 0; border-radius: 8px; margin: 1px 0; padding: 11px 12px; line-height: 1.35;
}
body.aw-emp.skin-blue .sidebar-menu > li:hover > a,
body.aw-emp.skin-blue .sidebar-menu > li.active > a { background: var(--aw-ink-2); color: #fff; border-left-color: transparent; }
body.aw-emp.skin-blue .sidebar-menu > li.active > a,
body.aw-emp .sidebar-menu > li.aw-activo > a { background: var(--aw-primary) !important; color: #fff !important; font-weight: 600; }
body.aw-emp .sidebar-menu > li > a > .fa { width: 22px; color: inherit; }
body.aw-emp.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span { background: var(--aw-ink-2); border-radius: 0 8px 8px 0; }

/* Contenido */
body.aw-emp .content-wrapper, body.aw-emp .right-side { background: var(--aw-bg); }
body.aw-emp .content-header > h1 { font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
body.aw-emp .main-footer { background: #fff; border-top: 1px solid var(--aw-border); color: var(--aw-text-3); font-size: 12px; }
body.aw-emp .main-footer p { margin: 4px 0 0; }

/* Cajas (box) como tarjetas */
body.aw-emp .box {
    border: 1px solid var(--aw-border); border-top-width: 1px; border-radius: 14px;
    box-shadow: 0 1px 2px rgba(19, 35, 58, .05); background: #fff; margin-bottom: 18px;
}
body.aw-emp .box.box-primary { border-top: 3px solid var(--aw-primary); }
body.aw-emp .box.box-warning { border-top: 3px solid var(--aw-orange); }
body.aw-emp .box.box-success { border-top: 3px solid var(--aw-green); }
body.aw-emp .box.box-default { border-top: 3px solid var(--aw-border-2); }
body.aw-emp .box-header { padding: 14px 18px; }
body.aw-emp .box-header.with-border { border-bottom: 1px solid var(--aw-border); }
body.aw-emp .box-header .box-title { font-size: 16px; font-weight: 700; }
body.aw-emp .box-body { padding: 16px 18px; }

/* Formularios y botones */
body.aw-emp .form-control {
    border-radius: 8px; border-color: var(--aw-border-2); min-height: 40px; font-size: 14px; color: var(--aw-text); box-shadow: none;
}
body.aw-emp .form-control:focus { border-color: var(--aw-primary); box-shadow: 0 0 0 3px #DCEAF7; }
body.aw-emp label { font-weight: 600; color: var(--aw-text-2); font-size: 13px; }
body.aw-emp .btn { border-radius: 10px; font-weight: 600; padding: 8px 16px; min-height: 40px; }
body.aw-emp .btn.btn-flat { border-radius: 10px; }
body.aw-emp .btn-sm, body.aw-emp .btn-xs { min-height: 0; padding: 5px 12px; border-radius: 8px; }
body.aw-emp .btn-primary { background: var(--aw-primary); border-color: var(--aw-primary); color: #fff; }
body.aw-emp .btn-primary:hover, body.aw-emp .btn-primary:focus, body.aw-emp .btn-primary:active { background: var(--aw-primary-dark); border-color: var(--aw-primary-dark); color: #fff; }
body.aw-emp .btn-success { background: var(--aw-green); border-color: var(--aw-green); }
body.aw-emp .btn-warning { background: var(--aw-orange); border-color: var(--aw-orange); color: var(--aw-ink); }
body.aw-emp .btn-danger { background: var(--aw-red); border-color: var(--aw-red); }
body.aw-emp .btn-default { background: #fff; border-color: var(--aw-border-2); color: var(--aw-text); }
body.aw-emp .btn-default:hover { background: var(--aw-surface-2); }
body.aw-emp input[type="submit"]:not(.btn), body.aw-emp input[type="button"]:not(.btn) {
    font-family: var(--aw-font); font-weight: 600; font-size: 13px; border-radius: 8px; padding: 6px 14px;
    border: 1px solid var(--aw-primary); background: var(--aw-primary); color: #fff; cursor: pointer;
}
body.aw-emp input[type="submit"]:not(.btn):hover, body.aw-emp input[type="button"]:not(.btn):hover { background: var(--aw-primary-dark); }

/* Alertas */
body.aw-emp .alert { border-radius: 12px; border: 1px solid; }
body.aw-emp .alert-info, body.aw-emp .callout.callout-info { background: var(--aw-primary-soft) !important; border-color: #C6DCF2 !important; color: var(--aw-primary-dark) !important; }
body.aw-emp .alert-warning, body.aw-emp .callout.callout-warning { background: var(--aw-orange-soft) !important; border-color: #F5D3A4 !important; color: var(--aw-orange-text) !important; }
body.aw-emp .alert-success, body.aw-emp .callout.callout-success { background: var(--aw-green-soft) !important; border-color: #B7E1C6 !important; color: var(--aw-green-text) !important; }
body.aw-emp .alert-danger, body.aw-emp .alert-error, body.aw-emp .callout.callout-danger { background: var(--aw-red-soft) !important; border-color: #F6C7C7 !important; color: var(--aw-red-text) !important; }
body.aw-emp .label-success { background: var(--aw-green); }
body.aw-emp .label-warning { background: var(--aw-orange); color: var(--aw-ink); }
body.aw-emp .label-primary { background: var(--aw-primary); }

/* Tablas (Bootstrap, GridView y ListView) */
body.aw-emp .table { background: #fff; }
body.aw-emp .table > thead > tr > th { background: var(--aw-surface-2); color: var(--aw-text-2); font-size: 12px; text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid var(--aw-border); }
body.aw-emp .table > tbody > tr > td { border-top: 1px solid #EEF1F5; vertical-align: middle; }
body.aw-emp table[rules], body.aw-emp [id$="itemPlaceholderContainer"] {
    background: #fff !important; border: 1px solid var(--aw-border) !important; border-collapse: separate !important; border-spacing: 0;
    border-radius: 12px; overflow: hidden; font-family: var(--aw-font) !important; font-size: 13px; max-width: 100%;
}
body.aw-emp table[rules] > tbody > tr > td, body.aw-emp table[rules] > tbody > tr > th,
body.aw-emp [id$="itemPlaceholderContainer"] > tbody > tr > td, body.aw-emp [id$="itemPlaceholderContainer"] > tbody > tr > th {
    border: 0 !important; border-bottom: 1px solid #EEF1F5 !important; padding: 8px 10px !important;
}
body.aw-emp table[rules] > tbody > tr > th, body.aw-emp .ListViewHeader, body.aw-emp .ListViewHeader > th {
    background: var(--aw-surface-2) !important; color: var(--aw-text-2) !important; font-size: 12px !important;
    text-transform: uppercase; letter-spacing: .03em; padding-top: 10px !important; padding-bottom: 10px !important;
}
body.aw-emp table[rules] > tbody > tr[style*="background-color"],
body.aw-emp .ListViewItem, body.aw-emp .ListViewAlter, body.aw-emp tr[style*="#E0FFFF" i] {
    background: #fff !important; color: var(--aw-text) !important; font-size: 13px !important;
}
body.aw-emp .ListViewAlter { background: #FAFBFD !important; }
body.aw-emp .ListViewSelect { background: #FFF6E8 !important; color: var(--aw-text) !important; }
body.aw-emp .ListViewEdit, body.aw-emp .ListViewInsert { background: var(--aw-primary-soft) !important; color: var(--aw-text) !important; }
body.aw-emp [style*="Verdana" i] { font-family: var(--aw-font) !important; }
body.aw-emp td[style*="#5D7B9D" i] { background: transparent !important; color: var(--aw-text-2) !important; }
body.aw-emp .content { overflow-x: auto; }

/* --------------------------------------------------------------------------
   Pantallas de acceso: trabajador y fiscalizador (login y olvido de clave)
   -------------------------------------------------------------------------- */
body.aw-emp.aw-emp-login { background: var(--aw-bg); min-height: 100vh; }
body.aw-emp-login .login-box { width: 400px; max-width: calc(100% - 32px); margin: 6vh auto 24px; }
body.aw-emp-login .login-logo { margin-bottom: 18px; }
body.aw-emp-login .login-logo img { border-radius: 16px; background: #fff; padding: 6px; box-shadow: 0 1px 2px rgba(19, 35, 58, .06); }
body.aw-emp-login .login-logo a, body.aw-emp-login .login-logo a:hover { color: var(--aw-text); text-decoration: none; }
body.aw-emp-login .login-logo h3, body.aw-emp-login .login-logo h4 { margin: 8px 0 0; }
body.aw-emp-login .login-logo h4 { font-size: 14px; color: var(--aw-text-3); text-transform: uppercase; letter-spacing: .08em; }
body.aw-emp-login .login-logo h3 { font-size: 24px; letter-spacing: -.01em; }
body.aw-emp-login .login-box-body {
    background: #fff; border: 1px solid var(--aw-border); border-radius: 18px; padding: 26px 26px 22px;
    box-shadow: 0 12px 32px rgba(19, 35, 58, .10); color: var(--aw-text);
}
body.aw-emp-login .login-box-msg { padding: 0 0 14px; font-size: 15px; color: var(--aw-text-2); }
body.aw-emp-login .form-control { min-height: 46px; font-size: 15px; padding-right: 40px; }
body.aw-emp-login .form-control-feedback { line-height: 46px; height: 46px; color: var(--aw-text-3); }
body.aw-emp-login .login-box-body .row > [class*="col-xs-3"]:first-child { display: none; }
body.aw-emp-login .login-box-body .row > .col-xs-6 { width: 100%; }
body.aw-emp-login .btn-block { min-height: 48px; font-size: 15px; }
body.aw-emp-login .login-box > p { text-align: center; color: var(--aw-text-3); font-size: 12px; margin-top: 16px; }
body.aw-emp-login .aw-volver { display: block; text-align: center; margin-top: 14px; font-size: 13px; }

/* --------------------------------------------------------------------------
   Páginas públicas sueltas con Bootstrap: Verificar, Propuesta y portal de fiscalización
   -------------------------------------------------------------------------- */
body.aw-solo-page { background: var(--aw-bg); min-height: 100vh; }
.aw-solo-head { background: #fff; border-bottom: 1px solid var(--aw-border); }
.aw-solo-head > div { max-width: 1000px; margin: 0 auto; padding: 10px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.aw-solo-head img { height: 40px; width: auto; display: block; }
.aw-solo-head span { font-size: 13px; font-weight: 600; color: var(--aw-text-2); }
body.aw-solo-page .caja, body.aw-solo-page .ventana {
    background: #fff; border: 1px solid var(--aw-border); border-top: 3px solid var(--aw-primary); border-radius: 16px;
    padding: 22px 24px; box-shadow: 0 12px 32px rgba(19, 35, 58, .08);
}
body.aw-solo-page .caja { max-width: 680px; margin: 28px auto; }
body.aw-solo-page .caja > h4, body.aw-solo-page .ventana > h4 { font-size: 20px; margin: 0 0 14px; }
body.aw-solo-page .caja table { width: 100%; }
body.aw-solo-page .caja table td { padding: 9px 10px; border-bottom: 1px solid #EEF1F5; vertical-align: top; }
body.aw-solo-page .caja table td:first-child { color: var(--aw-text-3); width: 40%; }
body.aw-solo-page .marco { max-width: 1000px; margin: 20px auto; padding: 0 16px; }
body.aw-solo-page .ventana { margin-bottom: 18px; min-height: 420px; }
body.aw-solo-page .lista { width: 100%; height: 340px; font-size: 13px; border: 1px solid var(--aw-border-2); border-radius: 10px; padding: 6px; }
body.aw-solo-page .pie { font-size: 12px; color: var(--aw-text-3); margin-top: 18px; line-height: 1.5; }
body.aw-solo-page .marco > .pie { text-align: center; }
body.aw-solo-page .hash { font-family: var(--aw-mono); font-size: 13px; word-break: break-all; }
body.aw-solo-page .text-success { color: var(--aw-green-text); }
body.aw-solo-page .text-danger { color: var(--aw-red-text); }
@media (max-width: 600px) {
    body.aw-solo-page .caja { margin: 16px 12px; padding: 18px; }
}
body.aw-emp-login .login-box-body .login-box-body { padding: 0; border: 0; box-shadow: none; border-radius: 0; }
body.aw-emp-login fieldset { border: 0; padding: 0; margin: 0; }
body.aw-emp-login .validation-summary-errors:empty { display: none; }
body.aw-emp-login .validation-summary-errors, body.aw-emp-login .field-validation-error { color: var(--aw-red-text); font-weight: 600; font-size: 13px; }
body.aw-emp-login .login-box-body > a, body.aw-emp-login .login-box-body .login-box-body > a { display: block; text-align: center; font-size: 13px; }

/* Tablas propias del portal (dt-grid) y menú con textos largos */
body.aw-emp .dt-grid { font-size: 13px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--aw-border); border-radius: 12px; overflow: hidden; }
body.aw-emp .dt-grid th { background: var(--aw-surface-2) !important; color: var(--aw-text-2) !important; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; padding: 9px 10px !important; border-bottom: 1px solid var(--aw-border); }
body.aw-emp .dt-grid td { padding: 8px 10px !important; border-bottom: 1px solid #EEF1F5 !important; }
body.aw-emp .dt-grid tr:last-child td { border-bottom: 0 !important; }
body.aw-emp .dt-alt td { background: var(--aw-orange-soft) !important; }
body.aw-emp .dt-hash { font-family: var(--aw-mono); font-size: 11px; color: var(--aw-text-3); }
body.aw-emp .dt-doc { border-radius: 10px; border-color: var(--aw-border) !important; background: var(--aw-surface-2) !important; }
body.aw-emp:not(.sidebar-collapse) .sidebar-menu > li > a { white-space: normal; }
@media (max-width: 767px) { body.aw-emp .sidebar-menu > li > a { white-space: normal; } }
body.aw-emp .box-body { overflow-x: auto; }
