/* Structural, compact implementation of the approved visual proposals. */
body:has(.faithful-view){--bg:#070f19;--bg2:#0b1929;--bg3:#102237;--border:#203d58;--text:#edf4ff;--text2:#adcae9;--text3:#7795b5;--green:#58dfb6;--blue:#429dff;--amber:#ffbe43;--red:#ff697c;background:#070f19}
.app:has(.faithful-view){background:radial-gradient(ellipse at 80% 0,#0b1c2c,transparent 55%),#070f19}
.app:has(.faithful-view) .sidebar{background:linear-gradient(130deg,#0d2032,#091522 65%);border-right:1px solid #1d344b}
.app:has(.faithful-view) .nav-item.active{background:linear-gradient(100deg,#0967ee,#137cfa);color:#fff;box-shadow:inset 3px 0 #6fc3ff,0 3px 18px #006eff20;border-radius:6px}
.app:has(.faithful-view) .nav-item{font-size:14px;min-height:36px;margin-bottom:4px}
.app:has(.faithful-view) .nav-section{font-size:11px;color:#91b7de;margin:18px 12px 8px;letter-spacing:.05em}
.faithful-view{padding:22px 22px 42px!important;font-size:14px;max-width:none!important}
.faithful-view .preview-notice{font-size:11px!important;padding:5px 10px!important;min-height:0!important;border-color:#1c364a!important;background:#0a1b27!important;margin-bottom:14px!important}
.faithful-view .page-title{font-size:29px!important;font-weight:750;letter-spacing:-.5px;color:#f1f6ff}
.faithful-view .page-sub{font-size:14px!important;line-height:1.5;color:#a9c5e6}
.faithful-view .fx-header{min-height:48px;align-items:flex-start;margin-bottom:16px!important;gap:12px}
.faithful-view .ui-page-heading{display:flex;justify-content:space-between;align-items:center}
.faithful-view .ui-page-heading .page-header{margin:0!important;flex:1}
.faithful-view .ui-period-chip{display:none}
.faithful-view :is(input,select,.filter-select,.search-input){font-size:14px!important;min-height:34px!important;background:#0a1829;border-color:#27435f;color:#d7e8fc;border-radius:5px}
.faithful-view :is(.btn-sm,.action-btn,.pill-action){font-size:12px!important;min-height:27px!important;border-radius:5px;padding:5px 10px!important}
.faithful-view .table-wrap,.faithful-view .form-card,.faithful-view .stats-section-panel{background:linear-gradient(115deg,#0c1b2b,#0a1726);border:1px solid #203d58;border-radius:7px;box-shadow:none}
.faithful-view .table-header{padding:12px!important;gap:9px;min-height:54px;background:transparent}
.faithful-view .table-title{font-size:15px!important;font-weight:650;color:#e9f2ff}
.faithful-view table{font-size:12px!important;table-layout:auto}
.faithful-view thead{background:#102137}
.faithful-view th{font-size:11px!important;text-transform:uppercase;font-weight:550;letter-spacing:.02em;line-height:1.4!important;color:#aac9ef;padding:11px!important;border-color:#1e354c!important}
.faithful-view td{font-size:12px!important;padding:10px 11px!important;border-color:#1a3046!important;line-height:1.45!important}
.faithful-view tbody tr{background:transparent!important}
.faithful-view tbody tr:hover{background:#112a43!important}
.faithful-view .days-chip,.faithful-view .badge{font-size:11px!important;border-radius:5px}
.faithful-view [hidden]{display:none!important}
.fx-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 15px}
.fx-metric{position:relative;display:flex;align-items:center;gap:12px;min-height:93px;padding:15px 14px;background:linear-gradient(120deg,#102439aa,#0a1828);border:1px solid #24425d;border-radius:7px;overflow:hidden}
.fx-metric>div{min-width:0;z-index:1}
.fx-metric-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:42px;color:#77b9ff;background:#16395670;border-radius:8px}
.fx-metric-icon svg{width:25px;height:25px}
.fx-metric.mint .fx-metric-icon{color:#67e3d0;background:#133c4770}
.fx-metric.amber .fx-metric-icon{color:#ffc349;background:#513b1c60}
.fx-metric.red .fx-metric-icon{color:#ff8596;background:#50243660}
.fx-label{display:block;color:#b3ceec;font-size:14px;margin-bottom:6px}
.fx-value{display:block;font-size:29px;line-height:1.15;letter-spacing:-.6px;font-weight:650;white-space:nowrap;color:#f3f7ff}
.fx-metric.mint .fx-value{color:#6ce8c6}
.fx-metric.amber .fx-value{color:#ffc65e}
.fx-metric small{display:block;color:#839fbe;font-size:11px;margin-top:7px;line-height:1.4}
.fx-mini-bars{position:absolute;right:14px;bottom:17px;width:20px;height:20px;stroke:#34618a;stroke-width:4;stroke-linecap:round;opacity:.55}
.fx-dashboard-top{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;margin-bottom:14px}
.fx-dashboard-bottom{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:14px}
.fx-panel{min-width:0;background:linear-gradient(120deg,#10223690,#0b1828);border:1px solid #24415b;border-radius:7px;overflow:hidden}
.fx-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 7px}
.fx-panel h2{font-size:16px;font-weight:650;margin:0;color:#f0f5ff}
.fx-chart-panel{position:relative;padding-bottom:10px}
.fx-chart-legend{display:flex;justify-content:flex-end;gap:16px;font-size:11px;color:#bed3eb;padding:5px 16px 8px}
.fx-chart-legend span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#429dff;margin-right:6px}
.fx-chart-legend .mint-dot:before{background:#58dfb6}
.fx-chart{width:100%;height:auto;display:block;padding:0 12px;min-height:175px;max-height:235px}
.fx-chart-grid line{stroke:#29435e;stroke-dasharray:3 4;stroke-width:.7}
.fx-chart-grid text{fill:#96b3d4;font-family:inherit;font-size:12px}
.fx-segment{display:flex;border:1px solid #29445f;border-radius:5px;overflow:hidden}
.fx-segment button,.fx-tabs button{background:transparent;color:#b5ceeb;border:0;cursor:pointer;font:inherit;font-size:12px;padding:7px 12px;white-space:nowrap}
.fx-segment button.active,.fx-tabs button.active{background:linear-gradient(100deg,#0874ff,#176cf0);color:#fff;box-shadow:0 2px 10px #0072ff18}
.fx-review-list{padding:0 15px 10px}
.fx-review-list .fx-panel-head{padding-left:0;padding-bottom:14px}
.fx-review-row{display:flex;align-items:center;width:100%;gap:12px;background:transparent;border:0;border-top:1px solid #203a53;color:#cde1f9;padding:14px 2px;text-align:left;cursor:pointer;font:inherit}
.fx-review-row svg{width:22px;height:22px;color:#78b6f5;flex-shrink:0}
.fx-review-row span{flex:1}
.fx-review-row b{font-size:12px;font-weight:550;background:#5c421c70;color:#ffc351;padding:5px 9px;border:1px solid #997225;border-radius:20px;min-width:28px;text-align:center}
.fx-review-row i{font-size:24px;font-style:normal;color:#97bee5}
.fx-review-row:hover{background:#102a42}
.fx-scroll{overflow:auto;padding:6px 14px 12px}.fx-scroll table{width:100%}
.fx-progress-value{display:flex;align-items:center;gap:12px;color:#64e6b8;min-width:125px}
.fx-progress-value>span{min-width:37px}.fx-progress{background:#1b324a;height:7px;border-radius:8px;flex:1;overflow:hidden}.fx-progress i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#399fff,#62dfc2)}
.fx-activity{padding:0 14px 8px}.fx-activity .fx-panel-head{padding-left:0}
.fx-activity-row{display:flex;align-items:center;gap:9px;width:100%;border:0;border-top:1px solid #20374c;background:transparent;padding:10px 0;color:#e0ecfc;text-align:left;font:inherit;cursor:pointer}
.fx-activity-row>span{flex:1;min-width:0}.fx-activity-row strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-weight:500}
.fx-activity-row small{font-size:11px;display:block;color:#8da9cb;margin-top:4px}.fx-activity-row em{font-size:11px;font-style:normal;padding:4px 6px;border-radius:4px;background:#17443860;color:#69dcb6}.fx-activity-row em.amber{background:#58401a70;color:#ffc35f}
.fx-advanced{border:1px solid #1e374e;border-radius:6px;margin:14px 0;background:#0a1928}
.fx-advanced>summary{cursor:pointer;padding:11px 13px;color:#8db5df;font-size:12px}.fx-advanced[open]{padding-bottom:8px}.fx-advanced> :not(summary){margin:8px!important}
.fx-advanced .dashboard-user-hero,.fx-advanced .dashboard-summary-grid{display:none}
.fx-advanced .stats-card-grid[hidden]{display:none!important}
.fx-tabs{display:flex;align-items:center;width:max-content;max-width:100%;gap:2px;border:1px solid #26435d;padding:2px;border-radius:6px;background:#102137;margin:0 0 12px;overflow:auto}
.fx-tabs button{border-radius:4px;padding:8px 19px}
.fx-stat-charts{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-bottom:15px}
.fx-horizontal-bars{display:grid;gap:22px;padding:25px 20px 30px}.fx-horizontal-bars>div{display:flex;align-items:center;gap:12px;font-size:12px;color:#a9c8e8}.fx-horizontal-bars span{width:60px}.fx-horizontal-bars div>div{height:17px;border-radius:3px;flex:1;background:#152d45;overflow:hidden}.fx-horizontal-bars i{display:block;height:100%;background:linear-gradient(90deg,#1678f4,#55b9ff);border-radius:3px}.fx-horizontal-bars strong{min-width:30px;font-size:12px;color:#d6e9ff}
.fx-ranking{margin:0!important}.faithful-view .stats-section-title{font-size:16px!important}
.fx-team-strip{display:flex;align-items:center;gap:9px;font-size:12px;color:#a6c4e3;padding:10px 0 14px}.fx-team-strip svg{width:17px;height:17px;color:#66b1ff}.fx-team-strip strong{color:#ecf6ff}.fx-team-strip i{height:15px;border-left:1px solid #27435e;margin:0 7px}
.faithful-view .worker-card{background:linear-gradient(135deg,#0d2034,#0b192b);border-color:#26445f;border-radius:7px;padding:13px!important;box-shadow:none;position:relative}
.faithful-view .workers-grid,.faithful-view .worker-grid{gap:13px;grid-template-columns:repeat(4,minmax(0,1fr))}
.faithful-view .worker-card .worker-name{font-size:12px!important;line-height:1.4}.faithful-view .worker-card .worker-facts{gap:12px 8px;font-size:12px}.faithful-view .worker-card button{font-size:11px!important}
.fx-worker-menu{position:relative}.fx-worker-menu>summary,.fx-row-menu>summary{list-style:none;cursor:pointer;color:#89b8ed;border:1px solid #27496c;border-radius:5px;text-align:center;min-width:27px;padding:4px;font-size:20px;line-height:16px}.fx-worker-menu>div,.fx-row-menu>div{position:absolute;right:0;top:29px;background:#112c44;border:1px solid #305576;border-radius:6px;padding:7px;min-width:145px;z-index:20;display:grid;gap:6px;box-shadow:0 8px 22px #0008}
.fx-row-menu{position:relative;display:inline-block}
.faithful-view .referrals-table{min-width:1100px!important;width:100%!important;table-layout:auto!important}.faithful-view .referrals-table col{width:auto!important}.faithful-view .referrals-table td{height:53px;white-space:nowrap!important}.faithful-view .referral-actions{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;align-items:center}.faithful-view .referral-actions button{white-space:nowrap}.faithful-view .referrals-table th:last-child{width:180px!important}
.faithful-view .ui-rating-table td{vertical-align:middle!important}.faithful-view .ui-rating-table td:nth-child(6){font-size:11px!important;max-width:300px;min-width:160px;color:#a1bddd}.faithful-view .ui-rating-primary{flex-wrap:nowrap!important}
.faithful-view .fx-safety-hero{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:105px!important;margin-bottom:14px;padding:18px 22px!important;background:radial-gradient(ellipse at right,#123e404a,transparent 70%),linear-gradient(90deg,#0d2438,#0a1a2b);border:1px solid #2b6d68;border-radius:7px}
.faithful-view .fx-safety-hero .safetypay-cmr-value{font-size:36px!important;color:#70e6c5}.faithful-view .fx-safety-hero img{width:160px!important;max-height:64px!important;object-fit:contain}
.faithful-view .safetypay-goal-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}
.faithful-view .safetypay-goal-card{padding:15px!important;min-height:125px!important;border-color:#23475a!important;border-radius:7px;background:linear-gradient(135deg,#0e2938,#0d1d2d)}
.faithful-view .safetypay-goal-card .goal-big{font-size:29px!important;line-height:1.3;letter-spacing:-.6px}.faithful-view .safetypay-goal-card .goal-target{font-size:12px!important}.faithful-view .safetypay-goal-card .stat-label{font-size:11px!important}.faithful-view .goal-message{font-size:11px!important}.faithful-view .goal-ring{width:47px!important;height:47px!important;font-size:14px!important}.faithful-view .goal-bar{height:6px!important;margin-top:12px!important}
.faithful-view[data-view=asistencia] .fx-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.faithful-view[data-view=asistencia] .fx-metric{padding:12px 10px;gap:8px}.faithful-view[data-view=asistencia] .fx-metric-icon{width:30px;flex-basis:30px;height:35px}.faithful-view[data-view=asistencia] .fx-value{font-size:26px}.faithful-view[data-view=asistencia] .fx-label{font-size:12px}
.fx-salary-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);gap:14px;align-items:start}
.fx-salary-split>.table-wrap{min-width:0;margin:0!important}.fx-salary-detail{min-width:0;background:linear-gradient(125deg,#0e2236,#0a192a);border:1px solid #27445f;border-radius:7px;padding:14px}
.fx-salary-person{display:flex;gap:12px;align-items:center;margin:0 0 14px}.fx-person-avatar{height:40px;width:40px;border-radius:50%;background:linear-gradient(135deg,#9ee3e6,#78a9e8);color:#102d49;display:grid;place-items:center;font-size:16px;font-weight:700;flex-shrink:0}.fx-salary-person h2{font-size:15px;margin:0 0 5px;font-weight:650}.fx-salary-person p{font-size:11px;color:#9dc1e5;margin:0;line-height:1.5}.fx-detail-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}
.fx-salary-detail .salary-break-card{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin-bottom:14px!important}
.fx-salary-detail .salary-break-title{font-size:14px;color:#e9f2ff;margin:0 0 7px;padding:0!important}.fx-salary-detail .salary-break-card>div:not(.salary-break-title){display:flex;justify-content:space-between;gap:10px;padding:5px 0!important;border:0;font-size:12px;line-height:1.35;color:#abc9ec}.fx-salary-detail .salary-break-card strong{font-size:12px;white-space:nowrap;color:#e2edfc;font-weight:500}.fx-salary-detail .salary-break-total{border-top:1px solid #2b4560!important;margin-top:6px;padding-top:10px!important;font-weight:650}.fx-salary-detail .salary-break-total strong{font-weight:650}
.fx-salary-totals{border:1px solid #175091;background:#08274b70;border-radius:6px;padding:10px;margin:10px 0;display:grid;gap:7px}.fx-salary-totals .salary-summary-item{display:flex;justify-content:space-between;font-size:11px;color:#9ac1eb}.fx-salary-totals .is-total{font-size:15px;color:#63e2c4}.fx-salary-totals .is-total strong{font-size:24px;font-weight:650}
.fx-salary-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.fx-salary-actions button{font-size:11px!important;padding:8px 6px!important;line-height:1.4;min-height:32px;border-radius:5px}.fx-salary-actions button:disabled{opacity:.45}.fx-full-detail{width:100%;margin-top:12px;padding:7px;background:transparent;border:0;border-top:1px solid #223e58;color:#6bb4ff;cursor:pointer;font-size:12px}
.faithful-view .ui-salary-table{min-width:570px!important}.faithful-view .ui-salary-table th:nth-child(11),.faithful-view .ui-salary-table td:nth-child(11){display:none}.faithful-view .ui-salary-table td:first-child{min-width:150px;max-width:190px;white-space:normal!important}.faithful-view .ui-salary-table td:nth-child(2){min-width:60px}.faithful-view .ui-salary-table td:nth-child(9){font-size:14px!important}.faithful-view .ui-salary-table .fx-selected{background:linear-gradient(90deg,#0d325b,#10243a)!important;box-shadow:inset 3px 0 #248dff}.faithful-view .ui-salary-table tbody tr{cursor:pointer;height:57px}.faithful-view .fx-salary-split .table-header{flex-wrap:wrap;justify-content:flex-start}
.fx-salary-detail .salary-detail-table{overflow-y:auto;overflow-x:auto;max-height:560px;max-width:100%}
.fx-salary-detail .salary-detail-table table{width:100%!important;min-width:0!important;table-layout:fixed}
.fx-salary-detail .salary-detail-table th,.fx-salary-detail .salary-detail-table td{min-width:0!important;max-width:none!important;padding:9px 4px!important;font-size:11px!important;white-space:normal!important;vertical-align:middle;overflow-wrap:normal}
.fx-salary-detail .salary-detail-table th{font-size:10px!important;overflow-wrap:anywhere}
.fx-salary-detail .salary-detail-table th:nth-child(1){width:14%}
.fx-salary-detail .salary-detail-table th:nth-child(2),.fx-salary-detail .salary-detail-table th:nth-child(3){width:10%}
.fx-salary-detail .salary-detail-table th:nth-child(4){width:22%}
.fx-salary-detail .salary-detail-table th:nth-child(n+5){width:11%}
.fx-salary-detail .salary-detail-table td:nth-child(-n+3){white-space:nowrap!important}
.fx-salary-detail .salary-detail-table td:nth-child(n+5){text-align:right;font-variant-numeric:tabular-nums}
.fx-salary-detail .salary-detail-table .days-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.4;padding:3px 5px}
.fx-muted{font-size:12px;color:#91adcc;padding:12px}
.fx-safety-strip{width:100%;display:flex;align-items:center;gap:17px;padding:15px 18px;border:1px solid #26465f;border-radius:7px;background:linear-gradient(100deg,#0d263b,#0a1827);text-align:left;color:#eaf3ff;font:inherit;cursor:pointer}.fx-safety-strip>svg{width:26px;height:26px;color:#6eaff3}.fx-safety-strip small{display:block;font-size:11px;color:#9fbfe3;margin-bottom:6px}.fx-safety-strip strong{font-size:25px;font-weight:550}.fx-safety-strip .fx-strip-goal{margin-left:auto;border-left:1px solid #26425a;padding-left:20px}.fx-strip-goal strong{font-size:15px}.fx-safety-strip>.fx-progress{max-width:40%;height:8px}.fx-safety-strip>b{font-size:14px;font-weight:550}
.faithful-view .fx-header>select{max-width:180px}.faithful-view .fx-header #salaryExportFormat{max-width:80px}.faithful-view .fx-header{align-items:center}
.fx-salary-split .table-header>.search-input{flex:1;min-width:120px;max-width:260px}.fx-salary-split .table-header>#salarySede{max-width:125px}.fx-filter-menu{position:relative;margin-left:auto}.fx-filter-menu>summary{list-style:none;border:1px solid #284761;border-radius:5px;padding:9px;color:#a6c8ec;font-size:11px;white-space:nowrap;cursor:pointer}.fx-filter-menu>div{position:absolute;right:0;top:38px;min-width:240px;background:#10263c;border:1px solid #345874;border-radius:6px;display:grid;gap:8px;padding:12px;z-index:10;box-shadow:0 8px 28px #0008}.fx-filter-menu>div>*{max-width:100%!important;width:100%!important}
.fx-salary-extra-actions{margin:8px 0 14px;font-size:12px;color:#b8d5f4;border:1px solid var(--border);border-radius:6px;background:#102237}.fx-salary-extra-actions summary{cursor:pointer;padding:10px 12px;font-weight:600}.fx-salary-extra-actions>div{display:flex;flex-wrap:wrap;gap:8px;padding:4px 12px 12px}.fx-salary-extra-actions button{font-size:12px!important;padding:9px 12px!important;min-height:36px}
.faithful-view .fx-safety-hero{position:relative;text-align:left;flex-direction:row!important;gap:20px}.faithful-view .fx-safety-copy{display:block;min-width:0}.faithful-view .fx-safety-hero .safetypay-cmr-total{font-size:35px!important;line-height:1.35;color:#66e5c0}.faithful-view .fx-safety-hero .safetypay-cmr-logo{position:static!important;transform:none!important;right:auto!important;top:auto!important;margin-left:auto}
.fx-bonus-strip{border:1px solid #2276ca;border-radius:7px;background:linear-gradient(100deg,#0c2e50,#0c1d30);margin:0 0 14px}.fx-bonus-strip>summary{display:flex;align-items:center;gap:14px;padding:13px;cursor:pointer;color:#bdd7f4;font-size:12px;list-style:none}.fx-bonus-strip>summary>svg{width:24px;height:24px;color:#56acff}.fx-bonus-strip strong{font-size:14px;font-weight:600;color:#6ebaff}.fx-bonus-strip span{border-left:1px solid #31506d;padding-left:15px;color:#e2edff}.fx-bonus-strip small{font-size:11px;color:#90b3d9}.fx-bonus-strip b{margin-left:auto;font-size:11px;font-weight:500;white-space:nowrap}.fx-bonus-people{padding:0 16px 12px}.fx-bonus-people>div{display:flex;justify-content:space-between;border-top:1px solid #28445e;padding:9px 0;font-size:12px;color:#c3d9ef}.fx-bonus-people strong{color:#6de4c2}
.faithful-view .fx-team-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #28435f;border-radius:7px;background:linear-gradient(100deg,#10263c,#0b1929);padding:14px 20px;margin-bottom:14px}.fx-team-strip>div{display:flex;align-items:center;gap:13px;justify-content:center;border-right:1px solid #25425d}.fx-team-strip>div:last-child{border:0}.fx-team-strip svg{width:23px;height:23px}.fx-team-strip strong{display:block;font-size:25px;font-weight:600}.fx-team-strip small{display:block;font-size:12px;color:#9dbddd;margin-top:4px}.faithful-view .worker-actions{grid-template-columns:1fr auto!important}.faithful-view .worker-head h3{font-size:12px!important;line-height:1.4}.faithful-view .worker-fact>svg{display:none}.faithful-view .worker-facts strong{font-size:12px!important;font-weight:500}.faithful-view .worker-head{padding-bottom:12px!important;margin-bottom:12px!important}.faithful-view .worker-bank{border-top:1px solid #25425c;margin-top:10px}.faithful-view .worker-details{margin:0 0 5px}.faithful-view .workers-toolbar{padding:0!important;margin-bottom:13px!important}.faithful-view .workers-filters{width:100%}.faithful-view .workers-filters .search-input{flex:1;max-width:none}.faithful-view .worker-identity h3{font-weight:600!important}
@media(max-width:1250px){.fx-metric{padding:12px 10px;gap:8px}.fx-metric-icon{flex-basis:31px;width:31px;height:35px}.fx-value{font-size:25px}.fx-label{font-size:12px}.fx-mini-bars{display:none}.fx-salary-split{grid-template-columns:minmax(0,1.2fr) minmax(310px,1fr)}.faithful-view .workers-grid,.faithful-view .worker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.fx-dashboard-top,.fx-dashboard-bottom,.fx-stat-charts{grid-template-columns:1fr}.fx-salary-split{grid-template-columns:1fr}.fx-salary-detail{max-width:none}.faithful-view[data-view=asistencia] .fx-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.faithful-view .safetypay-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-chart{max-height:270px}.faithful-view .workers-grid,.faithful-view .worker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1201px) and (max-width:1500px){.fx-salary-split{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}
@media(max-width:1200px){.fx-salary-split{grid-template-columns:1fr}}
@media(max-width:640px){
 .fx-salary-detail .salary-detail-table thead{display:none}
 .fx-salary-detail .salary-detail-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;border-bottom:1px solid var(--border);gap:4px 10px}
 .fx-salary-detail .salary-detail-table tbody td{display:block!important;width:auto!important;border:0!important;white-space:normal!important;text-align:left!important;padding:3px 0!important}
 .fx-salary-detail .salary-detail-table td:nth-child(1),.fx-salary-detail .salary-detail-table td:nth-child(4){grid-column:1/-1}
 .fx-salary-detail .salary-detail-table td::before{display:block;font-size:10px;color:var(--text3);font-weight:400}
 .fx-salary-detail .salary-detail-table td:nth-child(2)::before{content:'Entrada'}
 .fx-salary-detail .salary-detail-table td:nth-child(3)::before{content:'Salida'}
 .fx-salary-detail .salary-detail-table td:nth-child(5)::before{content:'Pago normal'}
 .fx-salary-detail .salary-detail-table td:nth-child(6)::before{content:'Horas extra'}
 .fx-salary-detail .salary-detail-table td:nth-child(7)::before{content:'Descuento'}
 .fx-salary-detail .salary-detail-table td:nth-child(8)::before{content:'Pago del día'}
}
@media(max-width:600px){.faithful-view{padding:14px 10px!important}.fx-metrics,.faithful-view[data-view=asistencia] .fx-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fx-metric{min-height:86px}.fx-value{font-size:22px}.faithful-view .workers-grid,.faithful-view .worker-grid{grid-template-columns:1fr}.fx-team-strip{flex-wrap:wrap}.faithful-view .fx-safety-hero img{width:100px!important}.faithful-view .fx-safety-hero .safetypay-cmr-value{font-size:30px!important}}
.fx-table-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px;color:#9fbfe2;font-size:11px;border-top:1px solid #25435d}.fx-table-pagination>div{display:flex;gap:5px}.fx-table-pagination button{background:#10253b;color:#a4c8f0;border:1px solid #264967;border-radius:4px;padding:6px 9px;cursor:pointer;font-size:12px}.fx-table-pagination button.active{background:#0874ff;color:#fff;border-color:#2a91ff}
.fx-salary-totals .salary-summary-item.is-total{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;display:flex;align-items:center}.fx-salary-detail{position:sticky;top:12px}
.fx-primary{background:linear-gradient(100deg,#0875ff,#136eef);color:white;border:1px solid #308cff;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;font-size:12px;font-weight:500;border-radius:5px;white-space:nowrap;cursor:pointer}.fx-primary svg{width:14px;height:14px}
.faithful-view .fx-create-body:not([open]){display:none}.faithful-view .fx-create-body>summary{display:none}.faithful-view .fx-create-body{border:0;padding:0;margin:0 0 14px}.faithful-view .fx-create-body .form-card{margin:0!important}
.fx-advanced .dashboard-summary-grid{display:grid}.fx-dashboard-bottom .fx-activity-row{padding:6px 0}.fx-dashboard-bottom .fx-activity-row>:first-child{max-width:28px;max-height:28px}.fx-dashboard-bottom .fx-panel-head{padding-top:13px;padding-bottom:7px}
.faithful-view .fx-header{display:flex;justify-content:space-between}.faithful-view .fx-header.page-header{flex-wrap:wrap}.faithful-view .fx-header.page-header>.page-title{width:100%}.faithful-view .fx-header.page-header>.page-sub{flex:1}
.faithful-view .fx-header-copy{flex:1;min-width:170px}.faithful-view .fx-header-copy .page-sub{margin-top:6px}.faithful-view .fx-header #createLooseUserBtn{width:auto!important;padding:10px 13px!important;min-height:34px;font-size:12px}
.faithful-view .worker-card{min-height:0!important;gap:0!important}.faithful-view .worker-head{min-height:46px!important;margin-bottom:9px!important;padding-bottom:9px!important}.faithful-view .worker-facts{min-height:65px!important;margin:0 0 9px!important;padding:0!important;gap:10px 8px!important}.faithful-view .worker-facts .worker-fact{min-height:0!important}.faithful-view .worker-details>summary{min-height:26px!important;padding:6px 8px!important;line-height:1.3}.faithful-view .worker-bank{margin-top:5px!important}.faithful-view .worker-bank>summary{min-height:31px!important;padding:7px 0!important}.faithful-view .worker-actions{margin-top:5px!important;padding-top:5px!important}.faithful-view .worker-identity .user-avatar{width:38px!important;height:38px!important;font-size:15px!important;color:#0f2540!important}
.faithful-view .worker-card:nth-child(6n+1) .user-avatar{background:linear-gradient(135deg,#f4b9d4,#e38dad)!important}.faithful-view .worker-card:nth-child(6n+2) .user-avatar{background:linear-gradient(135deg,#98b8ff,#74a5ea)!important}.faithful-view .worker-card:nth-child(6n+3) .user-avatar{background:linear-gradient(135deg,#d9c8ff,#b29cfa)!important}.faithful-view .worker-card:nth-child(6n+4) .user-avatar{background:linear-gradient(135deg,#a5e7df,#83cbc6)!important}.faithful-view .worker-card:nth-child(6n+5) .user-avatar{background:linear-gradient(135deg,#f8d3ac,#f1b181)!important}.faithful-view .worker-card:nth-child(6n) .user-avatar{background:linear-gradient(135deg,#a6d3fd,#83b9ea)!important}
.faithful-view .ui-rating-table{min-width:0!important;table-layout:fixed!important;width:100%!important}.faithful-view .ui-rating-table th:nth-child(1){width:8%}.faithful-view .ui-rating-table th:nth-child(2){width:15%}.faithful-view .ui-rating-table th:nth-child(3){width:7%}.faithful-view .ui-rating-table th:nth-child(4){width:9%}.faithful-view .ui-rating-table th:nth-child(5){width:8%}.faithful-view .ui-rating-table th:nth-child(6){width:20%}.faithful-view .ui-rating-table th:nth-child(7){width:9%}.faithful-view .ui-rating-table th:nth-child(8){width:17%}.faithful-view .ui-rating-table th:nth-child(9){width:7%}.faithful-view .ui-rating-table td{min-width:0!important;max-width:none!important;padding:9px 7px!important;white-space:normal!important;overflow-wrap:anywhere}.faithful-view .ui-rating-table .ui-rating-actions{white-space:nowrap!important}.faithful-view .ui-rating-table .ui-rating-primary button{font-size:11px!important;padding:5px 7px!important}.faithful-view .ui-rating-table td:nth-child(4){font-size:18px!important;white-space:nowrap!important}.faithful-view .ui-rating-table td:nth-child(9){white-space:nowrap!important;font-weight:600;color:#74e6bf}.faithful-view .ui-rating-table .person-cell{min-width:0!important}
.fx-hero-progress{min-width:190px;width:30%;border-left:1px solid #2c5065;padding-left:20px;margin-left:auto;color:#c4dff6}.fx-hero-progress>small{font-size:12px;display:block;margin-bottom:6px}.fx-hero-progress>strong{font-size:18px;font-weight:500;display:block;margin-bottom:10px}.fx-hero-progress .fx-progress{display:block;height:8px}.fx-hero-progress b{font-size:12px;color:#e4f4ff;white-space:nowrap}.faithful-view .fx-safety-hero .safetypay-cmr-logo{filter:brightness(1.35)}
.faithful-view .fx-safety-table{table-layout:fixed;width:100%;min-width:760px!important}.faithful-view .fx-safety-table th:nth-child(1){width:12%}.faithful-view .fx-safety-table th:nth-child(2){width:10%}.faithful-view .fx-safety-table th:nth-child(3){width:8%}.faithful-view .fx-safety-table th:nth-child(4){width:24%}.faithful-view .fx-safety-table th:nth-child(5){width:12%}.faithful-view .fx-safety-table th:nth-child(6){width:14%}.faithful-view .fx-safety-table th:nth-child(7){width:14%}.faithful-view .fx-safety-table th:nth-child(8){width:6%}.faithful-view .fx-safety-table td:nth-child(6){white-space:nowrap!important;font-weight:550!important}.faithful-view .fx-safety-table td{font-size:12px!important;height:46px}.fx-code-info p{margin:3px 0;padding:4px}.fx-code-info small{font-size:11px;display:block;color:#83add5;margin-bottom:4px}.fx-code-info strong{font-size:12px;display:block;color:#dcecff;font-weight:500;max-width:240px;overflow-wrap:anywhere}.fx-code-info .inline-actions{display:flex;gap:5px;margin-top:7px}
@media(max-width:800px){.fx-hero-progress{display:none}.faithful-view .ui-rating-table{min-width:920px!important}}
.faithful-view .referrals-table{min-width:0!important;table-layout:fixed!important}.faithful-view .referrals-table th:last-child{width:15%!important}.faithful-view .referrals-table td{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;padding:9px 6px!important;font-size:11px!important}.faithful-view .referrals-table td.referral-actions-cell{overflow:visible!important}.faithful-view .referrals-table .referral-owner{min-width:0!important;gap:4px!important}.faithful-view .referrals-table .referral-owner-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faithful-view .referrals-table .referral-owner>span:last-child{font-size:11px!important}.faithful-view .referrals-table .referral-actions button{font-size:11px!important;padding:4px 6px!important}.faithful-view .referrals-table .referral-actions .inline-actions{flex-wrap:nowrap!important;gap:4px!important}.faithful-view .referrals-table td:nth-child(2)>div{font-size:11px!important;white-space:normal}.faithful-view .referrals-table .days-chip{font-size:11px!important;max-width:100%;white-space:normal;line-height:1.35}.fx-referral-notes{font-size:12px;max-width:220px;white-space:normal;color:#c3d9ee;padding:5px;margin:0}
.faithful-view .attendance-shell{gap:12px!important}.faithful-view .attendance-hero-icon{display:none}.faithful-view .attendance-hero{margin-bottom:0!important;display:flex;align-items:center;justify-content:space-between;gap:14px}.faithful-view .attendance-hero-copy{gap:0!important}.faithful-view .attendance-hero #attendanceMonth{width:180px}.faithful-view .attendance-shell .tabs{margin:0!important}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch)>.table-header{margin:0!important}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table{min-width:0!important;table-layout:fixed!important;width:100%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(1){width:9%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(2){width:20%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(3){width:7%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(4){width:10%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(5){width:7%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(6){width:12%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(7){width:7%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(8){width:8%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(9){width:12%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table th:nth-child(10){width:8%}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) td{padding:9px 6px!important;white-space:normal!important;overflow-wrap:anywhere;min-width:0!important;font-size:11px!important}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) .days-chip{font-size:11px!important;max-width:100%;white-space:normal;line-height:1.4}.faithful-view .fx-attendance-note{font-size:11px!important;padding:8px 12px!important;border-top:1px solid #223c55}.faithful-view .ui-review-panel[hidden]{display:none!important}
@media(max-width:800px){.faithful-view .referrals-table{min-width:950px!important}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table{min-width:950px!important}}
/* Typography enlarged to match the original visual proposals. */
.faithful-view .worker-fact span{font-size:12px!important}.faithful-view .worker-head p{font-size:11px!important}.faithful-view .worker-bank summary{font-size:12px!important}.faithful-view td :is(.stats-user-name,.referral-owner-name){font-size:inherit!important}.faithful-view td [style*="font-size:11px"],.faithful-view td [style*="font-size:10px"],.faithful-view td [style*="font-size:9px"]{font-size:12px!important}
.faithful-view .fx-metric{min-height:108px}.faithful-view .fx-metric small{line-height:1.5}.faithful-view .fx-review-row{padding:15px 2px}.faithful-view .fx-panel-head{padding-top:16px;padding-bottom:10px}.faithful-view .fx-activity-row strong{font-size:12px}.faithful-view .fx-activity-row small{font-size:11px}.faithful-view .fx-activity-row{padding:9px 0}.faithful-view .fx-salary-detail .salary-break-card>div:not(.salary-break-title){padding:7px 0!important;line-height:1.45}.faithful-view .fx-salary-person h2{line-height:1.5}
.faithful-view .ui-rating-table{min-width:1120px!important}.faithful-view .referrals-table{min-width:1120px!important}.faithful-view .attendance-shell .table-wrap:has(#attendanceSearch) table{min-width:1080px!important}.faithful-view .fx-safety-table{min-width:960px!important}.faithful-view .ui-table-scroll{overflow-x:auto}
@media(min-width:1000px){.app:has(.faithful-view):not(.sidebar-collapsed) .sidebar{width:214px}.app:has(.faithful-view):not(.sidebar-collapsed) .main{margin-left:214px}}
.app:has(.faithful-view) .nav-section-title{font-size:11px}.app:has(.faithful-view) .sidebar-top-actions .logout-btn{font-size:11px}.app:has(.faithful-view) .nav-item{line-height:1.45}
@media(max-width:1400px){.faithful-view .fx-mini-bars{display:none}}
.faithful-view .ui-salary-table{table-layout:fixed!important;width:100%!important;min-width:0!important}.faithful-view .ui-salary-table th:nth-child(1){width:30%!important}.faithful-view .ui-salary-table th:nth-child(2){width:9%!important}.faithful-view .ui-salary-table th:nth-child(7){width:14%!important}.faithful-view .ui-salary-table th:nth-child(8){width:14%!important}.faithful-view .ui-salary-table th:nth-child(9){width:15%!important}.faithful-view .ui-salary-table th:nth-child(10){width:18%!important}.faithful-view .ui-salary-table td{min-width:0!important;padding:10px 6px!important;white-space:normal!important}.faithful-view .ui-salary-table td:first-child{min-width:0!important}.faithful-view .ui-salary-table .days-chip{white-space:normal;line-height:1.4}
/* Balanced Dashboard spacing and real period comparisons. */
.faithful-view[data-view=dashboard]>.fx-metrics{gap:14px;margin-bottom:18px}.faithful-view[data-view=dashboard] .fx-metric{min-height:122px;padding:16px;gap:12px}.faithful-view[data-view=dashboard] .fx-label{font-size:13px;line-height:1.4}.faithful-view .fx-comparison-note{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;font-size:12px!important;line-height:1.5;margin-top:10px}.fx-growth{font-weight:650;white-space:nowrap}.fx-growth.up{color:#63e1b5}.fx-growth.down{color:#ff8494}.fx-growth.flat{color:#9bb8d8}.fx-growth.new,.fx-growth.unavailable{color:#a9c0da;font-weight:500}.fx-growth-label{color:#8eaccf;font-size:11px;white-space:nowrap}
.fx-dashboard-top{grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:18px;margin-bottom:18px;align-items:stretch}.fx-chart-panel .fx-panel-head{padding:16px 18px 12px;gap:9px 12px;flex-wrap:wrap}.fx-chart-panel .fx-panel-head h2{white-space:nowrap}.fx-chart-panel .fx-chart-legend{margin-left:auto;padding:0;font-size:11px;gap:12px;line-height:1.4}.fx-chart-legend span{white-space:nowrap}.fx-chart-body{padding:0 0 8px;min-width:0}.fx-chart-body .fx-chart{width:100%;height:220px;min-height:220px;max-height:220px;padding:0 12px;display:block}.fx-chart-grid text{font-size:12px}.fx-chart-panel{padding-bottom:6px}.fx-review-list{padding:0 16px 10px}.fx-review-list .fx-panel-head{padding:16px 0 12px}.fx-review-list .fx-review-row{min-height:56px;padding:14px 0;gap:12px}
.fx-dashboard-bottom{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:18px;margin-bottom:18px;align-items:stretch}.fx-dashboard-bottom>.fx-panel:first-child{display:flex;flex-direction:column}.fx-dashboard-bottom>.fx-panel:first-child .fx-scroll{flex:1;display:flex;padding:0 16px 16px}.fx-dashboard-bottom>.fx-panel:first-child table{height:100%;width:100%}.fx-dashboard-bottom .fx-panel-head{min-height:48px;padding:16px 16px 12px}.faithful-view .fx-dashboard-bottom td{padding:13px 12px!important;vertical-align:middle}.fx-dashboard-bottom .fx-activity{padding:0 16px 10px}.fx-dashboard-bottom .fx-activity .fx-panel-head{padding-left:0;padding-right:0}.fx-dashboard-bottom .fx-activity-row{padding:10px 0;gap:12px}.fx-dashboard-bottom .fx-activity-row strong{font-size:12px;line-height:1.5;max-width:100%;font-weight:550}.fx-dashboard-bottom .fx-activity-row small{font-size:11px;margin-top:5px;line-height:1.4}.fx-dashboard-bottom .fx-activity-row>em{flex-shrink:0}.fx-dashboard-bottom .fx-activity-row>:first-child{max-width:32px;max-height:32px}
@media(max-width:1100px){.fx-chart-panel .fx-panel-head h2{flex:1}.fx-chart-panel .fx-chart-legend{order:3;margin-left:0;width:100%;padding-top:2px}.fx-dashboard-top,.fx-dashboard-bottom{grid-template-columns:1fr}.fx-dashboard-bottom>.fx-panel:first-child .fx-scroll{display:block}.fx-dashboard-bottom>.fx-panel:first-child table{height:auto}}
/* Statistics: match the approved reference composition. */
.faithful-view[data-view=estadisticas] .stats-shell{display:block}.faithful-view[data-view=estadisticas] .fx-header{margin-bottom:20px!important}.fx-statistics-content{display:grid;gap:14px}.fx-statistics-content>.fx-metrics{margin:0;gap:12px}.fx-stats-metrics .fx-metric{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;align-items:center;column-gap:12px;row-gap:3px;min-height:126px;padding:15px 16px;background:linear-gradient(120deg,#10233a85,#0c192a)}.fx-stats-metrics .fx-metric>div{display:contents}.fx-stats-metrics .fx-metric-icon{grid-column:1;grid-row:1/4;width:42px;height:42px;min-width:42px;border-radius:50%;background:#1b3355;color:#55a6ff}.fx-stats-metrics .fx-metric-icon svg{width:25px;height:25px}.fx-stats-metrics .fx-label{grid-column:2;grid-row:1;font-size:13px;margin:0;line-height:1.4}.fx-stats-metrics .fx-value{grid-column:2;grid-row:2;font-size:29px;line-height:1.2;letter-spacing:-.5px;color:#f0f5ff}.fx-stats-metrics .fx-metric:last-child .fx-value{font-size:27px}.fx-stats-metrics .fx-stats-trend{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin:4px 0 0!important;font-size:12px!important;line-height:1.4}.fx-stats-metrics .fx-growth-label{font-size:10px}.fx-stats-metrics .fx-mini-bars{display:none!important}
@media(min-width:1500px){.fx-stats-metrics .fx-metric{grid-template-columns:42px minmax(0,1fr) auto;grid-template-rows:auto auto;min-height:104px;column-gap:12px}.fx-stats-metrics .fx-metric-icon{grid-row:1/3}.fx-stats-metrics .fx-label{grid-column:2/4;grid-row:1}.fx-stats-metrics .fx-stats-trend{grid-column:3;grid-row:2;margin:0!important}.fx-stats-metrics .fx-value{font-size:30px}.fx-stats-metrics .fx-metric:last-child .fx-value{font-size:28px}}
.faithful-view .fx-stats-tabs{width:100%;margin:0!important;padding:0;gap:26px;background:transparent;border:0;border-bottom:1px solid #25415c;border-radius:0;overflow:visible}.faithful-view .fx-stats-tabs button{font-size:13px;padding:13px 12px 12px;border:0;border-bottom:3px solid transparent;border-radius:0;color:#acc8ed;background:transparent;box-shadow:none;line-height:1.4}.faithful-view .fx-stats-tabs button.active{color:#4ca5ff;border-bottom-color:#318fff;font-weight:600;background:transparent;box-shadow:none}
.fx-stats-reference-charts{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:12px;margin:0}.fx-stats-reference-charts .fx-chart-panel{min-width:0;border-radius:7px}.fx-stats-reference-charts .fx-panel-head{padding:16px 17px 10px;min-height:48px}.fx-stats-reference-charts .fx-panel-head h2{font-size:14px}.fx-stats-reference-charts .fx-chart-legend{font-size:11px;gap:15px}.fx-stats-reference-charts .fx-chart-body .fx-chart{height:220px;max-height:220px;min-height:220px}.fx-stats-reference-charts .fx-chart-grid text{font-size:11px}.fx-paired-bars .fx-chart-grid line{stroke:#203b56;stroke-dasharray:none}.fx-paired-bars .fx-branch-label{fill:#c8def8;font-size:11px;font-family:inherit}.fx-paired-bars .fx-branch-count{fill:#e8f2ff;font-size:11px;font-family:inherit}.fx-branch-records{fill:#328fff}.fx-branch-operations{fill:#62e3bb}.fx-branch-axis{stroke:#3b5d7f;stroke-width:1}.fx-stats-sede-only{grid-template-columns:1fr}
.fx-stats-people .fx-panel-head{display:flex;justify-content:space-between;gap:16px;padding:12px 15px;min-height:51px;border-bottom:1px solid #29425d}.fx-stats-people h2{font-size:14px;white-space:nowrap}.fx-stats-people-filters{display:flex;gap:10px;align-items:center;margin-left:auto}.fx-stats-search{position:relative;display:flex;align-items:center;width:245px}.fx-stats-search>svg{position:absolute;left:11px;width:16px;height:16px;color:#8cb5e0}.faithful-view .fx-stats-search input{width:100%;padding-left:35px!important;height:33px;min-height:33px!important;font-size:12px!important}.faithful-view .fx-stats-people-filters select{width:160px;min-height:33px!important;font-size:12px!important}
.fx-stats-table-scroll{overflow-x:auto}.faithful-view .fx-stats-people-table{width:100%;table-layout:fixed;min-width:800px;border-collapse:collapse}.faithful-view .fx-stats-people-table th{font-size:10px!important;padding:0!important;border-right:1px solid #203b55;background:#102039}.faithful-view .fx-stats-people-table th:first-child{width:25%}.faithful-view .fx-stats-people-table th:nth-child(2){width:10%}.faithful-view .fx-stats-people-table th:nth-child(3){width:10%}.faithful-view .fx-stats-people-table th:nth-child(4){width:12%}.faithful-view .fx-stats-people-table th:nth-child(5){width:12%}.faithful-view .fx-stats-people-table th:nth-child(6){width:18%}.faithful-view .fx-stats-people-table th:nth-child(7){width:13%}.fx-stats-people-table th button{display:flex;align-items:center;gap:7px;width:100%;padding:10px 12px;border:0;background:transparent;color:#a7c9f2;font:inherit;font-size:10px;text-transform:uppercase;text-align:left;cursor:pointer}.fx-stats-people-table th button span{font-size:11px;color:#638ebc}.fx-stats-people-table th[aria-sort=descending] button span,.fx-stats-people-table th[aria-sort=ascending] button span{color:#63b0ff}.faithful-view .fx-stats-people-table td{font-size:12px!important;line-height:1.4!important;height:36px;padding:8px 12px!important;border-right:1px solid #1d354d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400;color:#dceaff}.faithful-view .fx-stats-people-table td:nth-child(6){overflow:visible}.faithful-view .fx-stats-people-table td:last-child{font-weight:500;color:#ecf4ff}.fx-rating-stars{position:relative;display:inline-block;vertical-align:middle;color:#3c4f68;font-size:15px;letter-spacing:2px;line-height:1.2;white-space:nowrap}.fx-rating-stars>span:first-child{display:block}.fx-rating-fill{position:absolute;left:0;top:0;display:block;overflow:hidden;color:#ffc34c;white-space:nowrap}.fx-rating-number{font-size:11px;color:#dcecff;margin-left:9px;vertical-align:middle}.fx-no-rating{font-size:11px;color:#819fbe}.fx-stats-people .fx-table-pagination{padding:12px 16px;min-height:50px;font-size:11px}.fx-stats-people .fx-table-pagination button{min-width:28px;font-size:11px}.fx-stats-people .fx-table-pagination button:disabled{opacity:.4;cursor:default}.fx-stats-empty{text-align:center;color:#8fabc9!important;height:100px!important}
.faithful-view .fx-stats-export{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 14px!important;min-height:36px!important;color:#d8eaff;border:1px solid #3c7fbc;background:linear-gradient(100deg,#10233c,#132a47);font-size:12px!important;white-space:nowrap}.fx-stats-export svg{width:16px;height:16px;color:#83baff}.fx-stats-branch-table{width:100%;border-collapse:collapse}.faithful-view[data-view=estadisticas] .fx-advanced{margin-top:14px}
@media(max-width:1100px){.fx-stats-reference-charts{grid-template-columns:1fr 1fr}.fx-stats-reference-charts .fx-chart-legend{order:initial;width:auto;margin-left:auto;padding:0}.fx-stats-reference-charts .fx-panel-head{flex-wrap:wrap;row-gap:8px}.fx-stats-reference-charts .fx-chart-grid text{font-size:10px}}
@media(max-width:850px){.fx-stats-reference-charts{grid-template-columns:1fr}.fx-stats-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-stats-people .fx-panel-head{flex-wrap:wrap}.fx-stats-people-filters{width:100%;margin:0}.fx-stats-search{flex:1;width:auto}.fx-stats-people-filters select{max-width:160px}}
.fx-salary-bank{margin:10px 0;padding:12px;border:1px solid #29405b;border-radius:7px;background:#101e30}
.fx-salary-bank h3{margin:0 0 9px;font-size:12px;font-weight:600;color:#a8c8ee}
.fx-salary-bank-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px}
.fx-salary-bank-row+ .fx-salary-bank-row{border-top:1px solid #263b52;margin-top:5px;padding-top:10px}
.fx-salary-bank-row span{color:#e0ebfa;font-weight:600}
.fx-salary-bank-row small{display:block;margin-top:3px;font-size:11px;color:#97b3d4;font-weight:400}
.fx-salary-bank-row strong{font-size:13px;font-weight:600;overflow-wrap:anywhere;text-align:right;font-variant-numeric:tabular-nums}
.fx-salary-bank p{margin:0;font-size:12px;color:#97b3d4}

/* Compact sede targets, matching the SafetyPay reference. */
.faithful-view .safetypay-goal-card.fx-goal-card{display:flex!important;flex-direction:column;align-items:stretch;justify-content:space-between;gap:0;min-height:112px!important;padding:13px 14px!important;border:1px solid #26405d!important;border-radius:6px;background:linear-gradient(115deg,#101b2d,#0e192a);box-shadow:inset 0 0 20px #17334d20}
.fx-goal-heading,.fx-goal-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fx-goal-heading{min-height:19px}.fx-goal-site{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:#e4edfa}.fx-goal-site svg{width:16px;height:18px;flex-shrink:0;color:#69adfa}
.fx-goal-complete{padding:3px 7px;border-radius:4px;background:#8ce6c3;color:#102d2b;font-size:9px;font-weight:750;white-space:nowrap}
.fx-goal-amount{display:block;margin:7px 0 9px;color:#eef3ff;font-size:20px!important;font-weight:700;line-height:1.2;letter-spacing:-.3px;white-space:nowrap}
.fx-goal-meta{font-size:11px;line-height:1.3;color:#b2c8e8}.fx-goal-meta strong{color:#75b5ff;font-size:11px;font-weight:650}
.fx-goal-track{height:7px;margin-top:6px;overflow:hidden;border-radius:999px;background:#20334b;box-shadow:inset 0 0 0 1px #2d486050}
.fx-goal-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#438ded,#65acff)}
.fx-goal-card[data-goal-tone=complete] .fx-goal-track>span{background:linear-gradient(90deg,#55c69c,#7be4bc)}
.fx-goal-card[data-goal-tone=complete] .fx-goal-meta strong{color:#7ee6bd}
.fx-goal-card[data-goal-tone=low] .fx-goal-track>span{background:linear-gradient(90deg,#e9c45d,#f7df85)}
.fx-goal-card[data-goal-tone=low] .fx-goal-meta strong{color:#f1d372}
.fx-goal-card[role=button]:focus-visible{outline:2px solid #65acff;outline-offset:3px}

/* One centered login logo; menu scrolls vertically without horizontal overflow. */
.app .sidebar{overflow-x:hidden;min-width:0}
.app .sidebar .sidebar-head{justify-content:center;padding:16px 18px 14px;min-height:104px}
.app .sidebar .sidebar-logo{width:100%;height:auto;min-height:70px;margin:0;flex-shrink:1}
.app .sidebar .sidebar-logo img{display:block;width:172px;max-width:100%;height:auto;object-fit:contain}
.app .sidebar .nav{min-width:0;width:100%;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}
.app .sidebar .nav-section{min-width:0;margin-left:0!important;margin-right:0!important}
.app .sidebar .nav-section-items{min-width:0;grid-template-columns:minmax(0,1fr)}
.app .sidebar .nav-item{min-width:0;max-width:100%;box-sizing:border-box}
.app .sidebar .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
.app .sidebar .sidebar-footer{min-width:0;overflow:hidden}
.app .sidebar .user-meta{min-width:0}.app .sidebar .user-name,.app .sidebar .user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app.sidebar-collapsed .sidebar .sidebar-head{min-height:57px;padding:12px 5px}
@media(max-width:720px){.app .sidebar .sidebar-head{min-height:55px;padding:12px 4px}.app .sidebar .sidebar-logo{min-height:30px}.app .sidebar .sidebar-logo img{width:48px}}
/* Off-screen tooltip boxes must not widen the collapsed menu's scroll area. */
.app.sidebar-collapsed .sidebar .nav-item::after{display:none}

/* Reference header: smaller logo centered above the divider and section labels. */
@media(min-width:721px){
 .app:not(.sidebar-collapsed) .sidebar .sidebar-head{min-height:78px;padding:10px 18px 12px;flex-shrink:0;border-bottom:1px solid #1d344b;margin:0 12px}
 .app:not(.sidebar-collapsed) .sidebar .sidebar-logo{min-height:48px}
 .app:not(.sidebar-collapsed) .sidebar .sidebar-logo img{width:128px;height:auto}
 .app:not(.sidebar-collapsed) .sidebar .nav-section:first-child{margin-top:12px}
}

/* Background sampled from the user's reference. */
body:has(.app .main){--bg:#09111d;--bg2:#09111d;background:#09111d}
.app:has(.main),.app:has(.faithful-view),.app:has(.faithful-view) .sidebar,.app .sidebar,.app .sidebar .sidebar-footer,.app .main.faithful-view{background:#09111d}

.fx-chart-body{position:relative}
.fx-chart-hit{cursor:crosshair;outline:none;pointer-events:all}
.fx-chart-hit:hover,.fx-chart-hit:focus{fill:#62aaff12;stroke:#79adf744;stroke-width:1}
.fx-chart-tooltip{position:absolute;z-index:15;pointer-events:none;min-width:188px;padding:11px 13px;border:1px solid #39597a;border-radius:7px;background:#091525f5;box-shadow:0 8px 24px #0006;color:#e6f0ff;font-size:12px;line-height:1.5;white-space:nowrap}
.fx-chart-tooltip>strong{display:block;margin-bottom:6px;font-size:12px}
.fx-chart-tooltip>span{display:flex;align-items:center;gap:7px;margin-top:3px;color:#b7cdea}
.fx-chart-tooltip>span::before{content:'';width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#409cff}
.fx-chart-tooltip>.mint-dot::before{background:#54e3b3}
.fx-chart-tooltip b{margin-left:auto;padding-left:15px;color:#fff;font-weight:650}
.faithful-view .attendance-entry-late{color:#ff697c!important}
.salary-late-duration strong{color:#ff9aa7;font-variant-numeric:tabular-nums}

/* Keep attendance clocks intact; badges may move to the following line. */
.faithful-view .attendance-time-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.faithful-view .attendance-time-cell>span:first-child{flex:0 0 auto;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;font-variant-numeric:tabular-nums}
.faithful-view .attendance-time-cell>.badge{max-width:100%;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}

.section-spinner{display:block;width:28px;height:28px;margin:12px auto 18px;border:3px solid rgba(104,163,238,.2);border-top-color:#529bff;border-radius:50%;animation:busySpin .75s linear infinite;will-change:transform;flex-shrink:0}
.busy-spinner{will-change:transform}
@media(prefers-reduced-motion:reduce){.section-spinner,.busy-spinner{animation-duration:1.8s}}

/* Attendance request selection: larger, centered controls matching the dark theme. */
.attendance-shell :is(#selectAllAttendanceRequests,[data-attendance-request-select]){appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:18px!important;height:18px!important;min-width:18px;min-height:18px!important;max-height:18px!important;padding:0!important;box-sizing:border-box;margin:0;vertical-align:middle;border:1px solid #496586;border-radius:5px;background:#0c1727;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}
.attendance-shell :is(#selectAllAttendanceRequests,[data-attendance-request-select])::after{content:"";display:block;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg) scale(0)}
.attendance-shell :is(#selectAllAttendanceRequests,[data-attendance-request-select]):checked{background:#2878e7;border-color:#61a5ff}
.attendance-shell :is(#selectAllAttendanceRequests,[data-attendance-request-select]):checked::after{transform:translateY(-1px) rotate(45deg) scale(1)}
.attendance-shell :is(#selectAllAttendanceRequests,[data-attendance-request-select]):hover{border-color:#8cbbff;box-shadow:0 0 0 3px #438cf51a}
.attendance-shell :is(#selectAllAttendanceRequests,[data-attendance-request-select]):focus-visible{outline:2px solid #86b7ff;outline-offset:3px}
.attendance-shell :is(#selectAllAttendanceRequests,[data-attendance-request-select]):disabled{opacity:.45;cursor:not-allowed}
.attendance-shell :is(th,td):has(> :is(#selectAllAttendanceRequests,[data-attendance-request-select])){text-align:center!important;vertical-align:middle;padding-left:12px!important;padding-right:12px!important;width:46px}
.attendance-shell tr:has(>td>[data-attendance-request-select]:checked){background:#11253d!important}

.attendance-review-alerts{margin:12px 0;border:1px solid #776238;border-radius:8px;background:#29251955;padding:12px 14px}.attendance-review-alerts summary{cursor:pointer;color:#f1ca77;font-size:13px;font-weight:600}.attendance-review-alerts p{font-size:12px;line-height:1.6;color:#adc3df;margin:10px 0}.attendance-review-case{border-top:1px solid #3c4655;padding:10px 0}.attendance-review-alerts table{min-width:850px}.attendance-review-alerts td{font-size:12px;white-space:normal}
.audit-history-table>tbody>tr>td{vertical-align:top!important}
.audit-change{margin-top:7px;min-width:240px;max-width:650px}
.audit-change>summary{color:var(--accent);cursor:pointer;font-size:12px}
.audit-change-content{max-height:240px;overflow-y:auto;overflow-x:hidden;margin-top:8px;border:1px solid var(--border);border-radius:7px;background:var(--bg)}
.audit-change-table{width:100%!important;min-width:0!important;table-layout:fixed;border-collapse:collapse}
.audit-change-table th,.audit-change-table td{width:33.33%;padding:8px!important;font-size:12px!important;white-space:normal!important;overflow-wrap:anywhere;vertical-align:top!important}
.audit-change-table th{font-size:10px!important}
.audit-change-table td:first-child{color:var(--text2)}
.audit-change-table td:last-child{color:var(--green)}
.audit-change-note{margin-top:6px;font-size:12px;color:var(--text3)}
.dialog-card.bonus-editor-card{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}
.bonus-editor-card>.dialog-kicker,.bonus-editor-card>.dialog-title,.bonus-editor-card>.dialog-message,.bonus-editor-card>.dialog-actions{flex-shrink:0}
.bonus-editor-card>.bonus-editor-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.bonus-editor-card>.dialog-actions{padding-top:10px;margin-top:10px}
