@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);
:root { --surface: #F8FAFC; --apu-checkout-radius: 8px; --color-white: #fff; --color-dark: #2c3e50; --color-dark-secondary: #34495e; --color-primary: #019cd7; --color-primary-light: #6aa3c9; --color-primary-dark: #027dc1; --color-secondary: #34495e; --color-accent: #f39c12; --color-success: #2ecc71; --color-warning: #f39c12; --color-danger: #e74c3c; --color-neutral-50: #f9fafb; --color-neutral-100: #f3f4f6; --color-neutral-200: #e5e7eb; --color-neutral-300: #d1d5db; --color-neutral-700: #374151; --color-neutral-800: #1f2937; --color-neutral-900: #111827; --form-field-border: var(--color-primary-light); --accent-color: var(--color-primary); --highlight: #f5f9fc; --row-hover: #e8f4fc; --row-select: #e1f0fb; --grid-border: #e2e8f0; --grid-header-bg: var(--color-dark-secondary); --fsize: .67rem; --font-family-base: 'Poppins','Open Sans',sans-serif; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --line-height-tight: 1.2; --line-height-normal: 1.5; --letter-spacing-normal: 0; --letter-spacing-wide: .025em; --spacing-xs: .25rem; --spacing-sm: .5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --grid-shadow: 0 1px 3px rgba(0,0,0,.07); --shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05); --shadow-md: 0 4px 6px -1px rgba(0,0,0,.1); --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1); --grid-radius: .25rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-full: 9999px; --transition-fast: 150ms cubic-bezier(.4,0,.2,1); --transition-normal: 300ms cubic-bezier(.4,0,.2,1); --transition-slow: 500ms cubic-bezier(.4,0,.2,1); --transition-bounce: 300ms cubic-bezier(.34,1.56,.64,1); /* ========= LOGIN ========= */ /* FONDOS */ --bg-main: #F8F6F2; --bg-soft: #FEF3E8; --bg-card: rgba(255,255,255,.98); /* TEXTOS */ --textT: #141410; --muted: #5C5A55; /* BORDES */ --border: #E4E1DB; /* COLORES PRINCIPALES */ --color-primaryL: #F5821F; --color-primary-darkL: #D96A0A; --color-primary-lightL: #F7A75B; --color-sideL: #141410; /* ACENTO */ --color-accentL: #FFB347; /* ALERTAS */ --color-dangerL: #B42318; --danger-bg: #FFF3F0; --danger-border: #FFD8D1; /* PANEL LOGIN */ --brand-bg-1: #141410; --brand-bg-2: #2A261F; --brand-bg-3: #3A2A18; /* SOMBRAS */ --shadow-primary: 0 10px 30px rgba(245,130,31,.22); --shadow-primary-soft: rgba(245,130,31,.10); /* RADIO */ --radius-main: 20px; /* ========= COMPATIBILIDAD LOGIN ========= */ --warm: var(--bg-main); --soft: var(--bg-soft); --orange: var(--color-primaryL); --orange-d: var(--color-primary-darkL); --orange-b: var(--color-primary-lightL); --r: var(--radius-main); --danger: var(--color-dangerL); --danger-b: var(--danger-border); /* CARD */ --apu-theme-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --login-card-bg: var(--bg-card); --login-border: var(--border); --bs-primary-rgb: black; --btnSesion: #F5821F; --cp: #212529; --cp-h: #F5821F; }

@keyframes fadeIn {
  from { opacity: 0 }
  to { opacity: 1 }
}

@keyframes slideInUp {
  from { transform: translateY(20px); opacity: 0 }
  to { transform: translateY(0); opacity: 1 }
}

@keyframes slideInLeft {
  from { transform: translateX(-20px); opacity: 0 }
  to { transform: translateX(0); opacity: 1 }
}

@keyframes slideInRight {
  from { transform: translateX(20px); opacity: 0 }
  to { transform: translateX(0); opacity: 1 }
}

@keyframes slideDown {
  from { transform: translateY(-20px); opacity: 0 }
  to { transform: translateY(0); opacity: 1 }
}

@keyframes tableHighlight {
  0% { background-color: rgba(1,156,215,.15) }
  100% { background-color: transparent }
}

@keyframes rippleEffect {
  0% { transform: scale(0); opacity: .6 }
  100% { transform: scale(2.5); opacity: 0 }
}

@keyframes successCheck {
  0% { transform: scale(0); opacity: 0 }
  50% { transform: scale(1.2); opacity: 1 }
  100% { transform: scale(1); opacity: 1 }
}

.login-page { background: transparent !important }
.login-form { background: transparent !important; }
/*Estilos de Login*/
.login-card { width: min(600px,calc(100vw - 36px)) !important; min-height: 320px !important; grid-template-columns: 200px 1fr !important; display: grid !important; overflow: hidden !important; background: var(--login-card-bg) !important; border: 1px solid var(--border) !important; border-radius: var(--r) !important; box-shadow: 0 28px 70px rgba(20,20,16,.12), 0 8px 24px rgba(27,94,32,.08) !important; position: fixed !important; inset: 50% auto auto 50% !important; transform: translate(-50%,-50%) !important }

.brand-side { position: relative !important; padding: 24px 20px !important; background: linear-gradient( 155deg, color-mix(in srgb, var(--brand-bg-1) 94%, black) 0%, color-mix(in srgb, var(--brand-bg-1) 82%, var(--brand-bg-2)) 48%, color-mix(in srgb, var(--brand-bg-3) 58%, black) 100% ) !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; overflow: hidden !important; }

  .brand-side:before { content: ""; position: absolute; top: -110px; right: -90px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient( circle, color-mix(in srgb, var(--color-primary-lightL) 26%, transparent), transparent 72% ); }

  .brand-side:after { content: ""; position: absolute; left: -120px; bottom: -120px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient( circle, color-mix(in srgb, var(--color-accentL) 20%, transparent), transparent 76% ); }
.brand-logo { position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: auto /*110px !important*/; padding: 8px 10px !important; background: none !important; border-radius: 14px !important; box-shadow: 0 12px 28px rgba(0,0,0,.18) !important }

  .brand-logo img { height:auto /*24px !important*/; width: auto !important; display: block !important }
.theme-logo { content: url('/html/img/logoB.webp'); max-width: 150px; /* Ajusta según necesites */ height: auto; display: block; }
.brand-copy { position: relative !important }

.brand-kicker { font: 800 11px/1 var(--ff-title) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: rgba(255,255,255,.42) !important; margin-bottom: 12px !important }

.brand-title { font: 800 22px/1.03 var(--ff-title) !important; letter-spacing: -.045em !important; color: #fff !important }

  .brand-title span { color: var(--orange) !important }

.brand-sub { max-width: 18ch !important; margin-top: 14px !important; color: rgba(255,255,255,.62) !important; font: 500 13px/1.55 var(--ff-body) !important }

.brand-line { width: 54px !important; height: 3px !important; border-radius: 999px !important; background: var(--orange) !important; margin-top: 22px !important }

.login-form { padding: 30px 32px !important; display: flex !important; flex-direction: column !important; justify-content: center !important }

.login-title { display: flex !important; align-items: center !important; gap: 9px !important; margin-bottom: 20px !important; font: 800 18px/1 var(--ff-title) !important; letter-spacing: -.035em !important; color: var(--textT) !important }

.login-title-icon { width: 18px !important; height: 18px !important; color: var(--orange) !important }

.login-input { width: 100% !important; height: 42px !important; font: 500 15px/1 var(--ff-body) !important; padding: 0 14px !important; margin-bottom: 11px !important; border: 1px solid transparent !important; border-radius: 11px !important; outline: none !important; background: var(--warm) !important; color: var(--text) !important; letter-spacing: -.025em !important; box-shadow: inset 0 0 0 1px rgba(228,225,219,.75) !important; transition: border-color .18s,box-shadow .18s,background .18s !important }

.login-inputB { width: 85% !important; height: 42px !important; font: 500 15px/1 var(--ff-body) !important; padding: 0 14px !important; margin-bottom: 11px !important; border: 1px solid transparent !important; border-radius: 11px !important; outline: none !important; background: var(--warm) !important; color: var(--text) !important; letter-spacing: -.025em !important; box-shadow: inset 0 0 0 1px rgba(228,225,219,.75) !important; transition: border-color .18s,box-shadow .18s,background .18s !important }

.login-input:focus { background: #fff !important; border-color: var(--orange-b) !important; box-shadow: inset 0 0 0 1px var(--orange-b), 0 0 0 4px rgba(27,94,32,.12) !important }

.login-inputB:focus { background: #fff !important; border-color: var(--orange-b) !important; box-shadow: inset 0 0 0 1px var(--orange-b), 0 0 0 4px rgba(27,94,32,.12) !important }


@media(max-width:760px) {
  .login-card { grid-template-columns: 1fr !important; width: min(100%,520px) !important; min-height: auto !important }
  .brand-side { padding: 18px 16px !important; gap: 26px !important }
  .brand-title { font-size: 20px !important; }
  .brand-sub { max-width: 100% !important }
  .login-form { padding: 34px 24px !important }
  .brand-logo img { height: 30px !important }
  .login-input, .login-button, .botonD, input[id$="LoginButton"], .btn-buscar-empresa, .login-inputB { height: 48px !important; font-size: 18px !important }
  .btn-buscar-empresa { width: 48px !important; min-width: 48px !important }
  .login-title { font-size: 21px !important }
  .login-button, .botonD, input[id$="LoginButton"] { font-size: 21px !important }
  .modal-primary, .modal-secondary { width: 100% !important }
  .tbl-sitios { width: calc(100% - 28px) !important; margin: 0 14px 18px !important }
}

@media(max-height:620px),(max-width:760px) {
  .login-page { align-items: flex-start !important; place-items: start center !important; padding-top: 28px !important; padding-bottom: 28px !important }
  .login-card { position: relative !important; inset: auto !important; transform: none !important; margin: auto !important }
  .login-form { padding: 24px 18px !important; }
}
/*----------------------------*/


/*login actual*/
.apu-login-page,
.apu-login-page *,
.apu-login-page *::before,
.apu-login-page *::after { box-sizing: border-box; }

    .apu-login-page > .aspNetHidden,
    .apu-login-page > input[type="hidden"] { display: none !important; }

body.apu-login-body { /* COLORES PRINCIPALES */ --apu-primary: var(--color-primaryL, #F5821F); --apu-primary-dark: var(--color-primary-darkL, #D96A0A); --apu-primary-light: var(--color-primary-lightL, #F7A75B); --apu-accent: var(--color-accentL, #FFB347); /* SUPERFICIES */ --apu-page-bg: var(--bg-main, #F8F6F2); --apu-card-bg: var(--bg-card, rgba(255,255,255,.98)); --apu-input-bg: var(--surface, #FEF3E8); /* TEXTOS Y BORDES */ --apu-text: var(--textT, #141410); --apu-muted: var(--muted, #5C5A55); --apu-border: var(--border, #E4E1DB); /* ALERTAS */ --apu-danger: var(--color-dangerL, #B42318); --apu-danger-bg: var(--danger-bg, #FFF3F0); /* PANEL IZQUIERDO */ --apu-brand-bg-1: var(--brand-bg-1, #141410); --apu-brand-bg-2: var(--brand-bg-2, #2A261F); --apu-brand-bg-3: var(--brand-bg-3, #3A2A18); --apu-radius: var(--radius-main, 20px); --apu-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.apu-login-body { width: 100%; min-height: 100%; margin: 0; font-family: var(--apu-font); color: var(--apu-text); -webkit-font-smoothing: antialiased; }

    body.apu-login-body.row.table-responsive,
    body.apu-login-body { display: block !important; max-width: none !important; min-height: 100vh !important; min-height: 100dvh !important; margin: 0 !important; overflow-x: hidden !important; background: var(--apu-page-bg) !important; }

        body.apu-login-body.row { --bs-gutter-x: 0; --bs-gutter-y: 0; }

.apu-login-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(470px, 1fr); min-height: 100vh; min-height: 100dvh; margin: 0; font: 400 16px/1.5 var(--apu-font); }

.apu-visual { position: relative; display: flex; min-width: 0; overflow: hidden; padding: 56px 52px; color: #fff; }

.apu-visual-image,
.apu-visual-overlay { position: absolute; inset: 0; }

.apu-visual-image { background-image: url("../img/login-apuweb-bg.webp"); background-position: 44% top; background-size: cover; }

.apu-visual-overlay { background: linear-gradient( to right, color-mix( in srgb, var(--apu-brand-bg-1) 82%, transparent ) 0%, color-mix( in srgb, var(--apu-brand-bg-1) 75%, transparent ) 35%, color-mix( in srgb, var(--apu-brand-bg-2) 55%, transparent ) 55%, color-mix( in srgb, var(--apu-brand-bg-3) 20%, transparent ) 72%, transparent 100% ), linear-gradient( to bottom, color-mix( in srgb, var(--apu-brand-bg-1) 97%, transparent ) 0%, color-mix( in srgb, var(--apu-brand-bg-1) 93%, transparent ) 18%, color-mix( in srgb, var(--apu-brand-bg-2) 78%, transparent ) 50%, color-mix( in srgb, var(--apu-brand-bg-3) 88%, transparent ) 78%, color-mix( in srgb, var(--apu-brand-bg-3) 95%, transparent ) 100% ); }
.apu-visual-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; max-width: 590px; margin-top: -60px; }

.apu-wordmark,
.apu-card-logo { display: flex; align-items: baseline; line-height: 1; }

.apu-wordmark { margin-bottom: 16px; font-size: 64px; }

.apu-wordmark-strong,
.apu-card-logo-strong { font-weight: 900; letter-spacing: -.045em; }

.apu-wordmark-separator,
.apu-card-logo-separator { margin: 0 4px; color: var(--apu-accent); font-weight: 300; }

.apu-wordmark-light,
.apu-card-logo-light { font-weight: 300; }

.apu-wordmark-light { color: rgba(255, 255, 255, .46); }

.apu-tagline { margin: 0 0 36px; color: rgba(255, 255, 255, .88); font-size: 18px; font-style: italic; font-weight: 700; line-height: 1.5; text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }

.apu-metrics { display: flex; align-items: stretch; margin-bottom: 28px; }

.apu-metric-value { color: #fff; font-size: 32px; font-weight: 800; letter-spacing: -.04em; line-height: 1; text-shadow: 0 2px 12px rgba(0, 0, 0, .5); }

    .apu-metric-value span { color: var(--apu-accent); }

.apu-metric-label { margin-top: 7px; color: rgba(255, 255, 255, .48); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

.apu-metric-divider { width: 1px; margin: 3px 28px 0; background: rgba(255, 255, 255, .2); }

.apu-accent-line { width: 100%; height: 2px; margin-bottom: 24px; border-radius: 2px; background: var(--apu-accent); }

.apu-access-badge { display: inline-flex; align-items: center; gap: 10px; width: fit-content; padding: 11px 18px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 8px; background: rgba(0, 0, 0, .42); color: rgba(255, 255, 255, .68); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; backdrop-filter: blur(10px); }

.apu-access-dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--apu-accent); box-shadow: 0 0 10px color-mix(in srgb, var(--apu-accent) 80%, transparent); }

.apu-access { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 32px 40px; background: var(--apu-page-bg); }

.apu-login-card { width: 100%; max-width: 500px; padding: 28px 32px; border: 3px solid var(--apu-primary); border-radius: min(var(--apu-radius), 16px); background: var(--apu-card-bg); box-shadow: 0 0 0 5px color-mix(in srgb, var(--apu-primary) 9%, transparent), 0 8px 36px color-mix(in srgb, var(--apu-primary) 18%, transparent), 0 2px 8px rgba(0, 0, 0, .06); }

.apu-card-logo { justify-content: center; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1.5px solid var(--apu-border); font-size: 28px; }

.apu-card-logo-strong { color: var(--apu-text); }

.apu-card-logo-light { color: var(--apu-muted); }


.apu-message,
.apu-failure-message { display: none; }

    .apu-message.apu-has-message,
    .apu-failure-message.apu-has-message { display: block; margin-bottom: 14px; padding: 9px 11px; border: 1px solid var(--apu-danger); border-radius: 8px; background: var(--apu-danger-bg); color: var(--apu-danger); }

.apu-message,
.apu-failure-message { margin-bottom: 14px; padding: 9px 11px; border: 1px solid color-mix(in srgb, var(--apu-danger) 28%, transparent); border-radius: 8px; background: var(--apu-danger-bg); color: var(--apu-danger); font-size: 12px; line-height: 1.4; }

.apu-failure-message { margin: 12px 0 0; }

.apu-card-heading { margin-bottom: 20px; }

.apu-role-pill { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; padding: 4px 10px; border: 1px solid color-mix(in srgb, var(--apu-primary) 18%, transparent); border-radius: 6px; background: color-mix(in srgb, var(--apu-primary) 8%, transparent); color: var(--apu-primary-dark); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.apu-card-heading h1,
.apu-modal-content h2 { margin: 0; color: var(--apu-text); font-weight: 800; letter-spacing: -.03em; }

.apu-card-heading h1 { margin-bottom: 5px; font-size: 22px; line-height: 1.15; }

.apu-card-heading p,
.apu-modal-content p { margin: 0; color: var(--apu-muted); font-size: 13px; line-height: 1.5; }

#Login1,
#Login1 table,
#Login1 tbody,
#Login1 tr,
#Login1 td { width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-collapse: collapse !important; vertical-align: top !important; }

.apu-fields { display: flex; flex-direction: column; gap: 14px; }

.apu-field,
.apu-password-wrap,
.apu-company-search,
.apu-modal-field { position: relative; }

.apu-field-label { display: block; margin-bottom: 5px; color: var(--apu-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.apu-input { width: 100% !important; height: 44px !important; margin: 0 !important; padding: 0 14px !important; border: 1.5px solid var(--apu-border) !important; border-radius: 8px !important; outline: none !important; background: var(--apu-input-bg) !important; color: var(--apu-text) !important; font-family: var(--apu-font) !important; font-size: 14px !important; font-weight: 400 !important; transition: border-color .15s, background .15s, box-shadow .15s !important; appearance: none; }

    .apu-input::placeholder { color: color-mix(in srgb, var(--apu-muted) 66%, transparent); }

    .apu-input:focus { border-color: var(--apu-primary) !important; background: var(--apu-card-bg) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--apu-primary) 15%, transparent) !important; }

.apu-company-search { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 8px; }

.apu-search-button { width: 44px !important; height: 44px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 8px !important; background-color: var(--apu-text) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' fill='none' stroke='white' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important; background-position: center !important; background-repeat: no-repeat !important; cursor: pointer !important; transition: background-color .15s, transform .1s, box-shadow .15s !important; }

    .apu-search-button:hover { background-color: var(--apu-primary) !important; transform: translateY(-1px); }

.apu-login-button:hover,
.apu-modal-primary:hover { background-color: var(--apu-primary-dark) !important; transform: translateY(-1px); }

.apu-password-input { padding-right: 44px !important; }

.apu-password-toggle { position: absolute; top: 50%; right: 12px; display: flex; align-items: center; padding: 4px; border: 0; border-radius: 4px; background: transparent; color: var(--apu-muted); cursor: pointer; transform: translateY(-50%); }

    .apu-password-toggle:hover { color: var(--apu-primary); }

.apu-validator { position: absolute; top: 50%; right: 10px; z-index: 2; color: var(--apu-danger) !important; font-size: 16px; transform: translateY(-50%); }

.apu-company-search .apu-validator { right: 58px; }

.apu-password-wrap .apu-validator { right: 34px; }

.apu-login-button,
.apu-modal-primary,
.apu-modal-secondary { height: 44px !important; border-radius: 10px !important; font-family: var(--apu-font) !important; font-weight: 700 !important; cursor: pointer !important; transition: background-color .15s, color .15s, transform .1s, box-shadow .15s !important; }

.apu-login-button { width: 100% !important; margin-top: 16px !important; border: 0 !important; background: var(--apu-primary) !important; color: #fff !important; font-size: 14px !important; letter-spacing: .04em; box-shadow: 0 4px 14px color-mix(in srgb, var(--apu-primary) 30%, transparent); }

.apu-card-footer { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 14px; }

.apu-login-actions { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }

.apu-login-link { display: inline-flex !important; align-items: center; gap: 6px; color: var(--apu-muted) !important; font-size: 12px !important; font-weight: 500 !important; text-decoration: none !important; }

    .apu-login-link:hover { color: var(--apu-primary) !important; }

.apu-trust-message { display: none; align-items: center; gap: 8px; width: 100%; padding: 11px 14px; border: 1px solid var(--apu-primary-light); border-radius: 8px; background: color-mix(in srgb, var(--apu-primary) 7%, var(--apu-card-bg)); color: var(--apu-primary-dark); font-size: 11px; font-weight: 500; line-height: 1.45; }

.apu-modal-overlay { background: rgba(15, 23, 42, .58) !important; backdrop-filter: blur(6px); }

.apu-modal { width: min(620px, calc(100vw - 32px)) !important; max-height: min(82vh, 720px) !important; overflow: auto !important; border: 1px solid var(--apu-border) !important; border-top: 4px solid var(--apu-primary) !important; border-radius: min(var(--apu-radius), 16px) !important; background: var(--apu-card-bg) !important; box-shadow: 0 24px 70px rgba(15, 23, 42, .24) !important; }

.apu-modal-content { padding: 24px; }

    .apu-modal-content h2 { margin-bottom: 6px; font-size: 22px; }

.apu-modal-field { margin-top: 16px; }

.apu-modal-actions { display: flex; align-items: center; gap: 10px; margin-top: 12px; }

.apu-modal-primary,
.apu-modal-secondary { min-width: 104px !important; padding: 0 16px !important; }

.apu-modal-primary { border: 0 !important; background: var(--apu-primary) !important; color: #fff !important; }

.apu-modal-secondary { border: 1px solid var(--apu-border) !important; background: var(--apu-input-bg) !important; color: var(--apu-text) !important; }

    .apu-modal-secondary:hover { border-color: var(--apu-primary) !important; color: var(--apu-primary) !important; }

.apu-table-wrap { padding: 0 24px 24px; overflow-x: auto; }

.apu-sites-table { width: 100%; border-collapse: collapse; color: var(--apu-text); font-size: 12px; }

    .apu-sites-table th,
    .apu-sites-table td { padding: 10px 9px; border-bottom: 1px solid var(--apu-border); text-align: left; }


.apu-sites-header { background: color-mix(in srgb, var(--apu-primary) 8%, var(--apu-card-bg)); color: var(--apu-primary-dark); }

.apu-sites-alt { background: var(--apu-input-bg); }

.apu-sites-link a { color: var(--apu-primary); font-weight: 700; text-decoration: none; }
.pAclaracion {display:none;}

@media (min-width: 1440px) { .apu-visual { padding: 64px 72px; }

    .apu-access { padding: 40px 56px; }

    .apu-login-card { max-width: 520px; padding: 36px 40px; }

    .apu-wordmark { font-size: 76px; }
}

@media (max-width: 1280px) and (min-width: 1025px) {
    .apu-visual { padding: 48px 44px; }

    .apu-access { padding: 28px 36px; }

    .apu-login-card { max-width: 460px; }
}

@media (max-width: 1024px) {
    .apu-login-page { grid-template-columns: minmax(0, 1fr) minmax(410px, .92fr); }

    .apu-visual { padding: 40px 36px; }

    .apu-visual-content { margin-top: -36px; }

    .apu-wordmark { font-size: 52px; }

    .apu-tagline { margin-bottom: 28px; font-size: 14px; }

    .apu-access { padding: 24px; }

    .apu-login-card { max-width: 420px; padding: 24px 28px; }
}

@media (max-width: 768px) {
    .apu-login-page { display: flex; flex-direction: column; }

    .apu-visual { min-height: 270px; padding: 28px 24px; }

    .apu-visual-content { justify-content: center; margin-top: 0; }

    .apu-wordmark { margin-bottom: 10px; font-size: 38px; }

    .apu-tagline { margin-bottom: 14px; font-size: 13px; }

    .apu-metrics { margin-bottom: 18px; }

    .apu-metric-value { font-size: 22px; }

    .apu-accent-line { margin-bottom: 16px; }

    .apu-access-badge { padding: 8px 14px; font-size: 9px; }

    .apu-access { flex: 1; align-items: flex-start; padding: 24px 20px 32px; border-top: 3px solid var(--apu-primary); }

    .apu-login-card { max-width: 500px; }
}

@media (max-width: 480px) {
    .apu-visual { min-height: 240px; padding: 22px 20px; }

    .apu-wordmark { font-size: 34px; }

    .apu-tagline { margin-bottom: 12px; font-size: 12px; }

    .apu-metric-value { font-size: 20px; }

    .apu-access { padding: 20px 16px 28px; }

    .apu-login-card { padding: 20px 18px; border-width: 2px; border-radius: 12px; }

    .apu-card-logo { margin-bottom: 16px; padding-bottom: 16px; font-size: 22px; }

    .apu-card-heading { margin-bottom: 16px; }

        .apu-card-heading h1 { font-size: 20px; }

    .apu-fields { gap: 12px; }

    .apu-modal-actions { align-items: stretch; flex-direction: column; }

    .apu-modal-primary,
    .apu-modal-secondary { width: 100% !important; }
}

@media (max-height: 680px) and (min-width: 769px) {
    .apu-access { align-items: flex-start; overflow-y: auto; }

    .apu-login-card { margin: auto 0; }
}


/* BOTÓN MOSTRAR CONTRASEÑA */
body.apu-login-body button.apu-password-toggle { position: absolute !important; top: 50% !important; right: 8px !important; z-index: 3 !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 32px !important; min-width: 32px !important; max-width: 32px !important; height: 32px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 4px !important; background: transparent !important; box-shadow: none !important; color: var(--apu-muted) !important; cursor: pointer !important; transform: translateY(-50%) !important; }

    body.apu-login-body button.apu-password-toggle:hover { background: transparent !important; color: var(--apu-primary) !important; box-shadow: none !important; }

    body.apu-login-body button.apu-password-toggle svg { width: 18px !important; height: 18px !important; margin: 0 !important; }

/* BOTÓN INGRESAR */
body.apu-login-body input[type="submit"][id$="LoginButton"] { display: block !important; width: 100% !important; min-width: 100% !important; height: 44px !important; margin: 16px 0 0 !important; padding: 0 16px !important; border: 0 !important; border-radius: 12px !important; background: var(--apu-primary) !important; color: #fff !important; box-shadow: 0 4px 14px color-mix(in srgb, var(--apu-primary) 30%, transparent) !important; font-family: var(--apu-font) !important; font-size: 14px !important; font-weight: 700 !important; line-height: 44px !important; letter-spacing: .04em !important; text-align: center !important; cursor: pointer !important; appearance: none !important; }

    body.apu-login-body input[type="submit"][id$="LoginButton"]:hover { background: var(--apu-primary-dark) !important; transform: translateY(-1px) !important; }

    body.apu-login-body input[type="submit"][id$="LoginButton"]:disabled { background: var(--apu-muted) !important; box-shadow: none !important; cursor: not-allowed !important; opacity: .65 !important; transform: none !important; }


body.apu-login-body { /* LOGO */ --apu-logo-apu: 'APU'; --apu-logo-separator: '/'; --apu-logo-web: 'WEB'; /* VISIBILIDAD GENERAL */ --apu-logo-display: flex; --apu-tagline-display: block; --apu-metrics-display: flex; --apu-badge-display: inline-flex; }

/* LOGIN INTERNO */
.apu-login-page.apu-mode-internal { --apu-tagline-text: 'PORTAL DE ACCESO'; --apu-metric1-base: ''; --apu-metric1-accent: ''; --apu-metric1-label: ''; --apu-metric2-base: 'Soluciones'; --apu-metric2-accent: ''; --apu-metric2-label: 'Enova'; --apu-badge-text: 'Acceso a tu plataforma.'; }

/* LOGIN EXTERNO */
.apu-login-page.apu-mode-external { --apu-tagline-text: 'PORTAL DE ACCESO'; --apu-metric1-base: ''; --apu-metric1-accent: ''; --apu-metric1-label: ''; --apu-metric2-base: 'Soluciones'; --apu-metric2-accent: ''; --apu-metric2-label: 'Enova'; --apu-badge-text: 'Acceso a tu plataforma.'; }

.apu-wordmark { display: var(--apu-logo-display) !important; }

.apu-tagline { display: var(--apu-tagline-display) !important; }

.apu-metrics { display: var(--apu-metrics-display) !important; }

.apu-access-badge { display: var(--apu-badge-display) !important; }

.apu-wordmark-strong::before { content: var(--apu-logo-apu); }

.apu-wordmark-separator::before { content: var(--apu-logo-separator); }

.apu-wordmark-light::before { content: var(--apu-logo-web); }

.apu-tagline::before { content: var(--apu-tagline-text); }

.apu-metric1-base::before { content: var(--apu-metric1-base); }

.apu-metric1-accent::before { content: var(--apu-metric1-accent); }

.apu-metric1-label::before { content: var(--apu-metric1-label); }

.apu-metric2-base::before { content: var(--apu-metric2-base); }

.apu-metric2-accent::before { content: var(--apu-metric2-accent); }

.apu-metric2-label::before { content: var(--apu-metric2-label); }

.apu-badge-text::before { content: var(--apu-badge-text); }

.apu-only-internal,
.apu-only-external { display: none !important; }

.apu-login-page.apu-mode-internal .apu-only-internal { display: revert !important; }

.apu-login-page.apu-mode-external .apu-only-external { display: revert !important; }


body.apu-login-body { --apu-card-logo-apu: 'ENOVA'; --apu-card-logo-separator: ''; --apu-card-logo-web: ''; --apu-card-logo-display: flex; }

.apu-card-logo { display: var(--apu-card-logo-display, flex) !important; }

.apu-card-logo-strong::before { content: var(--apu-card-logo-apu, 'ENOVA'); }

.apu-card-logo-separator::before { content: var(--apu-card-logo-separator, ''); }

.apu-card-logo-light::before { content: var(--apu-card-logo-web, ''); }

.apu-checkout-page .apu-btn-pay { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; width: 100% !important; height: 48px !important; padding: 0 24px !important; border: none !important; border-radius: var(--apu-checkout-radius, 8px) !important; background: var(--apu-checkout-primary, #1B5E20) !important; color: #fff !important; font-family: var(--apu-theme-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif) !important; font-size: 15px !important; font-weight: 700 !important; text-decoration: none !important; box-shadow: 0 4px 14px rgba(27,94,32,.28) !important; cursor: pointer !important; transition: background .15s ease, box-shadow .15s ease, transform .1s ease !important; }

    .apu-checkout-page .apu-btn-pay:hover { background: var(--apu-checkout-primary-dark, #154518) !important; color: #fff !important; text-decoration: none !important; }

    .apu-checkout-page .apu-btn-pay:active { transform: translateY(1px); }

    .apu-checkout-page .apu-btn-pay:disabled,
    .apu-checkout-page .apu-btn-pay[disabled] { background: #A3B8A5 !important; box-shadow: none !important; cursor: not-allowed !important; }
/*--apu-metrics-display: none;
--apu-badge-display: none;
*/ /*Fin login*/



/* checkout APUWEB */
.apu-checkout-page,
.apu-checkout-page *,
.apu-checkout-page *::before,
.apu-checkout-page *::after { box-sizing: border-box; }

    .apu-checkout-page > .aspNetHidden,
    .apu-checkout-page > input[type="hidden"] { display: none !important; }

.apu-checkout-page { --apu-checkout-primary: var(--color-primaryL, #1b5e20); --apu-checkout-primary-dark: var(--color-primary-darkL, #154d19); --apu-checkout-primary-soft: var(--bg-soft, #e8f3e9); --apu-checkout-accent: var(--color-accentL, #ffc107); --apu-checkout-accent-soft: var(--warning-bg, #fff6dc); --apu-checkout-page-bg: var(--bg-main, #f8fafc); --apu-checkout-card-bg: var(--color-white, #fff); --apu-checkout-input-bg: var(--color-white, #fff); --apu-checkout-soft-bg: var(--surface, #f8fafc); --apu-checkout-header: var(--color-neutral-900, #1a1a1a); --apu-checkout-text: var(--color-neutral-900, #0f172a); --apu-checkout-muted: var(--color-neutral-600, #64748b); --apu-checkout-border: var(--color-neutral-200, #e2e8f0); --apu-checkout-danger: var(--color-danger, #ef4444); --apu-checkout-danger-bg: var(--danger-bg, #fff3f0); --apu-checkout-radius: var(--radius-main, 12px); --apu-checkout-radius-sm: var(--radius-sm, 8px); --apu-checkout-font: var(--font-main, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif); max-width: 100%; margin: 0 auto; padding: 0px 18px 56px; color: var(--apu-checkout-text); font-family: var(--apu-checkout-font); }

.apu-checkout-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; color: #fff; background: var(--apu-checkout-header); border-radius: var(--apu-checkout-radius) var(--apu-checkout-radius) 0 0; }

.apu-checkout-brand { display: inline-flex; align-items: baseline; gap: 2px; margin-bottom: 6px; font-size: 18px; font-weight: 900; line-height: 1; }

    .apu-checkout-brand span { color: #fff; }
    .apu-checkout-brand strong { color: var(--apu-checkout-accent); }
    .apu-checkout-brand em { color: var(--apu-checkout-primary); font-style: normal; }

.apu-checkout-top h2 { margin: 0; color: #fff; font-size: 22px; font-weight: 800; }

.apu-checkout-top p { margin: 4px 0 0; color: rgba(255, 255, 255, .72); font-size: 13px; }

.apu-checkout-secure { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; color: rgba(255, 255, 255, .9); border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; font-size: 13px; font-weight: 600; white-space: nowrap; }

    .apu-checkout-secure i { color: var(--apu-checkout-accent); }

.apu-checkout-steps { display: flex; align-items: center; gap: 10px; padding: 14px 22px; margin-bottom: 0px; overflow-x: auto; background: var(--apu-checkout-card-bg); border: 1px solid var(--apu-checkout-border); border-top: 0;  box-shadow: 0 1px 2px rgba(15, 23, 42, .05); }

.apu-checkout-step { display: inline-flex; align-items: center; gap: 8px; color: var(--apu-checkout-muted); font-size: 13px; font-weight: 700; white-space: nowrap; }

    .apu-checkout-step span { display: grid; place-items: center; width: 24px; height: 24px; color: var(--apu-checkout-muted); background: var(--apu-checkout-border); border-radius: 50%; font-size: 12px; }

    .apu-checkout-step.done span { color: #fff; background: var(--apu-checkout-primary); }

    .apu-checkout-step.active { color: var(--apu-checkout-header); }

        .apu-checkout-step.active span { color: #fff; background: var(--apu-checkout-header); }

.apu-checkout-line { width: 34px; height: 1px; background: var(--apu-checkout-border); flex: 0 0 auto; }

.apu-checkout-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 18px 24px; align-items: start; margin: 0; }

    .apu-checkout-grid > [class*="col-"],
    .apu-checkout-grid > .apu-checkout-return,
    .apu-checkout-payment { width: auto; max-width: none;flex: none; }

.apu-checkout-card,
.apu-checkout-page .summary_pricing_board { background: var(--apu-checkout-card-bg); border: 1px solid var(--apu-checkout-border); border-radius: var(--apu-checkout-radius); box-shadow: 0 1px 2px rgba(15, 23, 42, .06); }

.apu-checkout-order { grid-column: 1; padding: 20px; }

.apu-checkout-return { grid-column: 1; order: 2; }

.apu-checkout-form-card { grid-column: 1; order: 3; padding: 24px; }

.apu-checkout-summary { grid-column: 2; grid-row: 1 / span 3; position: sticky; top: 18px; align-self: start; }

.apu-checkout-payment { max-width: 736px; margin-top: 18px; padding: 24px; }

.apu-checkout-page h4,
.apu-checkout-page h5,
.apu-checkout-page h6 { color: var(--apu-checkout-header); }

.apu-checkout-page .text-primary { color: var(--apu-checkout-header) !important; }

.apu-checkout-page #dvDetallePedido h4,
.apu-checkout-page #dvFactura h4,
.apu-checkout-page #dvPago h4,
.apu-checkout-page .summary_pricing_board h4 { margin: 0 0 14px; font-size: 18px; font-weight: 650; }

.apu-checkout-page #dvFactura hr,
.apu-checkout-page #dvPago hr { display: none; }

.apu-checkout-page #dvFactura > .row:first-child { margin: 0 0 4px; }

.apu-checkout-page #dvFactura .needs-validation,
.apu-checkout-page #dvFormI { row-gap: 14px; }

.apu-checkout-page .form-check { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; margin: 0; background: var(--apu-checkout-soft-bg); border: 1px solid var(--apu-checkout-border); border-radius: var(--apu-checkout-radius-sm); }

.apu-checkout-page .form-check-input { width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--apu-checkout-primary); flex: 0 0 auto; }

.apu-checkout-page .form-check-label { color: var(--apu-checkout-text); font-size: 13px; line-height: 1.45; }

.apu-checkout-page label { margin-bottom: 6px; color: var(--apu-checkout-header); font-size: 13px; font-weight: 700; }

.apu-checkout-page .input-group,
.apu-checkout-page .d-sm-flex,
.apu-checkout-page .d-flex { width: 100%; }

.apu-checkout-page .form-control,
.apu-checkout-page .form-select,
.apu-checkout-page .input-group-text { min-height: 44px; color: var(--apu-checkout-text); background-color: var(--apu-checkout-input-bg); border: 1px solid var(--apu-checkout-border); border-radius: var(--apu-checkout-radius-sm); font-size: 14px; box-shadow: none; }

.apu-checkout-page textarea.form-control { min-height: 76px; resize: vertical; }

.apu-checkout-page .input-group > .form-control { border-top-left-radius: var(--apu-checkout-radius-sm); border-bottom-left-radius: var(--apu-checkout-radius-sm); }

.apu-checkout-page .input-group .input-group-text { color: var(--apu-checkout-muted); background: var(--apu-checkout-soft-bg); border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }

    .apu-checkout-page .input-group .input-group-text + .form-control { border-top-left-radius: 0; border-bottom-left-radius: 0; }

.apu-checkout-page .form-control:focus,
.apu-checkout-page .form-select:focus { border-color: var(--apu-checkout-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--apu-checkout-primary) 14%, transparent); }

.apu-checkout-page .form-control.error { border-color: var(--apu-checkout-danger); box-shadow: 0 0 0 3px color-mix(in srgb, var(--apu-checkout-danger) 12%, transparent); }

.apu-checkout-page .table { overflow: hidden; border-radius: var(--apu-checkout-radius-sm); font-size: 13px; }

    .apu-checkout-page .table th { color: var(--apu-checkout-muted); background: var(--apu-checkout-soft-bg) !important; border: none !important; font-size: 12px; font-weight: 800; text-transform: uppercase; }

    .apu-checkout-page .table td { vertical-align: middle; border: none !important; }

.apu-checkout-page .table-striped > tbody > tr:nth-of-type(odd) > * { background-color: var(--apu-checkout-card-bg); box-shadow: none; }

.apu-checkout-page .table-hover > tbody > tr:hover > * { background-color: var(--apu-checkout-soft-bg); }

.apu-checkout-page .bi-trash { color: var(--apu-checkout-danger) !important; }

.apu-checkout-page .btnC,
.apu-checkout-page input[type="submit"],
.apu-checkout-page input[type="button"] { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 18px; border: 0; border-radius: var(--apu-checkout-radius-sm); font-size: 14px; font-weight: 800; text-decoration: none; line-height: 1.2; transition: background-color .15s ease, box-shadow .15s ease, transform .08s ease; }



    .apu-checkout-page .btnC:active,
    .apu-checkout-page input[type="submit"]:active,
    .apu-checkout-page input[type="button"]:active { transform: translateY(1px); }

.apu-checkout-page .btn-primary { color: #fff !important; background: var(--apu-checkout-primary) !important; box-shadow: 0 5px 14px color-mix(in srgb, var(--apu-checkout-primary) 26%, transparent); }

    .apu-checkout-page .btn-primary:hover { background: var(--apu-checkout-primary-dark) !important; }

.apu-checkout-page .btn-secondary,
.apu-checkout-page .btn-dark { color: #fff !important; background: var(--apu-checkout-header) !important; }

.apu-checkout-return .col-md-7,
.apu-checkout-return .col-lg-6,
.apu-checkout-return .col-6,
.apu-checkout-form-card .col-6 { width: 100%; max-width: none; }

.apu-checkout-return .btnC { max-width: 30%; color: var(--apu-checkout-header) !important; border-radius: 8px; background: transparent !important; border: 1px solid var(--apu-checkout-border); box-shadow: none; font-weight: 600; }

.apu-checkout-form-card .d-grid { max-width: 100%; }

.apu-checkout-page .summary_pricing_board { padding: 22px; }

    .apu-checkout-page .summary_pricing_board .badge { display: inline-flex !important; align-items: center !important; width: auto !important; color: #8A6100 !important; background: #FFF6DC !important; border: 0 !important; font-size: 11.5px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .04em !important; padding: 4px 10px !important; border-radius: 999px !important; margin-bottom: 14px !important; line-height: 1.2 !important; white-space: nowrap !important; }
    .apu-checkout-page .summary_pricing_board .list-group { margin: 0; }

    .apu-checkout-page .summary_pricing_board .list-group-item { padding: 14px 0; border-width: 0 0 0px; border-color: var(--apu-checkout-border); }

        .apu-checkout-page .summary_pricing_board .list-group-item:first-child,
        .apu-checkout-page .summary_pricing_board .list-group-item:last-child { border-radius: 0; }

        .apu-checkout-page .summary_pricing_board .list-group-item:last-child { align-items: baseline; padding-bottom: 0; border-bottom: 0; }

    .apu-checkout-page .summary_pricing_board h5 { font-size: 15px; font-weight: 700; }

    .apu-checkout-page .summary_pricing_board small { color: var(--apu-checkout-muted) !important; font-size: 14px; }

    .apu-checkout-page .summary_pricing_board li:last-child strong:last-child { color: var(--apu-checkout-header); font-size: 20px; font-weight: 700; }

.apu-checkout-summary > .row { margin: 12px 0 0; }

.apu-checkout-page #dvPago { margin: 0; }
    .apu-checkout-page #dvPago > h4 { padding: 0; }
.apu-checkout-page #accPago { gap: 10px !important; }

.apu-checkout-page .accordion-item { border: 1px solid var(--apu-checkout-border); border-radius: 10px !important; background: var(--apu-checkout-card-bg); }

.apu-checkout-page .accordion-body { padding: 14px 2px 2px; }

.apu-checkout-page #btnPagarStripe,
.apu-checkout-page #btnContinuarPago { width: 100%; }

.apu-checkout-page .alert-warning { color: #8a6100; background: var(--apu-checkout-accent-soft); border-color: color-mix(in srgb, var(--apu-checkout-accent) 45%, transparent); border-radius: var(--apu-checkout-radius-sm); font-size: 13px; }

.apu-checkout-page #email-error { display: block; margin-top: 6px; font-size: 12px; font-weight: 600; }

.apu-checkout-page .btn-outline-warning:hover { color: var(--apu-checkout-header); background-color: var(--apu-checkout-accent); border-color: var(--apu-checkout-accent); }

#loadingOverlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .4); z-index: 9999; }

    #loadingOverlay .apu-checkout-spinner { position: absolute; top: 50%; left: 50%; width: 60px; height: 60px; margin: -30px 0 0 -30px; border: 6px solid #eee; border-top: 6px solid var(--color-primaryL, #1b5e20); border-radius: 50%; animation: apuCheckoutSpin 1s linear infinite; }

@keyframes apuCheckoutSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 991px) {
    .apu-checkout-grid { display: flex; flex-direction: column; }

    .apu-checkout-summary { position: static; order: 4; width: 100%; }

    .apu-checkout-payment { max-width: 90%; }

    .apu-checkout-inner { max-width: 98% !important; }
    .apu-checkout-return .btnC { max-width: 40%; }
}

@media (max-width: 576px) {
    .apu-checkout-inner { max-width: 98% !important; }
    .apu-checkout-return .btnC { max-width: 40%; }
    .apu-checkout-page { padding: 0px 12px 40px; }

    .apu-checkout-top { align-items: flex-start; flex-direction: column; padding: 16px; }

        .apu-checkout-top h2 { font-size: 20px; }
    .apu-checkout-steps { padding: 12px 16px; }

    .apu-checkout-card,
    .apu-checkout-page .summary_pricing_board { border-radius: 10px; }

    .apu-checkout-order,
    .apu-checkout-form-card,
    .apu-checkout-payment,
    .apu-checkout-page .summary_pricing_board { padding: 18px; }

    .apu-checkout-line { width: 22px; }

    .apu-checkout-page ul.apu-summary-desc-list { margin: 8px 0 0 !important; padding: 0 !important; list-style: none !important; }

        .apu-checkout-page ul.apu-summary-desc-list li,
        .apu-checkout-page .apu-summary-desc-item { display: flex !important; align-items: flex-start; gap: 7px; margin: 0 0 6px 0 !important; padding: 0 !important; list-style: none !important; list-style-type: none !important; color: var(--apu-checkout-muted); font-size: 12.5px; line-height: 1.45; }

            .apu-checkout-page ul.apu-summary-desc-list li::before,
            .apu-checkout-page .apu-summary-desc-item::before { content: none !important; display: none !important; }

    .apu-checkout-page .apu-summary-desc-check { display: inline-flex; align-items: center; justify-content: center; min-width: 14px; margin-top: 1px; color: var(--apu-checkout-primary); background: transparent !important; border: 0 !important; border-radius: 0 !important; font-size: 14px; font-weight: 900; }
}
.apu-checkout-page .apu-trust-card { margin-top: 16px !important; padding: 22px 24px !important; background: var(--apu-checkout-primary-soft, #E8F3E9) !important; border: 1px solid #CFE6D1 !important; border-radius: var(--apu-checkout-radius-lg, 12px) !important; box-shadow: var(--apu-checkout-shadow-sm, 0 1px 2px rgba(15,23,42,.06)) !important; }

.apu-checkout-page .apu-trust-title { margin: 0 0 12px !important; color: var(--apu-checkout-header, #1A1A1A) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; }

.apu-checkout-page .apu-trust-item { display: flex !important; align-items: flex-start !important; gap: 10px !important; padding: 8px 0 !important; color: var(--apu-checkout-text, #0F172A) !important; font-size: 13px !important; line-height: 1.45 !important; }

    .apu-checkout-page .apu-trust-item svg { width: 18px !important; height: 18px !important; min-width: 18px !important; margin-top: 1px !important; fill: none !important; stroke: var(--apu-checkout-primary, #1B5E20) !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }

    .apu-checkout-page .apu-trust-item strong { display: block !important; margin-bottom: 1px !important; color: var(--apu-checkout-header, #1A1A1A) !important; font-size: 13.5px !important; font-weight: 700 !important; }

    .apu-checkout-page .apu-trust-item span { display: block !important; color: var(--apu-checkout-text, #0F172A) !important; }

.apu-checkout-page .apu-stripe-row { display: flex !important; align-items: center !important; gap: 8px !important; margin-top: 14px !important; padding-top: 14px !important; border-top: 1px solid #CFE6D1 !important; color: var(--apu-checkout-muted, #64748B) !important; font-size: 12px !important; line-height: 1.3 !important; }

    .apu-checkout-page .apu-stripe-row span { color: var(--apu-checkout-muted, #64748B) !important; font-size: 12px !important; font-weight: 400 !important; }

    .apu-checkout-page .apu-stripe-row img { display: block !important; height: 20px !important; width: auto !important; max-width: 70px !important; }

/*Responsive*/

@media (max-width: 991px) {
    .apu-checkout-inner { width: 95% !important; max-width: 100% !important; padding-left: 0px !important; padding-right: 0px !important; }

    .apu-checkout-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important; gap: 18px !important; align-items: start !important; }

    .apu-checkout-summary { grid-column: 2 !important; grid-row: 1 / span 3 !important; width: 100% !important; max-width: 100% !important; position: sticky !important; top: 18px !important; order: initial !important; }

    .apu-checkout-order,
    .apu-checkout-form-card,
    .apu-checkout-payment { grid-column: 1 !important; width: 100% !important; max-width: 100% !important; }

    .apu-checkout-payment { max-width: 100% !important; }
}


@media (max-width: 760px) {
    .apu-checkout-grid { display: flex !important; flex-direction: column !important; gap: 18px !important; }

    .apu-checkout-summary { position: static !important; order: 4 !important; width: 100% !important; max-width: 100% !important; }

    .apu-checkout-order,
    .apu-checkout-form-card,
    .apu-checkout-payment,
    .apu-checkout-summary { width: 95% !important; max-width: 100% !important; }
    .apu-checkout-inner { width: 95% !important; max-width: 100% !important; padding-left: 0px !important; padding-right: 0px !important; }
}

/*Responsive*/
/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.apu-checkout-page,
.apu-checkout-page *,
.apu-checkout-page *::before,
.apu-checkout-page *::after { font-family: var(--apu-theme-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif) !important; }
*//* Checkout Fin */


html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; box-sizing: border-box; font-size: 16px }
*, *:before, *:after { box-sizing: inherit }
body { display: flex; flex-flow: column wrap; justify-content: space-evenly; margin: 0; padding: 0; background-color: var(--color-neutral-50); color: var(--color-dark); font-family: var(--font-family-base); line-height: var(--line-height-normal); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale }
  body > * { font: var(--fsize) 'Poppins',Verdana,'Segoe UI' }
center { margin: 0 auto }
.c1 { color: var(--color-dark) }
.c3, .cs { color: var(--color-dark-secondary) }
.aj { text-align: justify }
.ac, .contenidofoots, .footer, .footerclientes, .perfil, .powerby { text-align: center }
.HeaderIzq, .al { text-align: left !important }
.HeaderDer, .ar { text-align: right !important }
.bandapie td { text-align: right }
  .bandapie td.numero { text-align: left !important; }
.HeaderCenter { text-align: center !important }
img { display: block; max-width: 100%; height: auto; margin: 0 .5rem; border-radius: var(--radius-sm); transition: transform var(--transition-normal) }
  img:hover { transform: scale(1.02) }
.sidebar { font-size: calc(var(--fsize)*1.2); z-index: 8; border-radius: var(--radius-lg); height: 95vh; width: auto; position: fixed; left: 0; background: var(--color-dark-secondary); padding-top: 2rem; overflow-y: auto; margin-top: 0; animation: slideInLeft 1s; display: flex; flex-direction: column; box-shadow: var(--shadow-md); border: none; will-change: transform }
  .sidebar a { display: block; padding: .2rem 0 .2rem .5rem; color: var(--color-white) !important; text-decoration: none; border-radius: var(--radius-sm); margin: 0 .1rem }
  .sidebar i { margin: .13rem .13rem 0 auto; color: var(--color-white) !important }
  .sidebar .container-menu, .sidebar .container-submenu, body { display: flex }
.container-menu, .container-submenu { position: relative; transition: background-color var(--transition-normal) }
  .container-menu:before, .container-submenu:before { content: ''; position: absolute; height: 100%; left: -3px; width: 3px; background-color: transparent; transition: background-color var(--transition-normal) }
  .container-menu:hover:before, .container-submenu:hover:before { background-color: var(--accent-color) }
  .container-menu:hover i, .container-submenu:hover i { transform: translateY(3px) }
  .container-menu:hover, .enova, .sidebar .container-menu { font-weight: var(--font-weight-semibold) }
.sub-menu { margin-left: .3rem }
  .sub-menu a { padding: .25rem .5rem !important }
  .sub-menu:not(:empty) { border-left: 1px solid rgba(255,255,255,.15); margin-left: .4rem; padding-left: .2rem }
.header { background: linear-gradient(to right,var(--color-dark-secondary),var(--color-dark)); border-radius: 0 0 var(--radius-lg) var(--radius-lg); height: 2rem; position: fixed; width: 100vw; z-index: 10; box-shadow: var(--shadow-md); font-size: 14px; border: none; color: var(--color-white); display: flex; align-items: center; padding: 0 1.5rem }
  .header a { color: var(--color-white) !important; transition: opacity var(--transition-fast) }
    .header a:hover { opacity: .9 }
.logo, .principal2 { display: none }
.logo { background: url(img/logo.png) no-repeat; background-size: contain; height: 2.9rem; left: 7vw; position: relative; top: -1.2rem; width: 14.3rem; cursor: pointer }
.date_info, .enova, .menu_side, .user_info { position: absolute; top: 40%; transform: translateY(-50%) }
.menu_side { left: 0; font-size: calc(var(--fsize)*2); color: #ccc; border-radius: var(--radius-sm); transition: all var(--transition-normal); z-index: 1060; cursor: pointer }
  .menu_side:hover { color: var(--color-white); transform: translateY(-50%) scale(1.1) }
.enova { left: 4.5vw; font-size: calc(var(--fsize)*1.3); color: var(--color-accent); animation: fadeIn 1s }
.user_info { right: 16.1rem; font-size: calc(var(--fsize)*1); animation: fadeIn .8s }
.date_info { top: 1.6rem; left: 4.5vw; font-size: calc(var(--fsize)*.9); color: var(--color-success); animation: fadeIn .8s }
.buscador { position: absolute; top: 50%; left: 43%; transform: translate(-50%, -50%) }
.enlaces { position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); animation: fadeIn .8s; display: flex; gap: .1rem }
.tooltipo, .tooltipoAyuda { position: relative; display: inline-block }
  .tooltipo .tooltiptexto, .tooltipoAyuda .tooltipoAyudatexto { visibility: hidden; position: absolute; z-index: 100; opacity: 0; transition: opacity .3s,transform .3s,visibility 0s .3s; box-shadow: var(--shadow-md); font-weight: var(--font-weight-normal); pointer-events: none }
  .tooltipo .tooltiptexto { min-width: 5rem; background: var(--color-primary); color: var(--color-white); text-align: center; border-radius: var(--radius-md); padding: .5rem; top: 2rem; left: 1.3rem; transform: translateX(-50%) translateY(10px); font-size: .75rem }
  .tooltipoAyuda .tooltipoAyudatexto { width: 100%; max-width: 250px; min-width: 100px; background-color: rgba(0,0,0,.8); color: #fff; text-align: left; border-radius: var(--radius-md); padding: .75rem; font-size: 10px; top: 35px; left: calc(50% - 50%); transform: translateX(-50%) translateY(10px) }
  .tooltipo:hover .tooltiptexto, .tooltipoAyuda:hover .tooltipoAyudatexto { visibility: visible; opacity: 1; transition: opacity .3s,transform .3s }
  .tooltipo:hover .tooltiptexto { transform: translateX(-50%) translateY(0) }
  .tooltipoAyuda:hover .tooltipoAyudatexto { transform: translateX(-50%) translateY(0) }
.etarea { background: url(img/etarea.png) no-repeat; background-size: contain }
.eayuda { background: url(img/eayuda.png) no-repeat; background-size: contain }
.edirTel { background: url(img/etel.png) no-repeat; background-size: contain }
.esugerencias { background: url(img/esugerencias.png) no-repeat; background-size: contain }
.esalir { background: url(img/eclose.png) no-repeat; background-size: contain }
.form, .login { box-shadow: var(--shadow-md); border-radius: var(--radius-md) }
input, select, textarea { border: 0; padding: 0 .5rem; border-radius: var(--radius-sm); outline: 0; transition: all var(--transition-normal); box-shadow: var(--shadow-sm) }
.ReportViewer input { padding: initial !important; border: initial !important; border-radius: initial !important; outline: initial !important; }
input:focus, select:focus, textarea:focus { border-color: var(--accent-color); box-shadow: 0 0 0 2px rgba(1,156,215,.2) }
[type=button], [type=password], [type=submit], [type=text], select { height: 2rem !important }
  [type=text]:focus, select:focus, textarea:focus { border-left: .15rem solid var(--color-primary) }
[type=button], [type=submit] { padding: 0; margin: 0; min-width: 2rem; cursor: pointer; background: var(--color-secondary); color: var(--color-white); font-weight: var(--font-weight-medium); transition: all var(--transition-normal); border-radius: var(--radius-sm); border: none; position: relative; overflow: hidden }
  [type=button]:hover, [type=submit]:hover { transform: translateY(-1px); box-shadow: var(--shadow-md) }
  [type=button]:after, [type=submit]:after { content: ''; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; background: rgba(255,255,255,.5); opacity: 0; border-radius: 100%; transform: scale(1,1) translate(-50%); transform-origin: 50% 50%; animation: rippleEffect .5s }
  [type=button]:focus, [type=submit]:focus { box-shadow: 0 0 0 3px rgba(1,156,215,.3); outline: none }
.form { max-width: 100%; clear: both; margin: .1rem 0 0; background: #f9fafb; min-height: contain; animation: fadeIn .5s; height: auto; padding: .1rem 0 }
.form-Limpio { max-width: 100%; clear: both; margin: .1rem 0 0; background: none; border:none !important;  min-height: contain; animation: fadeIn .5s; height: auto; padding: .1rem 0 }
  .form ul { vertical-align: top; height: auto; display: inline-block; padding: .3rem 0 0; min-width: auto; border-right: 1px dashed rgba(39,96,155,.3) }
  .form li { list-style: none; padding: .01rem 0; transition: background-color var(--transition-normal); border-radius: var(--radius-sm) }
    .form li:hover { background-color: rgba(1,156,215,.05) }
  .form label, .form span { display: inline-block; font-stretch: expanded; color: #27609b; vertical-align: top; width: 8rem; text-align: right; padding-right: .3rem }
    .filtros label:after, .form label:after { content: ":" }
  .form textarea { min-width: 15.5rem; height: 7.5rem; line-height: 1.5 }
  .form select { max-width: 56%; padding-right: 2rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236aa3c9' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: calc(100% - .5rem) center; appearance: none }
  .field-border, .form [type=password], .form [type=text], .form select, .form textarea { border-bottom: .06rem solid var(--form-field-border) }
  .form [type=radio] { width: 1.3rem; position: relative }
  .form li input[type=checkbox]:disabled { float: left }
  .form .ulDescripcion { padding-left: 44% }
span[style*="color:Red;visibility:hidden"] { width: 0.5rem }
.float-fecha { margin: 0 .3rem; float: right !important }
.filtros { padding: .1rem 1rem; margin-bottom: .1rem; max-width: 100%; clear: both; display: inline-block; background: linear-gradient(90deg,rgba(236,240,241,.5) 0,rgba(252,252,252,.3) 30%); border-radius: 0 0 0 5px; border-left: 2px solid var(--color-secondary); animation: fadeIn .6s }
  .filtros label, .filtros span { display: inline-block; margin: .1rem; text-align: right; font-weight: var(--font-weight-medium) }
  .filtros [type=text], .filtros select { background: #e6ffe633; border-bottom: .06rem solid var(--color-success); margin: .1rem 0; transition: all var(--transition-normal) }
    .filtros [type=text]:focus, .filtros select:focus { background: #e6ffe6; border-bottom: .15rem solid var(--color-success) }
.boton, .botonD, .login [type=submit] { background-color: var(--color-secondary); color: var(--color-white); padding: .5rem 1rem; transition: all var(--transition-normal); display: inline-flex; align-items: center; justify-content: center; border-radius: var(--radius-sm); border: none; font-weight: var(--font-weight-medium); cursor: pointer; position: relative; overflow: hidden; box-shadow: var(--shadow-sm) }
  .boton:hover, .login [type=submit]:hover { background: var(--color-primary-dark); transform: translateY(-1px); box-shadow: var(--shadow-md) }
.boton, .botonD { min-width: auto }
.botonD { background: #e6e6e6; color: #777; opacity: 1; cursor: not-allowed }
  .botonD:hover { transform: none; box-shadow: var(--shadow-sm) }
.botonAux { display: inline-block }
.grid, .gridPlana { margin: .1rem 0; border-radius: var(--grid-radius); box-shadow: var(--shadow-md); overflow: hidden; border: 1px solid var(--grid-border); animation: fadeIn .6s; background: var(--color-white) }
  .grid table, .gridPlana table { width: 100%; border-collapse: collapse }
  .grid caption { background-color: var(--highlight); padding: 0.2rem; text-align: left; font-weight: var(--font-weight-semibold); border-bottom: 1px solid var(--grid-border); caption-side: top; letter-spacing: var(--letter-spacing-wide); text-transform: uppercase; color: var(--color-primary-dark) }
  .grid th, .gridPlana th { padding: .2rem .3rem; background: var(--grid-header-bg); color: var(--color-white); font-weight: var(--font-weight-bold); text-align: left; border: none; vertical-align: middle; position: relative; letter-spacing: var(--letter-spacing-wide) }
  .grid td, .gridPlana td { padding: .2rem .3rem; border-bottom: 1px solid var(--grid-border); vertical-align: middle; transition: background-color var(--transition-normal) }
  .grid tr { transition: background-color var(--transition-normal) }
    .grid tr:hover > td { background-color: var(--row-hover) }
    .grid tr.selected > td { background-color: var(--row-select) }
    .grid tr.new-row { animation: tableHighlight 2s ease }
.grid-empty { padding: 3rem; text-align: center; color: #94a3b8; background-color: var(--color-neutral-50); border-radius: var(--radius-md); margin: 1rem }
.grid.compact td, .grid.compact th { padding: .5rem .75rem; font-size: .9em }
.grid th [type=checkbox], .grid th label { padding: .1rem .3rem 0 }
.gridPlana td, .gridPlana th { padding: 0; border: 0; border-bottom: .06rem solid #ccc; border-top: .06rem solid #ccc }
  .gridPlana th:first-child { border-radius: var(--radius-sm) 0 0 0 }
  .gridPlana th:last-child { border-radius: 0 var(--radius-sm) 0 0 }
.grid a:link, .grid caption, .tarea { font-weight: var(--font-weight-semibold) }
.grid center { width: .3rem }
.banda a:link, .grid th a:link { text-decoration: none; color: var(--color-white) }
.divContent { position: relative; width: 100%; padding: 0 .3rem 7rem .15rem; top: 1.8rem; animation: fadeIn .5s; max-width: 100vw }
  .divContent h1 { margin: 0; padding: .4rem .8rem; position: relative; background: linear-gradient(90deg,rgba(236,240,241,.5) 0,rgba(252,252,252,.3) 30%); color: var(--color-dark); border-left: .5rem solid var(--color-secondary); text-transform: uppercase; font-size: var(--font-weight-medium); font-weight: var(--font-weight-semibold); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; box-shadow: var(--shadow-sm) }
.grid-container { position: relative; width: 100% }
.grid-actions { position: absolute; top: 1rem; right: 1rem; display: flex; gap: .5rem; margin-bottom: .5rem; z-index: 5 }
  .grid-actions button { padding: .5rem 1rem; background: var(--color-white); border: 1px solid var(--grid-border); border-radius: var(--radius-sm); cursor: pointer; font-size: .9rem; transition: all var(--transition-normal); color: var(--color-primary-dark); font-weight: var(--font-weight-medium) }
    .grid-actions button:hover { background-color: var(--highlight); transform: translateY(-1px); box-shadow: var(--shadow-sm); color: var(--color-primary) }
.banda, .grid caption { text-transform: uppercase }
.bandapie { background: var(--color-dark-secondary) !important; color: var(--color-white); text-align: center; font-weight: var(--font-weight-medium) }
.grid tr.selectable { cursor: pointer }
  .grid tr.selectable:hover td { background-color: var(--row-hover) }
  .grid tr.selectable.selected td { background-color: var(--row-select) }
.grid .status-cell { display: flex; align-items: center; gap: .5rem }
.grid .cell-bold { font-weight: var(--font-weight-semibold); color: var(--color-primary-dark) }
.grid .cell-highlight { background-color: rgba(1,156,215,.07) }
.grid .cell-action-buttons { white-space: nowrap; display: flex; gap: .25rem }
.grid-header-sortable { cursor: pointer; user-select: none }
  .grid-header-sortable:after { content: ""; display: inline-block; margin-left: .25rem; width: 0; height: 0; vertical-align: middle }
  .grid-header-sortable.sort-asc:after { border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 5px solid var(--color-white) }
  .grid-header-sortable.sort-desc:after { border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--color-white) }

.grid-pagination { border-top: 1px solid var(--grid-border); background-color: var(--highlight); text-align: left; }
  .grid-pagination > td { padding: 0.3rem; text-align: left; }
  .grid-pagination table { width: auto !important; margin: 0; display: inline-table; border-collapse: collapse; }
  .grid-pagination a, .grid-pagination span { display: inline-block; margin: 0 .25rem; padding: .5rem; border-radius: var(--radius-sm); transition: all var(--transition-normal); color: var(--c1); text-decoration: none; min-width: 2rem; text-align: center; }
    .grid-pagination a:hover { background-color: rgba(1,156,215,.1); color: var(--cb); }
  .grid-pagination span { background-color: var(--cb); color: var(--c0); font-weight: 600; box-shadow: var(--shadow-sm); }

.edit-row { background-color: var(--row-select) !important; }
  .edit-row td { padding: .2rem .3rem !important; width: auto !important; min-width: 0 !important; }
    .edit-row table, .edit-row td table { table-layout: auto !important; width: auto !important; }


.linbut a:link, .linbut a:visited, .menu_link a:hover, a:hover, a:link, a:visited { color: var(--color-primary); text-decoration: none; transition: color var(--transition-fast) }
.linbut a:active, a:active { text-decoration: none }
.MenuPrincipalclientes a:active, .MenuPrincipalclientes a:hover, .MenuPrincipalclientes a:link, .MenuPrincipalclientes a:visited { color: #1e1e2e; text-decoration: none }
.bottom_link a:active, .bottom_link a:link, .bottom_link a:visited, .linbut a:hover { color: var(--color-white); text-decoration: none }
.bottom_link a:hover { color: var(--color-white); text-decoration: underline }
.menu_link a:active, .menu_link a:link, .menu_link a:visited { color: #666; text-decoration: none }
.obl { background: #ebf5fb; border-left: .13rem solid var(--color-primary); transition: background-color var(--transition-normal); border-radius: 0 var(--radius-sm) var(--radius-sm) 0 }
  .obl:hover { background: #d6eaf8 }
.tarea { color: #27609b; position: relative }
  .tarea:before { content: " ✓"; color: var(--color-success); margin: 0 .5rem 0 0; display: inline-block; animation: successCheck .5s }
.subtarea { position: relative; color: rgba(36,59,85,.9); left: 1rem }
.subrubro { color: #069; position: relative; left: 1.4rem }
.rubro { color: #069 }
.modale { background: rgba(0,0,0,.5); animation: fadeIn .3s; backdrop-filter: blur(4px) }
.panel { background: var(--color-white); border-radius: var(--radius-lg); max-height: 80vh; width: auto; animation: fadeIn .5s; padding: .5rem; box-shadow: var(--shadow-lg) }
.panelBotones { background: var(--color-white); border-radius: var(--radius-lg); width: auto; animation: fadeIn .5s; padding: .5rem; box-shadow: var(--shadow-lg) }
.panel h1 { position: relative; left: -.19rem; margin-top: 0 }
.panel-nomodal .panel { max-height: none !important }
.powerby { left: 35%; border-radius: var(--radius-lg) var(--radius-lg) 0 0; z-index: 2; background: var(--color-dark-secondary); bottom: -.1rem; color: var(--color-white); position: fixed; width: auto; padding: .2rem 1.5rem; text-align: center; box-shadow: var(--shadow-md); font-size: .9em }
  .powerby a { color: var(--color-accent); transition: color var(--transition-normal); font-weight: var(--font-weight-medium) }
    .powerby a:hover { color: #f1c40f }
.login { background: var(--color-white); margin: 3rem auto; padding: 2.5rem; border-radius: var(--radius-lg); animation: fadeIn 1s; width: 50vw; max-width: 50%; box-shadow: var(--shadow-lg) }
  .login [type=password], .login [type=submit], .login [type=text] { border: 0; height: 3rem; line-height: 1.5; width: 95%; margin: 0 0 .4rem; border-radius: var(--radius-md); padding: 0 1rem }
  .login span { color: var(--color-primary); font-weight: var(--font-weight-medium) }
  .login .logo { position: relative; top: 2px; height: 2rem; left: 100px }
.fl { float: left; padding: 0 .2rem 0 0 }
.fc { padding: .8rem 0 0 1rem; width: 100%; max-width: 100%; clear: both }
.fr { background: #f6f6f6; border-radius: var(--radius-md); float: right; padding: 1rem; margin-left: 1rem; box-shadow: var(--shadow-sm) }
.fc, .filtros, .form, .pnlboton, .pnlbotonAux { max-width: 100%; clear: both }
.perfil { background: var(--color-dark); border-radius: var(--radius-lg) var(--radius-lg) 0 0; float: left; margin: .6rem .6rem 0 0; width: 8.8rem; text-align: center; box-shadow: var(--shadow-md); overflow: hidden }
.perfilDatos { background: #f6f6f6; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; color: #666; height: 6.3rem; padding: 1rem; position: relative; top: .3rem }
.perfilFoto { border-radius: 50%; margin: .6rem auto; padding: .3rem; width: 6.3rem; height: 6.3rem; transition: transform var(--transition-normal); object-fit: cover; box-shadow: var(--shadow-md); border: 2px solid rgba(255,255,255,.8) }
  .perfilFoto:hover { transform: scale(1.05) }
.Foto { width: 8rem; height: 8rem; object-fit: cover; border-radius: var(--radius-md) }
.circulo { font-size: var(--fsize); background: #f6f6f6; border: 3px solid var(--color-primary); border-radius: 50%; margin: 0 .8rem; padding: 1.3rem; width: 5.6rem; height: 5.6rem; transition: all var(--transition-normal); display: flex; align-items: center; justify-content: center; text-align: center; box-shadow: var(--shadow-md) }
  .circulo:hover { transform: scale(1.05); box-shadow: 0 0 15px rgba(1,156,215,0.3) }
::-webkit-scrollbar { width: .5rem }
::-webkit-scrollbar-thumb { background: #666; border-radius: .3rem }
::-webkit-scrollbar-track { background: var(--color-neutral-100) }
.success-message, .error-message { padding: 1rem; border-radius: var(--radius-md); margin-bottom: 1rem; position: relative; animation: slideInUp .5s; font-weight: var(--font-weight-medium); display: flex; align-items: center; gap: .5rem }
.success-message { background-color: rgba(46,204,113,.1); border-left: 4px solid var(--color-success); color: #27ae60 }
  .success-message:before { content: '✓'; background-color: var(--color-success); color: #fff; border-radius: 50%; width: 1.5rem; height: 1.5rem; display: flex; align-items: center; justify-content: center; font-size: .75rem }
.error-message { background-color: rgba(231,76,60,.1); border-left: 4px solid var(--color-danger); color: #c0392b }
  .error-message:before { content: '!'; background-color: var(--color-danger); color: #fff; border-radius: 50%; width: 1.5rem; height: 1.5rem; display: flex; align-items: center; justify-content: center; font-size: .75rem }
.mensaje, .mesesAbiertos { position: fixed; bottom: 0 }
.mensaje { border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: #00000014; height: auto; min-height: 80px; width: 100%; right: 0; padding: .1rem; overflow: auto; animation: slideInRight 2s; box-shadow: var(--shadow-md); z-index: 99998; }
.mesesAbiertos { z-index: 3; height: auto; min-height: 20px; width: 100%; left: 0; background: var(--color-dark-secondary); padding: .25rem .5rem; overflow-y: auto; box-shadow: 0 -2px 5px rgba(0,0,0,.1); color: var(--color-white); font-size: .8em }
.mensaje-label { font-size: calc(var(--fsize)*1.1); padding-left: 5%; position: absolute; top: 1rem; height: auto; min-height: 70px }
.mensaje-imagen { position: absolute; top: 10%; left: 1%; padding: 0 0 0 10px; float: left }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 5px }
  .status-dot.active { background-color: var(--color-success) }
  .status-dot.inactive { background-color: var(--color-danger) }
  .status-dot.pending { background-color: var(--color-warning) }
.notificacion-ayuda { position: absolute; top: 0; right: 60px; z-index: 1000; display: none; width: 450px; height: 70vh; transition: transform .4s; background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden }
  .notificacion-ayuda.show { animation: slideInRight .4s }
#notificationContent { height: 60vh; padding: 1rem; overflow-y: auto }
.close-button { background-color: rgba(0,0,0,.5); border: none; border-radius: 50%; cursor: pointer; display: inline-block; padding: 0 8px; position: absolute; right: 10px; top: 10px; color: #fff; font-size: 18px; transition: all var(--transition-normal); width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; line-height: 1 }
  .close-button:hover { background-color: rgba(0,0,0,.8); transform: rotate(90deg) }
.overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 19999; animation: fadeIn .3s; background-color: rgba(0,0,0,.5); backdrop-filter: blur(4px) }
.center-spinner { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 20001; padding: 20px; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg) }
.TreeView { width: 100%; padding: 0; margin: 0; font-size: var(--fsize) }
  .TreeView a { color: var(--color-primary-dark); transition: color var(--transition-normal) }
    .TreeView a:hover { color: var(--color-primary) }
  .TreeView .rtPlus, .TreeView .rtMinus, .TreeView .rtIn { cursor: pointer }
  .TreeView .rtHover .rtIn { background-color: #e8f5fd }
  .TreeView .rtSelected .rtIn { background-color: var(--color-primary-light); color: var(--color-white) }
  .TreeView, .TreeView .rtUL { width: 100% }
.splitterContainer { width: 100%; height: 100%; margin: 0; padding: 0 }
.splitter { cursor: col-resize; width: 5px; background-color: #ccc; height: 100%; z-index: 5; transition: background-color var(--transition-normal) }
  .splitter:hover { background-color: var(--color-primary) }
.splitterPane { overflow: auto; padding: 10px }
.contenedor-flex { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; margin-top: 1rem }
.s-3 { flex: 1 1 calc(33.33% - 20px); max-width: calc(33.33% - 20px) }
.s-2, .s-2Fijo { flex: 1 1 calc(50% - 20px); max-width: calc(50% - 20px) }
.w4 { width: 2.5rem }
.w5 { width: 3.1rem }
.w6 { width: 3.6rem }
.w8, .we { width: 5rem }
.w9 { width: 5.6rem }
.w10 { width: 6.3rem }
.w12 { width: 11.3rem }
.w16 { width: 10rem }
.w20 { width: 12.5rem }
.w30 { width: 18.8rem }
.w35 { width: 21.9rem }
.w40 { width: 25rem }
.w42 { width: 41.25rem }
.w50 { width: 31.25rem }
.w55 { width: 34.38rem }
.w60 { width: 37.5rem }
.w65 { width: 40.6rem }
.w70 { width: 43.8rem }
.w90 { width: 56.25rem }
.w100 { width: 100% }
.h4 { height: 2.5rem }
.h5 { height: 3.1rem }
.h6 { height: 3.8rem }
.h8 { height: 5rem }
.h9 { height: 5.6rem }
.h10 { height: 6.3rem }
.h12 { height: 11.3rem }
.h20 { height: 12.5rem }
.h30 { height: 18.8rem }
.h40 { height: 25rem }
.h50 { height: 31.3rem }
.h100 { height: 100% }
.p1 { padding: 0 .6rem }
.p2 { padding: 0 1.3rem }
.p3 { padding: 0 1.9rem }
.p6 { padding: 0 3.8rem }
.pv1 { padding: .6rem 0 }
.pv2 { padding: 1.3rem 0 }
.pv3 { padding: 1.9rem 0 }
.pm1 { margin: .6rem }
.grida { animation: 1s ease-in-out slideDown }
.column, p { margin: .5rem 0 }
.about { background: #e7eef5; border: 1px solid #b4b9b4; padding: .5rem; width: 100%; max-width: 12.5rem; border-radius: var(--radius-sm) }
.actividadescliente { height: 2.3rem; right: 1.5rem; position: absolute; top: 2.375rem; width: 6.3rem }
.cajaTexto { color: #373737; height: 2.2rem; border-radius: var(--radius-sm); border: 1px solid var(--color-neutral-300); transition: all var(--transition-normal) }
  .cajaTexto:hover { border: 1px solid var(--color-primary-light) }
  .cajaTexto:focus { border: 1px solid var(--color-primary); box-shadow: 0 0 0 3px rgba(1,156,215,.2) }
.falta, .faltaN { background: #ffc; height: 2.2rem; border-left: 3px solid var(--color-warning) }
.flecha { background: url(img/flecha-roja2.png) center no-repeat; background-size: contain }
.listbox { border-bottom: .06rem solid var(--color-primary-light); width: 400px }
.listbox-boton { margin-top: 6rem }
.contenedorcentral, .contenidocentral, .contenidofoots { float: left; width: 92vw; clear: both }
.contenedorcentral { color: #717174; font-size: 1rem; margin: 0 auto; vertical-align: text-bottom; word-spacing: normal }
.contenedorfoots { clear: both; margin: 0 auto; vertical-align: middle; float: left }
.contenidocentral { position: absolute; top: 13.1rem }
.contenidofoots { position: absolute; top: 55.3rem }
.curved { border-radius: var(--radius-lg); border: 2px solid var(--color-primary); overflow: hidden }
.enlacescliente { float: right; height: 3.1rem; left: -.6rem; position: relative; top: .3rem; z-index: 1 }
.footer, .footerclientes, .logoL { position: absolute }
.footer { clear: both; height: 3.1rem; padding: 1.3rem; top: 200vw; z-index: -10 }
.footerclientes { height: 7.1rem; padding: .06rem; top: 43.8rem; width: 100vw; z-index: -2 }
.headerext { height: 7.1rem }
.linbut a:hover { border-radius: var(--radius-sm); background-color: rgba(1,156,215,.1); padding: 0 .5rem }
.logoL { background: url(img/logo.png) no-repeat; background-size: contain; height: 10.3rem; left: 1vw; top: .3rem; width: 28.3rem }
.logoclientes { background: url(img/logopr.png) no-repeat; background-size: contain; height: 4.3rem; left: .6rem; position: relative; top: .5rem; width: 14.3rem }
.menupcliente { height: .6rem; z-index: 50 }
.noticiassep { background: url(img/espacio_noticia.png); background-size: contain; height: 11.3rem; position: absolute; width: 2.5rem }
.pietabla { background: url(img/pieTabla.png) no-repeat; background-size: contain }
.salirclientes { background: url(img/closecp.png) no-repeat; background-size: contain; border: 0; height: 3.1rem; vertical-align: middle; width: 3.1rem }
.separador { border-bottom: 1px solid #c9c9c9; color: #1e1e2e; line-height: normal; margin-bottom: 1.3rem; padding-bottom: .5rem; width: 100%; max-width: 56.3rem }
.tipocliente { border-width: .13rem; margin: .3rem; padding: .3rem; vertical-align: middle }
.top-midclientes { background: url(img/top_midcp.png) no-repeat; background-size: contain; height: 11.3rem; left: 28.1rem; position: absolute; top: 0; width: 28.7rem }
.alert-card { display: flex; align-items: flex-start; background: linear-gradient(90deg, #fff0f0 0%, #ffffff 100%); border-left: 4px solid #e53935; border-radius: 12px; padding: 8px; max-width: 15%; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06); font-family: 'Segoe UI', sans-serif; margin-top: 5px; }

.alert-icon { font-size: 24px; color: #e53935; margin-right: 12px; margin-top: 4px; }

.alert-content h4 { margin: 0; font-size: 12px; color: #212121; font-weight: 600; }

.alert-content .alert-status { color: #e53935; }

.alert-content p { margin: 4px 0 0; font-size: 12px; color: #555; }

.alert-container { display: flex; flex-direction: row; gap: 12px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }

.buscador.elementosOc input,
.buscador.elementosOc select { height: 1.7rem !important; }

@media print {
  body, page { margin: 0; box-shadow: none; background: var(--color-white) }
  .grid, .gridPlana { box-shadow: none; border: 1px solid #000 }
    .grid th, .gridPlana th { color: #000; background: #f5f5f5; border-bottom: 1px solid #000 }
    .grid tr:nth-child(even) { background-color: #f9f9f9 }
}

page { display: block !important }
.botonGuardarPlantilla { position: absolute !important; left: 0 !important; bottom: 20vw !important }
page[size=A4] { width: 21cm; height: 29.7cm }
  page[size=A4][layout=landscape] { width: 29.7cm; height: 21cm }
.ajax__calendar, .ajax__tab_xp .ajax__tab_tab { height: auto !important }
  .ajax__calendar .ajax__calendar_container { z-index: 999999 !important }
.ajax__tab_xp .ajax__tab_container .ajax__tab_default { margin-right: 40px }
.icon-actividad { display: inline-block; padding: .2rem 0 }
  .icon-actividad svg, .icon-actividad svg path { fill: var(--color-primary-dark); transition: fill var(--transition-normal) }
  .icon-actividad:hover svg, .icon-actividad:hover svg path { fill: var(--color-primary) }
.calendar-actividades { position: absolute; top: 2px; right: 0; float: right }

@media only screen and (max-width:480px) {
  .login a, .sidebar { font-size: 20px }
  .filtros, [type=text], select { text-align: left }
  .float-fecha { justify-content: center; display: flex }
  .form [type=radio] { width: 100%; position: relative }
  .user_info, #MenuPrincipal ul, #cph_caActividadMensual, #menu ul li, #menu > ul, .buscador, .calendar-actividades, .date_info, .enova, .header .logo, .mesesAbiertos { display: none }
  :root { --fsize: 18px }
  body > * { font-size: var(--fsize) }
  .boton, .botonD { width: 92vw; display: inline-block; height: 3rem; margin: .2rem }
  .menu_side { left: .6rem; top: 1.7rem }
  .sidebar { height: auto; padding-top: 2.6rem }
    .sidebar a { padding: .1rem }
  .fc, .form ul { padding: 0 }
  .header { height: 2.5rem }
  .divContent { top: 2rem }
  .enlaces, .modale { top: 1rem }
  .filtros { width: 100%; margin: 0; padding: 0 .3rem 0 0 }
    .filtros label, .filtros span { margin: .1rem .6rem; display: inline-block }
    .filtros [type=text], .filtros select { width: 40%; display: inline-block }
  .login { max-width: 100%; height: 17rem }
    .login [type=password], .login [type=submit], .login [type=text] { width: 94%; margin: .1rem }
  .grid { margin-left: 0 !important; width: 99%; font-weight: 900 }
  .fr { float: left }
  [type=file] { width: 60% }
  [type=password], [type=text], select { height: 2.5rem }
  .form { margin: 0 .5rem 0 0; width: 99vw }
    .form ul { margin: 0; width: 98% }
    .filtros label, .filtros span, .form label, .form span { text-align: left; width: 35% }
    .form textarea { width: 94vw; font-size: 18px !important }
    .form [type=password], .form [type=text], .form [type=url], .form select { width: 56% }
    .fc [type=submit], .filtros [type=submit], .form [type=submit] { display: inline-block }
  .mensaje { position: fixed; left: 0; bottom: 0 }
  .panel { padding: 0 0 0 .2rem; left: .6rem !important; width: 95vw !important }
  .panelnomodal { max-height: none !important }
  .powerby { width: 100vw; margin: 0; font-size: calc(var(--fsize)*.65); bottom: 0; left: 0 }
  .modale { position: absolute }
  .form .w4 { width: 3rem }
  .form .w9 { width: 5rem }
  .form .w12, .w8 { width: 8rem }
  .w30 { width: 45% }
  .w40 { width: 55% }
  .form .w20 { width: 14rem }
  .tooltipo .tooltiptexto { min-width: 6rem; left: 1.4rem }
  .listbox { width: 95% !important }
  .opc { margin-bottom: 1.7rem }
  .panel .fc .boton, .panel .fc .botonD { width: 93vw }
  .filtros .w4 { width: 2rem }
  .filtros .w9 { width: 7rem }
  .s-2, .s-2Fijo, .s-3 { flex: 1 0 100%; min-width: 100%; margin-bottom: 10px; display: flex; justify-content: center; }
  .contenedor-flex { display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column }
  .form .we { width: 13.2rem }
  .circulo { font-size: 13px }
  .plus { width: 67px; height: 3rem }
  .dt-paging-button { height: 2.8rem }
  .form textarea.obl { width: 92vw }
  .tooltipoAyuda .tooltipoAyudatexto { top: -30px; left: calc(50% - 50px); transform: translateX(-50%) }
  .listbox-boton { margin-top: 0 }
  .form .w8 { width: 6.5rem }
  .filtros table tbody tr td input[type=radio] { margin-left: 3rem }
  .notificacion-ayuda { width: 350px }
  .mensaje { height: 100px; overflow: auto }
  .mensaje-label { height: 100px; padding-left: 10% }
  .form .ulDescripcion { padding-left: 0 }
}

@media only screen and (min-width:481px) and (max-width:768px) {
  .float-fecha { justify-content: center; display: flex }
  .form [type=radio] { width: 100%; position: relative }
  #MenuPrincipal ul, #menu ul li, #menu > ul, .buscador, .calendar-actividades, .date_info, .enova, .header .logo { display: none }
  .boton, .botonD, .fc [type=submit], .filtros [type=submit], .form [type=submit] { display: inline-block }
  :root { --fsize: 18px }
  body > * { font-size: var(--fsize) }
  .boton, .botonD { width: 91vw; height: 3rem; margin: .2rem }
  .user_info { left: 20vw; top: 1rem; font-size: calc(var(--fsize) * 0.6) }
  .menu_side { left: .3rem; top: 1.7rem }
  .sidebar { height: auto; font-size: 20px; padding-top: 2.6rem }
    .sidebar a { padding: .1rem }
  .fc, .form ul { padding: 0 }
  .header { height: 2.5rem }
  .divContent { top: 2rem }
  .enlaces { top: 1rem }
  .filtros { width: 100VW }
    .filtros label, .filtros span { text-align: left; margin: .1rem .6rem; width: 22%; display: inline-block }
    .filtros [type=text], .filtros select { width: 58% }
  .content { position: absolute; top: 20% }
  .mensaje, .mesesAbiertos { position: fixed; left: 0; bottom: 0 }
  .login { max-width: 100%; height: 17rem }
    .login [type=password], .login [type=submit], .login [type=text] { width: 94%; margin: .1rem }
    .login a { font-size: 17px }
  .grid { margin-left: 0 !important; width: 99%; font-weight: 900 }
  .fr { float: left }
  [type=text], select { text-align: left }
  [type=password], [type=text], select { height: 2.5rem }
  .form { margin: 0; width: 99vw }
    .form ul { margin: 0; width: 98% }
    .form label, .form span { text-align: left; width: 30% }
    .form [type=password], .form [type=text], .form [type=url], .form select { width: 56% }
    .form textarea { width: 95%; font-size: 18px !important }
  .fc [type=submit] { margin-left: .7rem }
  .form .w9, .w8 { width: 8rem }
  .mesesAbiertos { font-size: 9px }
  .panel { left: 1.2rem !important; width: 95vw !important }
  .powerby { width: 100vw; margin: 0; font-size: .7rem; bottom: 0; left: 0 }
  .filtros .w4, .form .w4 { width: 4rem }
  .panel .form .grid { width: 95% }
  .listbox { width: 99% !important }
  .panel .fc .boton, .panel .fc .botonD, .pnlboton .boton, .pnlboton .botonD { width: 93vw }
  .opc { margin-bottom: 1.7rem }
  .form .w12 { width: 18rem }
  .form .w8 { width: 10rem }
  .s-2, .s-2Fijo, .s-3 { flex: 1 0 100%; min-width: 100%; margin-bottom: 10px; display: flex; justify-content: center; }
  .sbotones { width: 95vw }
  .botonAux { margin-left: .5rem }
  .pnlbotonAux .boton, .pnlbotonAux .botonD { width: 91vw }
  .form .we { width: 23rem }
  .circulo { font-size: 13px }
  .plus { width: 67px; height: 3rem }
  .dt-paging-button { height: 2.8rem }
  .paging_simple_numbers { width: 30rem }
  .tooltipoAyuda .tooltipoAyudatexto { top: -15px; left: 0; transform: translate(-100%,-50%) }
  .listbox-boton { margin-top: 0 }
  .filtros table tbody tr td input[type=radio] { margin-left: 4rem }
  .filtros .w9 { width: 40% }
  .form .ulDescripcion { padding-left: 0 }
}

@media only screen and (min-width:769px) and (max-width:1024px) {
  .botonAux, .pnlboton { clear: both }
  .float-fecha { float: right !important }
  .user_info, #MenuPrincipal ul, #cph_caActividadMensual, #menu ul li, #menu > ul, .calendar-actividades, /*.date_info, .enova,*/ .header .logo { display: none }
  .buscador { left: 25vw }
  .W30 { width: 7% }
  .sidebar { height: auto; font-size: 18px }
  .form [type=password], .form [type=text], .form select { max-width: 11rem }
  .boton, .botonD, .pnlboton .boton, .pnlboton .botonD { min-width: 3.8rem }
  .login input { margin: .06rem auto; height: 1.7rem; font-size: .8rem }
  .panel .form .grid { width: 95% }
  .panel { margin: 0 !important; width: 95vw !important }
  .w16 { width: 8rem }
  .botonAux { max-width: 100% }
  .tooltipoAyuda .tooltipoAyudatexto { top: -30px; left: -270px; transform: translateX(0) }
  /*.s-2, .s-3 { flex: 1 0 100%; max-width: 100%; margin-bottom: 10px }*/
  .s-2, .s-3 { flex: 1 0 100%; min-width: 100%; margin-bottom: 10px; display: flex; justify-content: center; }
  .s-2Fijo { flex: 1 1 calc(50% - 20px); max-width: calc(50% - 20px) }
}

@media only screen and (min-width:1025px) {
  .float-fecha { float: right !important }
  .principal2 { display: none }
  .form [type=password], .form [type=text], .form select { max-width: inherit }
  .form textarea { max-width: 100%; min-height: 5rem }
  /*.boton, .botonD { min-width: 5rem }*/
  .mesesAbiertos { font-size: 9px; font-weight: 600; font-stretch: extra-expanded }
  .w8 { width: 5rem }
  .botonAux { max-width: 100%; clear: both }
}
