.fi-sidebar-header .fi-logo,
.fi-topbar .fi-logo {
    display: block !important;
    width: auto !important;
    height: 3.25rem !important;
    max-width: 8rem;
    object-fit: contain;
}

/* GestionaRH: identity shared with gestionarh.app. */
:root {
    --gr-navy: #102e55;
    --gr-blue: #165dcc;
    --gr-green: #167455;
    --gr-text: #19334f;
    --gr-muted: #53657a;
    --gr-border: #dfe6ee;
    --gr-shadow: 0 10px 28px #102e5508;
}
body.fi-body {
    font-family: "Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif !important;
    color: var(--gr-text);
}
.fi-body .fi-layout,
.fi-body .fi-simple-layout {
    background: #f5f8fc !important;
}
.fi-body .fi-topbar > nav,
.fi-body .fi-sidebar,
.fi-body .fi-sidebar-header {
    background: #fff !important;
    border-color: var(--gr-border) !important;
    box-shadow: none !important;
}
.fi-body .fi-section,
.fi-body .fi-ta-ctn,
.fi-body .fi-simple-main,
.fi-body .ts-attendance-card,
.fi-body .ts-report-single__actions {
    background: #fff !important;
    border: 1px solid var(--gr-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--gr-shadow) !important;
}
.fi-body .fi-header-heading,
.fi-body .fi-section-header-heading,
.fi-body .fi-simple-header-heading,
.fi-body .ts-attendance-hero h2,
.fi-body .ts-attendance-card__header h3,
.fi-body .ts-report-range__hero h2 {
    color: var(--gr-navy) !important;
    letter-spacing: -.025em;
}
.fi-body .fi-btn,
.fi-body .ts-gps-button,
.fi-body .ts-report-card__button {
    border-radius: 9px !important;
    min-height: 44px;
    box-shadow: none !important;
    font-weight: 700;
    transition: background-color .15s, border-color .15s;
}
.fi-body .fi-btn.fi-color-primary,
.fi-body .ts-report-card__button:not(.ts-report-card__button--ghost) {
    background: var(--gr-blue) !important;
    color: #fff !important;
}
.fi-body .fi-btn.fi-color-primary:hover,
.fi-body .ts-report-card__button:not(.ts-report-card__button--ghost):hover {
    background: #124fae !important;
}
.fi-body .fi-btn:disabled,
.fi-body .ts-gps-button:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.fi-body .fi-input-wrp {
    background: #fff !important;
    border-radius: 9px !important;
    box-shadow: 0 0 0 1px var(--gr-border) !important;
}
.fi-body .fi-input-wrp:focus-within {
    box-shadow: 0 0 0 2px var(--gr-blue) !important;
}
.fi-body :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #3984ec !important;
    outline-offset: 3px !important;
}
.fi-body .fi-sidebar-item-active > a {
    background: #eaf1fc !important;
    border-radius: 9px !important;
}
.fi-body .fi-sidebar-item-active .fi-sidebar-item-label,
.fi-body .fi-sidebar-item-active .fi-sidebar-item-icon {
    color: var(--gr-blue) !important;
}
.fi-body .ts-login-brand__card {
    background: #fff !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 1rem !important;
}
.fi-body .ts-login-brand__text {
    color: var(--gr-muted) !important;
    max-width: 34ch;
    margin-inline: auto;
}
.fi-body .ts-login-brand__badge {
    color: var(--gr-blue) !important;
    background: #eaf1fc !important;
}
.fi-body .ts-attendance-hero,
.fi-body .ts-report-range__hero,
.fi-body .ts-report-range__highlight {
    background: #eef4fb !important;
    border: 1px solid var(--gr-border) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}
.fi-body .ts-gps-status--ready {
    background: #e1f2e8 !important;
    color: var(--gr-green) !important;
}
@media (max-width: 640px) {
    .fi-body .fi-simple-main { padding: 1.25rem !important; }
    .fi-body .fi-simple-main .fi-form { padding-inline: 0 !important; }
    .fi-body .fi-simple-main .fi-btn { width: 100%; }
    .fi-body .fi-input, .fi-body .fi-select-input, .fi-body .fi-textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .fi-body *, .fi-body *::before, .fi-body *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* Portal empleado premium */
body:has(.climanet-dashboard-employee) .fi-main {
    max-width: 94rem;
    padding-top: clamp(1rem, 2.4vw, 2.25rem);
}
body:has(.climanet-dashboard-employee) .fi-header {
    border: 0;
    background: transparent;
    box-shadow: none;
    padding-inline: .25rem;
}
body:has(.climanet-dashboard-employee) .fi-header-heading {
    font-size: clamp(1.35rem, 2vw, 1.9rem);
}
.climanet-dashboard-employee { display: grid; gap: 1.35rem; }
.climanet-dashboard-employee .climanet-profile-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(17rem, .8fr);
    gap: clamp(1.25rem, 3vw, 2.75rem);
    overflow: hidden;
    padding: clamp(1.5rem, 3.3vw, 3rem);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 30px;
    color: #fff;
    background: radial-gradient(ellipse at 92% 5%, rgba(71,157,220,.30), transparent 31%), linear-gradient(120deg,#102b50 0%,#173b69 53%,#1a4b7c 100%);
    box-shadow: 0 24px 60px rgba(16,46,85,.19);
}
.climanet-employee-orbit { position:absolute; z-index:-1; border:1px solid rgba(188,224,255,.12); border-radius:50%; pointer-events:none; }
.climanet-employee-orbit--one { width:30rem;height:30rem;right:-8rem;top:-18rem;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 86px rgba(255,255,255,.02); }
.climanet-employee-orbit--two { width:19rem;height:19rem;right:5rem;bottom:-15rem; }
.climanet-dashboard-employee .climanet-profile-hero__identity { align-self:center; display:flex; align-items:flex-start; gap:1.25rem; }
.climanet-profile-avatar-premium { display:grid;place-items:center;width:4.5rem;height:4.5rem;flex:0 0 auto;border:1px solid rgba(255,255,255,.55);border-radius:1.5rem;background:linear-gradient(145deg,#fff,#d8efff);color:#17436e;font-size:1.4rem;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.17); }
.climanet-dashboard-employee .climanet-profile-copy { min-width:0; }
.climanet-dashboard-employee .climanet-profile-copy .climanet-focus-kicker { color:#a9d8f5;font-size:.69rem;font-weight:800;letter-spacing:.15em; }
.climanet-dashboard-employee .climanet-profile-copy h2 { margin:.45rem 0 .6rem;color:#fff!important;font-size:clamp(1.65rem,3.1vw,2.65rem);font-weight:750;letter-spacing:-.045em;line-height:1.12; }
.climanet-dashboard-employee .climanet-profile-copy p { max-width:39rem;margin:0;color:rgba(236,246,255,.78)!important;font-size:.96rem;line-height:1.65; }
.climanet-dashboard-employee .climanet-profile-meta { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem; }
.climanet-dashboard-employee .climanet-profile-chip { border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);color:#f2f8ff;padding:.38rem .72rem;font-size:.72rem;font-weight:700;backdrop-filter:blur(10px); }
.climanet-dashboard-employee .climanet-profile-chip-soft { background:rgba(255,255,255,.07);color:rgba(241,247,255,.83); }
.climanet-dashboard-employee .climanet-profile-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:.65rem; }
.climanet-dashboard-employee .climanet-profile-action-premium { display:flex;align-items:center;gap:.7rem;min-width:0;min-height:4rem;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.09);color:#fff;text-decoration:none;backdrop-filter:blur(12px);transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.climanet-dashboard-employee .climanet-profile-action-premium:hover { transform:translateY(-2px);border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.16); }
.climanet-action-icon { display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:0 0 auto;border-radius:10px;background:rgba(255,255,255,.14);color:#c4e8ff;font-size:1.15rem;font-weight:800; }
.climanet-profile-action-premium > span:nth-child(2) { display:grid;gap:.12rem;min-width:0; }
.climanet-profile-action-premium strong { overflow:hidden;color:#fff;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap; }
.climanet-profile-action-premium small { color:rgba(230,241,253,.7);font-size:.63rem; }
.climanet-action-arrow { margin-left:auto;color:#9fd6f5;font-size:.9rem; }
.climanet-dashboard-employee .climanet-employee-welcome-line { display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.3rem .3rem 0; }
.climanet-employee-welcome-line > div { display:grid;gap:.2rem; }
.climanet-employee-welcome-line .climanet-focus-kicker { color:#3978b0;font-size:.65rem;font-weight:800;letter-spacing:.15em; }
.climanet-employee-welcome-line strong { color:#102e55;font-size:1.15rem;letter-spacing:-.025em; }
.climanet-employee-period { color:#718198;font-size:.8rem;font-weight:600;text-transform:capitalize; }
.climanet-dashboard-employee .climanet-metric-grid--employee { grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem; }
.climanet-dashboard-employee .climanet-metric-card { position:relative;min-height:9rem;padding:1.25rem 1.35rem;border:1px solid #e2eaf3;border-radius:18px;background:linear-gradient(150deg,#fff,#f9fbfe);box-shadow:0 9px 26px rgba(20,55,92,.055); }
.climanet-dashboard-employee .climanet-metric-card--accent { border-color:#d3e6f7;background:linear-gradient(145deg,#f1f8ff,#fff); }
.climanet-employee-metric-icon { display:grid;place-items:center;width:2rem;height:2rem;margin-bottom:.8rem;border-radius:10px;background:#edf5fd;color:#24629a;font-size:.95rem;font-weight:800; }
.climanet-dashboard-employee .climanet-metric-card > span:not(.climanet-employee-metric-icon) { color:#65788d;font-size:.76rem;font-weight:650; }
.climanet-dashboard-employee .climanet-metric-card strong { display:block;margin-top:.18rem;color:#102e55;font-size:clamp(1.45rem,2vw,2rem);font-weight:800;letter-spacing:-.045em; }
.climanet-dashboard-employee .climanet-metric-card p { margin:.25rem 0 0;color:#8291a2;font-size:.7rem; }
.climanet-dashboard-employee .climanet-profile-split { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.climanet-dashboard-employee .climanet-profile-panel { padding:1.25rem;border:1px solid #e2eaf3;border-radius:20px;background:#fff;box-shadow:0 9px 26px rgba(20,55,92,.045); }
.climanet-dashboard-employee .climanet-panel-heading { display:grid;gap:.2rem;margin-bottom:.9rem; }
.climanet-dashboard-employee .climanet-panel-heading .climanet-focus-kicker { color:#3978b0;font-size:.63rem;font-weight:800;letter-spacing:.14em; }
.climanet-dashboard-employee .climanet-panel-heading > strong { color:#102e55;font-size:1rem;letter-spacing:-.02em; }
.climanet-dashboard-employee .climanet-period-card-employee { margin:0;padding:1rem;border:1px solid #e8eef5;border-radius:15px;background:linear-gradient(130deg,#f8fbff,#fff); }
.climanet-dashboard-employee .climanet-period-header { display:flex;align-items:center;justify-content:space-between; }
.climanet-dashboard-employee .climanet-period-header strong { color:#102e55;font-size:1.7rem;letter-spacing:-.04em; }
.climanet-dashboard-employee .climanet-period-caption { color:#8291a2;font-size:.73rem; }
.climanet-dashboard-employee .climanet-period-stats { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem; }
.climanet-dashboard-employee .climanet-period-stats > div { padding:.7rem;border-radius:11px;background:#f2f6fb; }
.climanet-dashboard-employee .climanet-period-stats dt { color:#718198;font-size:.68rem; }
.climanet-dashboard-employee .climanet-period-stats dd { margin:.2rem 0 0;color:#234c76;font-size:.95rem;font-weight:800; }
.climanet-dashboard-employee .climanet-request-stack { display:grid;gap:.55rem; }
.climanet-dashboard-employee .climanet-request-card-compact { display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.8rem;padding:.75rem .85rem;border:1px solid #e9eff5;border-radius:12px;background:#fbfdff; }
.climanet-dashboard-employee .climanet-request-card-compact strong { color:#193b61;font-size:.8rem; }
.climanet-dashboard-employee .climanet-request-date { color:#6d7f93;font-size:.69rem; }
.climanet-dashboard-employee .climanet-status { padding:.28rem .55rem;border-radius:999px;background:#eef3f8;color:#5e7085;font-size:.63rem;font-weight:800; }
@media (max-width: 900px) {
    .climanet-dashboard-employee .climanet-profile-hero { grid-template-columns:1fr; }
    .climanet-dashboard-employee .climanet-profile-actions { max-width:42rem; }
}
@media (max-width: 640px) {
    .climanet-dashboard-employee { gap:1rem; }
    .climanet-dashboard-employee .climanet-profile-hero { padding:1.25rem;border-radius:22px; }
    .climanet-dashboard-employee .climanet-profile-hero__identity { gap:.8rem; }
    .climanet-profile-avatar-premium { width:3.2rem;height:3.2rem;border-radius:1.1rem;font-size:1.05rem; }
    .climanet-dashboard-employee .climanet-profile-actions { grid-template-columns:1fr; }
    .climanet-dashboard-employee .climanet-metric-grid--employee { grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem; }
    .climanet-dashboard-employee .climanet-metric-card { min-height:8.5rem;padding:.9rem; }
    .climanet-dashboard-employee .climanet-profile-split { grid-template-columns:1fr; }
    .climanet-dashboard-employee .climanet-employee-welcome-line { align-items:flex-start;flex-direction:column; }
    .climanet-employee-period { font-size:.73rem; }
    .climanet-dashboard-employee .climanet-request-card-compact { grid-template-columns:1fr auto; }
    .climanet-dashboard-employee .climanet-request-card-compact .climanet-status { grid-column:2;grid-row:1 / span 2; }
}
@media (prefers-reduced-motion: reduce) {
    .climanet-dashboard-employee *, .climanet-dashboard-employee *::before, .climanet-dashboard-employee *::after { transition:none!important; }
}

/* Selección rápida de tipo de marcación */
.ts-attendance-card--main { overflow:hidden; }
.ts-attendance-card--main .ts-attendance-card__header { margin-bottom:1.35rem; }
.ts-attendance-card--main .ts-attendance-card__header h3 { margin:.35rem 0;color:var(--gr-navy);font-size:clamp(1.2rem,2.5vw,1.65rem);letter-spacing:-.035em; }
.ts-attendance-card--main .ts-attendance-card__header p { max-width:48rem;margin:.4rem 0 0;color:#64758a;line-height:1.55; }
.ts-attendance-form-shell .fi-fo-radio { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem; }
.ts-attendance-form-shell .ts-attendance-type-choices { padding:1.15rem!important;border:1px solid #e4ebf3;border-radius:18px;background:linear-gradient(145deg,#f8fbfe,#f3f7fc); }
.ts-attendance-form-shell .ts-attendance-type-choices > div { padding-top:0!important; }
.ts-attendance-form-shell .ts-attendance-type-choices > div:first-child { margin-bottom:.8rem!important; }
.ts-attendance-form-shell .ts-attendance-type-choices > div:first-child label { color:#263f63;font-size:.88rem;font-weight:750; }
.ts-attendance-form-shell .ts-attendance-type-choices > div > label { position:relative;display:flex;align-items:center;gap:.8rem;min-height:5.2rem;padding:1rem 1.1rem;border:1px solid #d9e3ef;border-radius:15px;background:linear-gradient(145deg,#fff,#fbfdff);cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease; }
.ts-attendance-form-shell .ts-attendance-type-choices > div > label:hover { transform:translateY(-1px);border-color:#8db9e1;background:#f5faff;box-shadow:0 8px 18px rgba(24,67,115,.07); }
.ts-attendance-form-shell .ts-attendance-type-choices > div > label:has(input:checked) { border-color:#397fc1;background:linear-gradient(145deg,#edf6ff,#fff);box-shadow:0 0 0 3px rgba(57,127,193,.11),0 10px 22px rgba(16,46,85,.06); }
.ts-attendance-form-shell .ts-attendance-type-choices input[type="radio"] { width:1.15rem;height:1.15rem;margin-top:0;flex:0 0 auto;accent-color:#165dcc; }
.ts-attendance-form-shell .ts-attendance-type-choices label > div { display:grid;gap:.22rem; }
.ts-attendance-form-shell .ts-attendance-type-choices label > div > span { color:#163c64;font-size:.88rem;font-weight:800; }
.ts-attendance-form-shell .ts-attendance-type-choices label > div > p { margin:0;color:#718198;font-size:.72rem;line-height:1.4; }
.ts-attendance-submit-wrap { margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e9eff5; }
.ts-attendance-submit-button { min-height:3.75rem!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:15px!important;background:linear-gradient(110deg,#123d7a 0%,#1762bf 52%,#2d83df 100%)!important;color:#fff!important;font-size:1rem!important;font-weight:800!important;letter-spacing:.005em;box-shadow:0 14px 28px rgba(19,77,151,.25),inset 0 1px 0 rgba(255,255,255,.22)!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important; }
.ts-attendance-submit-button:not(:disabled):hover { transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 18px 34px rgba(22,93,204,.3),inset 0 1px 0 rgba(255,255,255,.25)!important; }
.ts-attendance-submit-button:focus-visible { outline:3px solid #82bbf5!important;outline-offset:3px!important; }
.ts-attendance-submit-button:disabled { border-color:#d4dde8!important;background:#e8edf3!important;color:#65758a!important;box-shadow:none!important;cursor:not-allowed;opacity:1!important; }
.ts-gps-panel { margin-top:.5rem; }
.ts-gps-location-meta { display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;margin-top:.8rem;padding:.8rem 1rem;border:1px solid #dce8f3;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#f1f7fd); }
.ts-gps-accuracy { display:flex;align-items:center;gap:.6rem;color:#50647a;font-size:.9rem; }
.ts-gps-accuracy__icon { display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:#dcfce8;color:#15803d;font-weight:800; }
.ts-gps-accuracy__label { font-weight:600; }
.ts-gps-accuracy strong { color:#166534;font-size:1rem; }
.ts-gps-details { color:#526981;font-size:.82rem; }
.ts-gps-details summary { cursor:pointer;list-style:none;color:#2563a5;font-weight:700; }
.ts-gps-details summary::-webkit-details-marker { display:none; }
.ts-gps-details summary::after { content:'⌄';display:inline-block;margin-left:.4rem;transition:transform .16s ease; }
.ts-gps-details[open] summary::after { transform:rotate(180deg); }
.ts-gps-details .ts-gps-coords { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:.75rem 0 0; }
.ts-gps-details .ts-gps-coords__card { min-width:0;padding:.65rem .75rem;border:1px solid #e0e8f0;border-radius:10px;background:#fff; }
.ts-gps-details .ts-gps-coords__card dt { color:#718197;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em; }
.ts-gps-details .ts-gps-coords__card dd { margin:.2rem 0 0;color:#34495e;font-variant-numeric:tabular-nums; }
@media(max-width:540px) { .ts-gps-location-meta { align-items:flex-start;flex-direction:column; }.ts-gps-details { width:100%; }.ts-gps-details .ts-gps-coords { grid-template-columns:1fr; } }
.ts-attendance-form-shell .ts-attendance-type-choices > div > label:focus-within { outline:3px solid rgba(37,111,190,.22);outline-offset:2px; }
@media(max-width:640px) { .ts-attendance-form-shell .ts-attendance-type-choices { padding:.8rem!important;border-radius:15px; }.ts-attendance-form-shell .ts-attendance-type-choices > div > label { min-height:4.4rem;padding:.8rem .9rem; }.ts-attendance-submit-wrap { margin-top:1.1rem;padding-top:1rem; } }
.climanet-dashboard-employee .climanet-profile-action-premium--primary { position:relative;min-height:4.75rem;padding:.75rem .9rem;border-color:rgba(255,255,255,.92);background:linear-gradient(135deg,#fff 0%,#eef7ff 100%);box-shadow:0 12px 28px rgba(4,20,43,.2),inset 0 1px 0 rgba(255,255,255,.9); }
.climanet-dashboard-employee .climanet-profile-action-premium--primary:hover { transform:translateY(-3px);border-color:#b9e2ff;background:linear-gradient(135deg,#fff 0%,#e7f4ff 100%);box-shadow:0 18px 34px rgba(4,20,43,.27),0 0 0 3px rgba(164,218,255,.18); }
.climanet-dashboard-employee .climanet-profile-action-premium--primary .climanet-action-icon { width:2.8rem;height:2.8rem;border-radius:13px;background:linear-gradient(145deg,#1975cb,#1744a0);color:#fff;box-shadow:0 7px 15px rgba(23,79,165,.25); }
.climanet-dashboard-employee .climanet-profile-action-premium--primary .climanet-action-icon svg { width:1.35rem;height:1.35rem;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.climanet-dashboard-employee .climanet-profile-action-premium--primary strong { color:#102e55;font-size:.82rem; }
.climanet-dashboard-employee .climanet-profile-action-premium--primary small { color:#627b98;font-size:.67rem; }
.climanet-dashboard-employee .climanet-profile-action-premium--primary .climanet-action-arrow { display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#e0effe;color:#165dcc;font-size:1.05rem;transition:transform .16s ease; }
.climanet-dashboard-employee .climanet-profile-action-premium--primary:hover .climanet-action-arrow { transform:translateX(2px); }
.climanet-dashboard-employee .climanet-profile-action-premium:focus-visible { outline:3px solid #9bdcff;outline-offset:3px; }
@media (max-width:640px) {
    .ts-attendance-form-shell .fi-fo-radio { grid-template-columns:1fr;gap:.55rem; }
    .ts-attendance-form-shell .ts-attendance-type-choices > div > label { min-height:4.5rem;padding:.85rem; }
    .ts-attendance-submit-button { min-height:3.5rem!important; }
}

.fi-body .fi-simple-main {
    display: flex !important;
    flex-direction: column;
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 30rem !important;
    padding: 2rem !important;
}
.fi-body .fi-simple-main .fi-form {
    padding: 0 !important;
    margin: 0 !important;
    gap: 1.25rem !important;
}
.fi-body .fi-simple-main .ts-login-brand,
.fi-body .fi-simple-main .ts-login-brand__card {
    margin: 0 !important;
}
.fi-body .fi-fo-field-wrp-label span,
.fi-body .fi-btn-label {
    font-family: "Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif !important;
    font-weight: 600 !important;
}
.fi-body .fi-simple-main .fi-btn { width: 100%; }

.ts-billing-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0 0 1.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--gr-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--gr-shadow);
}
.ts-billing-brand__logo {
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    object-fit: contain;
}
.ts-billing-brand__eyebrow {
    margin: 0 0 .15rem;
    color: var(--gr-blue);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
}
.ts-billing-brand__title {
    margin: 0;
    color: var(--gr-navy);
    font-size: 1.05rem;
    font-weight: 800;
}
.ts-billing-brand__copy {
    margin: .15rem 0 0;
    color: var(--gr-muted);
    font-size: .875rem;
}
@media (max-width: 640px) {
    .ts-billing-brand { align-items: flex-start; padding: .875rem 1rem; }
    .ts-billing-brand__logo { width: 42px; height: 42px; }
}

/* Facturación Tecnosistemas: workspace de emisión */
body:has(.ts-billing-brand) .fi-main {
    max-width: 96rem;
}
.ts-billing-brand {
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: 116px;
    padding: 1.4rem 1.6rem;
    border: 0;
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 2% 110%, rgba(91, 206, 248, .38), transparent 28%),
        radial-gradient(circle at 85% 0%, rgba(102, 82, 255, .42), transparent 28%),
        linear-gradient(120deg, #0a1f48 0%, #123d79 53%, #1e2e72 100%);
    box-shadow: 0 22px 50px rgba(16, 46, 85, .25) !important;
}
.ts-billing-brand__identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.ts-billing-brand__mark {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 25px rgba(0,0,0,.18);
}
.ts-billing-brand__logo { width: 44px; height: 44px; }
.ts-billing-brand__eyebrow { color: #a9def8; letter-spacing: .13em; }
.ts-billing-brand__title { color: #fff; font-size: 1.3rem; }
.ts-billing-brand__copy { color: rgba(234, 245, 255, .78); }
.ts-billing-brand__nav { display: flex; align-items: center; gap: .35rem; padding: .3rem; border-radius: 12px; background: rgba(255,255,255,.10); }
.ts-billing-brand__nav a { padding: .55rem .75rem; border-radius: 8px; color: rgba(255,255,255,.8); font-size: .78rem; font-weight: 800; text-decoration: none; transition: .16s ease; }
.ts-billing-brand__nav a:hover, .ts-billing-brand__nav a.is-active { color: #102e55; background: #fff; }
.ts-billing-brand__stats { display: flex; flex: 0 0 auto; gap: .85rem; }
.ts-billing-brand__stats > div { min-width: 72px; padding-left: .85rem; border-left: 1px solid rgba(255,255,255,.22); }
.ts-billing-brand__stats strong, .ts-billing-brand__stats span { display: block; }
.ts-billing-brand__stats strong { font-size: 1.35rem; line-height: 1.1; }
.ts-billing-brand__stats span { margin-top: .25rem; color: #a9def8; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
body:has(.ts-billing-brand) .fi-ta { overflow: hidden; border-radius: 18px !important; }
body:has(.ts-billing-brand) .fi-ta-header { padding: 1.25rem !important; background: linear-gradient(180deg, #fbfdff, #f5f9ff); }
body:has(.ts-billing-brand) .fi-ta-header-heading { color: #102e55; font-family: "Sora", sans-serif; }
body:has(.ts-billing-brand) .fi-ta-header-cell { color: #64748b; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body:has(.ts-billing-brand) .fi-ta-row { transition: background-color .15s ease; }
body:has(.ts-billing-brand) .fi-ta-row:hover { background: #f3f8ff !important; }
body:has(.ts-billing-brand) .fi-fo-section { overflow: hidden; border-radius: 18px !important; }
body:has(.ts-billing-brand) .fi-fo-section-header { padding: 1.25rem 1.35rem !important; background: linear-gradient(90deg, #f4f8ff, #fff); }
body:has(.ts-billing-brand) .fi-fo-section-header-heading { font-family: "Sora", sans-serif; font-size: 1rem; }
@media (max-width: 900px) {
    .ts-billing-brand { align-items: flex-start; flex-wrap: wrap; }
    .ts-billing-brand__nav { order: 3; }
}
@media (max-width: 640px) {
    .ts-billing-brand { padding: 1.15rem; border-radius: 17px; }
    .ts-billing-brand__nav { width: 100%; overflow-x: auto; }
    .ts-billing-brand__stats { width: 100%; }
}
