body.cfx-hrms-body{margin:0!important;padding:0!important;background:#f8fafc!important}body.cfx-hrms-body #wpadminbar{position:fixed}
/* Tailwind-inspired, self-contained production stylesheet. No Bootstrap dependency. */
:root{--cfx-navy:#0f172a;--cfx-blue:#2563eb;--cfx-blue-dark:#1d4ed8;--cfx-sky:#eff6ff;--cfx-slate:#64748b;--cfx-line:#e2e8f0;--cfx-bg:#f8fafc;--cfx-white:#fff;--cfx-red:#dc2626;--cfx-green:#059669;--cfx-amber:#d97706;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.cfx-app,.cfx-login-shell{box-sizing:border-box}.cfx-app *,.cfx-login-shell *{box-sizing:border-box}.cfx-app{display:flex;min-height:100vh;background:var(--cfx-bg);color:var(--cfx-navy);margin:-10px -10px -10px -10px}.cfx-sidebar{width:252px;background:#fff;border-right:1px solid var(--cfx-line);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10}.cfx-logo{height:81px;border-bottom:1px solid var(--cfx-line);display:flex;align-items:center;gap:10px;padding:0 27px;color:var(--cfx-navy);font-size:20px;font-weight:800;text-decoration:none;letter-spacing:-.04em}.cfx-logo span,.cfx-brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff;font-weight:900;letter-spacing:0}.cfx-logo small{font-size:9px;letter-spacing:.12em;color:var(--cfx-slate);align-self:flex-end;margin:0 0 23px -5px}.cfx-sidebar nav{padding:18px 12px;display:grid;gap:4px}.cfx-sidebar nav a{color:#475569;text-decoration:none;padding:12px 15px;border-radius:8px;font-weight:650;font-size:14px;transition:.15s}.cfx-sidebar nav a:hover{background:#f1f5f9;color:var(--cfx-blue)}.cfx-sidebar nav a.is-active{background:#e8f0ff;color:var(--cfx-blue);box-shadow:inset 3px 0 0 var(--cfx-blue)}.cfx-sidebar-foot{margin-top:auto;border-top:1px solid var(--cfx-line);padding:18px 27px;display:grid;gap:8px;font-size:13px}.cfx-sidebar-foot span{font-weight:700;color:#334155}.cfx-sidebar-foot a{color:var(--cfx-red);text-decoration:none;font-weight:650}.cfx-main{width:calc(100% - 252px);margin-left:252px;min-width:0}.cfx-topbar{height:81px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--cfx-line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cfx-topbar h1{font-size:22px;line-height:1.25;margin:0;font-weight:780;letter-spacing:-.03em}.cfx-eyebrow{font-size:10px;color:var(--cfx-slate);letter-spacing:.1em;font-weight:800;margin:0 0 4px}.cfx-user-chip{display:flex;align-items:center;gap:9px;color:#475569;font-size:14px;font-weight:650}.cfx-user-chip b{width:34px;height:34px;border-radius:100%;display:grid;place-items:center;background:#dbeafe;color:#1d4ed8}.cfx-menu-toggle{display:none;border:0;background:#eff6ff;border-radius:8px;font-size:20px;color:#1d4ed8;padding:7px 9px}.cfx-content{padding:34px 38px 50px;max-width:1500px}.cfx-panel{background:#fff;border:1px solid var(--cfx-line);border-radius:14px;padding:23px;margin-bottom:22px;box-shadow:0 1px 2px rgba(15,23,42,.025)}.cfx-panel-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #eef2f7}.cfx-panel-title h2{font-size:16px;margin:0;font-weight:780;letter-spacing:-.02em}.cfx-hero{background:linear-gradient(120deg,#eff6ff,#fff 65%);border:1px solid #dbeafe;border-radius:14px;padding:31px 32px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cfx-hero h2{font-size:25px;letter-spacing:-.04em;margin:2px 0 7px}.cfx-hero>div>p:last-child{margin:0;color:#64748b;font-size:14px}.cfx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.cfx-stat{position:relative;background:#fff;border:1px solid var(--cfx-line);border-radius:13px;padding:20px;min-height:137px;overflow:hidden}.cfx-stat>span{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:17px;margin-bottom:14px}.cfx-stat>span:not([class]){position:absolute;width:5px;height:100%;left:0;top:0;border-radius:0}.cfx-stat p{font-size:13px;color:var(--cfx-slate);font-weight:650;margin:0 0 3px}.cfx-stat strong{display:block;font-size:27px;line-height:1.1;letter-spacing:-.05em}.cfx-stat small{color:#94a3b8;font-size:11px}.cfx-icon-blue{background:#2563eb}.cfx-icon-amber{background:#d97706}.cfx-icon-green{background:#059669}.cfx-icon-violet{background:#7c3aed}.cfx-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cfx-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cfx-grid-start{align-items:start}.cfx-list,.cfx-simple-list,.cfx-type-list,.cfx-balance-list{padding:0;margin:0;list-style:none}.cfx-list li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eef2f7;font-size:14px}.cfx-list li:last-child{border:0}.cfx-list li>div{display:grid;gap:2px}.cfx-list li b{font-size:13px}.cfx-list li span{color:#475569}.cfx-list li small{margin-left:auto;color:#64748b}.cfx-list li i,.cfx-balance-list i,.cfx-type-list i{width:9px;height:9px;border-radius:100%;display:inline-block;flex:0 0 auto}.cfx-empty{color:#94a3b8!important;justify-content:center!important;font-size:13px!important;padding:18px!important;text-align:center}.cfx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 15px;border-radius:8px;border:1px solid transparent;text-decoration:none;font-size:13px;font-weight:750;cursor:pointer;transition:.15s}.cfx-btn:hover{transform:translateY(-1px)}.cfx-btn-primary{background:var(--cfx-blue);color:#fff}.cfx-btn-primary:hover{background:var(--cfx-blue-dark);color:#fff}.cfx-btn-secondary{background:#fff;color:#1d4ed8;border-color:#bfdbfe}.cfx-btn-secondary:hover{background:#eff6ff;color:#1d4ed8}.cfx-btn-danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.cfx-btn-full{width:100%}.cfx-text-btn{border:0;padding:0;background:transparent;color:#2563eb;font-size:13px;font-weight:750;text-decoration:none;cursor:pointer}.cfx-danger{color:#dc2626}.cfx-form{display:grid;gap:14px}.cfx-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cfx-form label,.cfx-filter label{display:grid;gap:6px;color:#334155;font-weight:700;font-size:12px}.cfx-form label small{color:#94a3b8;font-weight:500}.cfx-form input,.cfx-form select,.cfx-form textarea,.cfx-decision input,.cfx-filter input{width:100%;font:inherit;color:#0f172a;border:1px solid #cbd5e1;border-radius:7px;background:#fff;padding:9px 10px;min-height:39px;font-size:14px;outline:none;transition:.15s}.cfx-form textarea{min-height:83px;resize:vertical}.cfx-form input:focus,.cfx-form select:focus,.cfx-form textarea:focus,.cfx-decision input:focus,.cfx-filter input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.cfx-form input:disabled{background:#f8fafc;color:#64748b}.cfx-wide{grid-column:1/-1}.cfx-check{display:flex!important;align-items:center;gap:8px;font-weight:600!important}.cfx-check input{width:auto!important;min-height:auto!important}.cfx-radio-group{border:1px solid #e2e8f0;border-radius:8px;padding:11px 12px;display:flex;gap:18px;flex-wrap:wrap}.cfx-radio-group legend{font-size:12px;color:#334155;font-weight:700;padding:0 3px}.cfx-radio-group label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.cfx-radio-group input{width:auto;min-height:auto}.cfx-helper{font-size:12px;color:#64748b;background:#f8fafc;border-radius:7px;padding:11px 12px}.cfx-balance-list li{padding:14px 1px;border-bottom:1px solid #eef2f7;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650}.cfx-balance-list b{margin-left:auto;color:#2563eb}.cfx-table-wrap{overflow:auto}.cfx-table{width:100%;min-width:670px;border-collapse:collapse;font-size:13px}.cfx-table th{font-weight:750;color:#475569;text-align:left;padding:0 12px 12px;border-bottom:1px solid #cbd5e1}.cfx-table td{padding:14px 12px;border-bottom:1px solid #eef2f7;vertical-align:middle}.cfx-table td:first-child{padding-left:0}.cfx-table th:first-child{padding-left:0}.cfx-table td small{display:block;color:#94a3b8;margin-top:2px}.cfx-dot{display:inline-block;width:8px;height:8px;border-radius:100%;margin-right:6px}.cfx-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.cfx-status-pending{color:#a16207;background:#fef3c7}.cfx-status-approved{color:#047857;background:#d1fae5}.cfx-status-rejected,.cfx-status-cancelled{color:#b91c1c;background:#fee2e2}.cfx-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cfx-request-card{background:#fff;border:1px solid var(--cfx-line);border-radius:13px;padding:21px}.cfx-request-head{display:flex;justify-content:space-between;align-items:center;font-size:13px}.cfx-request-head>div{display:flex;align-items:center}.cfx-request-head>span{color:#64748b}.cfx-request-card h3{font-size:17px;margin:18px 0 7px}.cfx-request-card p{font-size:13px;margin:6px 0}.cfx-muted{color:#64748b}.cfx-decision{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:17px}.cfx-simple-list,.cfx-type-list{margin-bottom:17px}.cfx-simple-list li,.cfx-type-list li{padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.cfx-type-list li{display:flex;align-items:center;gap:8px}.cfx-type-list span{font-size:11px;color:#64748b;margin-left:auto}.cfx-form-inline{grid-template-columns:1fr auto;align-items:end}.cfx-holiday-admin li{justify-content:space-between}.cfx-holiday-admin li form{margin-left:auto}.cfx-policy p{display:flex;justify-content:space-between;gap:15px;padding:12px 0;margin:0;border-bottom:1px solid #eef2f7;font-size:13px}.cfx-policy p:last-child{border:0}.cfx-policy b{font-size:12px}.cfx-policy span{text-align:right;color:#475569}.cfx-filter{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:20px}.cfx-filter label{min-width:150px}.cfx-calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cfx-calendar-controls h2{font-size:18px;margin:0}.cfx-calendar-controls a{font-size:13px;color:#2563eb;text-decoration:none;font-weight:750}.cfx-calendar-weekdays,.cfx-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cfx-calendar-weekdays span{padding:8px 4px;text-align:center;text-transform:uppercase;font-size:10px;color:#64748b;font-weight:800;letter-spacing:.05em}.cfx-calendar-day{min-height:100px;border:1px solid #eef2f7;margin:-1px 0 0 -1px;padding:7px;display:flex;flex-direction:column;gap:4px;background:#fff}.cfx-calendar-day>b{font-size:12px}.cfx-calendar-day.is-weekend{background:#f8fafc}.cfx-calendar-day.is-holiday{background:#fff7ed}.cfx-calendar-day.is-empty{background:#f8fafc}.cfx-holiday-tag,.cfx-calendar-entry{font-size:9px;line-height:1.2;padding:3px 4px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfx-holiday-tag{color:#9a3412;background:#ffedd5}.cfx-calendar-entry{background:color-mix(in srgb,var(--entry-color) 15%,white);color:#0f172a;border-left:3px solid var(--entry-color)}.cfx-calendar-entry.is-pending{opacity:.65;border-style:dashed}.cfx-login-shell{min-height:100vh;margin:-10px;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top right,#dbeafe,transparent 40%),linear-gradient(135deg,#f8fafc,#eff6ff)}.cfx-login-card{background:#fff;width:min(100%,420px);border:1px solid #dbeafe;border-radius:17px;padding:39px;box-shadow:0 20px 50px rgba(37,99,235,.12)}.cfx-brand-mark{width:46px;height:46px;font-size:21px;margin-bottom:20px}.cfx-login-card h1{font-size:25px;letter-spacing:-.04em;margin:0 0 6px}.cfx-login-card>p{font-size:14px;color:#64748b;margin:0 0 24px}.cfx-notice{border-radius:8px;padding:11px 13px;font-size:13px;font-weight:650;margin:0 0 18px}.cfx-notice-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.cfx-notice-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
@media(max-width:1060px){.cfx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cfx-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.cfx-calendar-day{min-height:84px}}
@media(max-width:760px){.cfx-app{margin:-10px;display:block}.cfx-sidebar{transform:translateX(-100%);width:266px;transition:.2s}.cfx-sidebar.is-open{transform:translateX(0);box-shadow:10px 0 30px rgba(15,23,42,.14)}.cfx-main{width:100%;margin:0}.cfx-topbar{height:70px;padding:0 18px}.cfx-topbar h1{font-size:18px}.cfx-user-chip span{display:none}.cfx-menu-toggle{display:block}.cfx-content{padding:20px 16px}.cfx-hero{align-items:flex-start;flex-direction:column;padding:23px}.cfx-hero h2{font-size:21px}.cfx-grid-2,.cfx-grid-3,.cfx-request-grid,.cfx-form-grid{grid-template-columns:1fr}.cfx-stats{grid-template-columns:1fr 1fr;gap:11px}.cfx-stat{padding:15px;min-height:120px}.cfx-calendar{overflow-x:auto}.cfx-calendar-weekdays,.cfx-calendar-days{min-width:600px}.cfx-calendar-day{min-height:88px}.cfx-calendar-controls h2{font-size:15px}.cfx-filter,.cfx-form-inline{display:grid;grid-template-columns:1fr}.cfx-decision{grid-template-columns:1fr 1fr}.cfx-decision input{grid-column:1/-1}.cfx-login-shell{margin:-10px}.cfx-login-card{padding:27px 23px}}.cfx-edit-list{display:grid;gap:9px}.cfx-edit-list>li{padding:0!important;border:0!important}.cfx-setting-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.cfx-setting-editor input{width:100%;font:inherit;color:#0f172a;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:7px 8px;min-height:34px;font-size:12px;outline:none}.cfx-setting-editor input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.cfx-row-actions{display:flex;gap:8px;align-items:center}.cfx-leave-type-editor{grid-template-columns:auto minmax(90px,1fr) 35px auto auto auto}.cfx-leave-type-editor>i{width:9px;height:9px;border-radius:100%}.cfx-leave-type-editor .cfx-colour-input{width:35px;min-width:35px;padding:2px}.cfx-leave-type-editor .cfx-check{white-space:nowrap;font-size:10px!important;gap:4px}.cfx-leave-type-editor .cfx-check input{width:auto!important;min-height:auto!important}
@media(max-width:760px){.cfx-setting-editor,.cfx-leave-type-editor{grid-template-columns:1fr}.cfx-leave-type-editor>i{display:none}.cfx-leave-type-editor .cfx-colour-input{width:100%;min-width:0;height:35px}.cfx-row-actions{justify-content:flex-end}}.cfx-inline-form{display:inline-flex;margin:0}.cfx-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px}.cfx-detail-grid p{display:flex;justify-content:space-between;gap:14px;padding:12px 0;margin:0;border-bottom:1px solid #eef2f7;font-size:13px}.cfx-detail-grid b{font-size:12px}.cfx-detail-grid span{text-align:right;color:#475569}.cfx-detail-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.cfx-detail-stats .cfx-stat{min-height:118px}.cfx-year-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cfx-year-month{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.cfx-year-month h3{font-size:13px;margin:0;padding:11px 12px;border-bottom:1px solid #eef2f7;text-align:center}.cfx-year-month .cfx-calendar-weekdays span{font-size:8px;padding:5px 2px}.cfx-year-month .cfx-calendar-day{min-height:57px;padding:4px;gap:2px}.cfx-year-month .cfx-calendar-day>b{font-size:10px}.cfx-year-month .cfx-calendar-entry,.cfx-year-month .cfx-holiday-tag{font-size:7px;padding:2px}.cfx-list-meta{display:grid!important;gap:2px;margin-left:auto;text-align:right;font-size:12px!important;color:#334155!important}.cfx-list-meta small{margin:0!important;font-size:11px}.cfx-off-list li>div{min-width:0}.cfx-off-list li>div span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.cfx-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cfx-year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.cfx-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cfx-detail-grid,.cfx-detail-stats,.cfx-year-calendar{grid-template-columns:1fr}.cfx-year-month .cfx-calendar{overflow-x:auto}.cfx-year-month .cfx-calendar-weekdays,.cfx-year-month .cfx-calendar-days{min-width:330px}.cfx-year-month .cfx-calendar-day{min-height:54px}}
/* Admin leave timeline: month grid with an employee row per team member. */
.cfx-timeline-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.cfx-timeline-filter>a{display:grid;place-items:center;width:39px;height:39px;border-radius:8px;background:#eff6ff;color:#2563eb;text-decoration:none;font-size:0}.cfx-timeline-filter>a:first-of-type:after{content:"‹";font-size:31px;line-height:1}.cfx-timeline-filter>a:last-of-type:after{content:"›";font-size:31px;line-height:1}.cfx-timeline-filter label{min-width:250px;position:relative;border:1px solid #22c55e;border-radius:7px;padding:4px 38px 4px 12px;gap:0}.cfx-timeline-filter label:after{content:"✓";position:absolute;right:13px;top:10px;color:#16a34a;font-size:22px;font-weight:800}.cfx-timeline-filter label input{border:0;box-shadow:none!important;padding:0;min-height:25px;background:transparent;font-size:15px;font-weight:700}.cfx-timeline-filter label small{font-size:11px;color:#64748b;font-weight:500}.cfx-timeline-filter .cfx-btn{min-height:39px}.cfx-timeline-wrap{overflow-x:auto;border:1px solid #dbe1e8;border-radius:9px;background:#fff}.cfx-timeline{width:100%;min-width:930px;border-collapse:collapse;table-layout:fixed}.cfx-timeline th,.cfx-timeline td{height:42px;padding:0;border:1px solid #dbe1e8;text-align:center;background:#fff}.cfx-timeline thead th{height:68px;color:#1e293b;font-weight:500}.cfx-timeline thead th span{display:block;font-size:12px;line-height:1.15}.cfx-timeline thead th b{display:block;font-size:17px;line-height:1.4;font-weight:500}.cfx-timeline .cfx-timeline-person{width:180px;min-width:180px;padding:0 12px;position:sticky;left:0;z-index:2;text-align:left;background:#fff;font-size:14px;font-weight:600;color:#475569}.cfx-timeline thead .cfx-timeline-person{z-index:4;font-size:16px;font-weight:800;color:#1e293b}.cfx-timeline th.is-weekend,.cfx-timeline td.is-weekend{background:#f1f5f9}.cfx-timeline th.is-holiday,.cfx-timeline td.is-holiday{background:#fff1e7;box-shadow:inset 0 2px 0 #fb923c}.cfx-timeline td{position:relative}.cfx-timeline-dot{display:inline-block;width:18px;height:18px;border-radius:100%;vertical-align:middle;background:var(--entry-color);border:1px solid rgba(15,23,42,.08);box-shadow:0 1px 1px rgba(15,23,42,.12)}.cfx-timeline-dot+.cfx-timeline-dot{margin-left:2px;width:12px;height:12px}.cfx-timeline-dot.is-pending{opacity:.42}.cfx-timeline-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:15px 1px 4px;font-size:12px;color:#475569}.cfx-timeline-legend span{display:inline-flex;align-items:center;gap:6px}.cfx-timeline-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.cfx-paid-key{background:#2563eb}.cfx-unpaid-key{background:#ef4444}.cfx-birthday-key{background:#65a30d}.cfx-pending-key{background:#64748b;opacity:.42}.cfx-timeline-holidays{margin-top:13px;border-top:1px solid #eef2f7;padding-top:16px}.cfx-timeline-holidays>b{font-size:13px;color:#334155}.cfx-timeline-holidays .cfx-list{margin-top:7px}.cfx-timeline-holidays .cfx-list li{padding:9px 0}
@media(max-width:760px){.cfx-timeline-filter{display:grid;grid-template-columns:39px 1fr 39px}.cfx-timeline-filter label{min-width:0}.cfx-timeline-filter .cfx-btn{grid-column:2}.cfx-timeline .cfx-timeline-person{width:145px;min-width:145px;font-size:12px}.cfx-timeline thead .cfx-timeline-person{font-size:14px}}
/* Date-range controls for the dashboard timeline. */
.cfx-timeline-range{align-items:center}.cfx-timeline-range .cfx-timeline-date-range{display:grid;grid-template-columns:auto minmax(128px,1fr) minmax(128px,1fr);gap:3px 9px;align-items:end;min-width:400px;border:1px solid #22c55e;border-radius:7px;padding:6px 12px}.cfx-timeline-range .cfx-timeline-date-range>span{grid-column:1/-1;color:#475569;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cfx-timeline-range .cfx-timeline-date-range label{display:grid;gap:3px;min-width:0;border:0;border-radius:0;padding:0;color:#64748b;font-size:10px;font-weight:700}.cfx-timeline-range .cfx-timeline-date-range label:after{display:none}.cfx-timeline-range .cfx-timeline-date-range label input{width:100%;min-height:25px;padding:0;border:0;background:transparent;color:#0f172a;font-size:14px;font-weight:700}.cfx-timeline-range .cfx-timeline-date-range small{grid-column:1/-1;font-size:10px;color:#64748b;font-weight:600}.cfx-range-notice{margin:-5px 0 14px;padding:9px 11px;border:1px solid #fde68a;border-radius:7px;background:#fffbeb;color:#92400e;font-size:12px;font-weight:650}
@media(max-width:760px){.cfx-timeline-range{grid-template-columns:39px minmax(0,1fr) 39px}.cfx-timeline-range .cfx-timeline-date-range{grid-column:1/-1;grid-row:2;min-width:0}.cfx-timeline-range .cfx-btn{grid-column:2;grid-row:3}}
.cfx-paid-leave-policy{margin:0;padding:11px 12px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:12px;line-height:1.5}.cfx-paid-leave-policy[hidden]{display:none}
/* Payroll workspace and employee salary details. */
.cfx-form-section{display:grid;gap:4px;padding:13px 14px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1e3a8a}.cfx-form-section b{font-size:13px}.cfx-form-section span{font-size:12px;line-height:1.45}.cfx-payroll-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 0}.cfx-payroll-stats .cfx-stat{min-height:112px}.cfx-payroll-stats .cfx-stat strong{font-size:21px}.cfx-payroll-structure{min-width:500px}.cfx-payroll-structure th{width:70%;text-align:left;color:#475569;font-weight:700}.cfx-payroll-structure td{text-align:right;font-weight:750;color:#0f172a}.cfx-payroll-table{min-width:1160px}.cfx-payroll-table td{white-space:nowrap}.cfx-payroll-table td:last-child{white-space:normal}.cfx-payroll-bonus-form{display:flex;align-items:center;gap:6px}.cfx-payroll-bonus-form input{width:88px;min-height:32px;padding:5px 7px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:12px;color:#0f172a}.cfx-payroll-bonus-form input:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.cfx-payroll-table .cfx-text-btn+.cfx-text-btn{margin-left:10px}
@media(max-width:1100px){.cfx-payroll-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cfx-payroll-stats{grid-template-columns:1fr}.cfx-payroll-bonus-form{min-width:145px}}
/* Password recovery on the custom portal login page. */
.cfx-forgot-password{margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0}.cfx-forgot-password summary{color:#2563eb;cursor:pointer;font-size:13px;font-weight:750;list-style:none}.cfx-forgot-password summary::-webkit-details-marker{display:none}.cfx-forgot-password summary:after{content:"+";margin-left:7px}.cfx-forgot-password[open] summary:after{content:"−"}.cfx-forgot-password .cfx-form{margin-top:14px}
/* Existing employee leave dates are unavailable for a new request. */
.cfx-leave-unavailable-policy{margin:0;padding:11px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b;font-size:12px;line-height:1.5}.cfx-leave-unavailable-policy[hidden]{display:none}
/* Half-day leave markers keep the selected period visible in every calendar. */
.cfx-calendar-entry{display:flex;align-items:center;gap:3px}.cfx-calendar-half-marker{display:inline-block;flex:0 0 auto;width:6px;height:12px;background:var(--entry-color);border:1px solid rgba(15,23,42,.08)}.cfx-calendar-half-marker.is-first-half{border-radius:7px 0 0 7px}.cfx-calendar-half-marker.is-second-half{border-radius:0 7px 7px 0}.cfx-timeline-dot.is-first-half,.cfx-timeline-dot.is-second-half{width:9px!important;height:18px!important}.cfx-timeline-dot.is-first-half{border-radius:10px 0 0 10px}.cfx-timeline-dot.is-second-half{border-radius:0 10px 10px 0}.cfx-timeline-legend i.cfx-half-first,.cfx-timeline-legend i.cfx-half-second{width:6px;height:11px;background:#64748b}.cfx-timeline-legend i.cfx-half-first{border-radius:7px 0 0 7px}.cfx-timeline-legend i.cfx-half-second{border-radius:0 7px 7px 0}
/* Keep the half-day selector out of the layout unless Half day is selected. */
label[data-half-day-part][hidden]{display:none!important}
/* Attendance workspace. */
.cfx-attendance-filter{align-items:end}.cfx-attendance-filter .cfx-helper{align-self:center}.cfx-attendance-table{min-width:940px}.cfx-attendance-table td small{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfx-attendance-stats{margin:4px 0 20px}.cfx-attendance-stats .cfx-stat{min-height:112px}.cfx-attendance-sync-status{margin-top:18px;padding:14px;border:1px solid #dbeafe;border-radius:9px;background:#f8fbff;font-size:13px;color:#334155}.cfx-attendance-sync-status .cfx-status{margin-left:8px;vertical-align:middle}.cfx-attendance-sync-status p{margin:8px 0 0;color:#64748b;font-size:12px}.cfx-attendance-status-present{background:#d1fae5;color:#047857}.cfx-attendance-status-absent{background:#fee2e2;color:#b91c1c}.cfx-attendance-status-leave{background:#dbeafe;color:#1d4ed8}.cfx-attendance-status-holiday{background:#ffedd5;color:#9a3412}.cfx-attendance-status-weekend,.cfx-attendance-status-neutral{background:#f1f5f9;color:#64748b}.cfx-report-actions{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}@media(max-width:760px){.cfx-attendance-stats{grid-template-columns:1fr 1fr}.cfx-attendance-filter .cfx-helper{align-self:auto}.cfx-report-actions{display:grid;grid-template-columns:1fr}.cfx-attendance-table{min-width:760px}}
/* Team Office inspired attendance reports. */
.cfx-attendance-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 22px;padding:6px;border:1px solid #dbeafe;border-radius:11px;background:#fff}.cfx-attendance-tabs a{padding:9px 13px;border-radius:7px;color:#475569;text-decoration:none;font-size:13px;font-weight:760}.cfx-attendance-tabs a:hover{background:#eff6ff;color:#1d4ed8}.cfx-attendance-tabs a.is-active{background:#2563eb;color:#fff;box-shadow:0 2px 5px rgba(37,99,235,.2)}.cfx-panel-title>span{color:#64748b;font-size:13px;font-weight:700}.cfx-attendance-report-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border:1px solid #cbd5e1;border-radius:9px;overflow:hidden;background:#e2e8f0;margin:2px 0 16px}.cfx-attendance-report-meta span{display:grid;gap:3px;padding:11px 13px;background:#fff;color:#0f172a;font-size:13px;font-weight:700}.cfx-attendance-report-meta b,.cfx-attendance-total-strip b{color:#64748b;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.cfx-attendance-total-strip{display:flex;flex-wrap:wrap;border:1px solid #dbeafe;border-radius:9px;overflow:hidden;background:#dbeafe;margin:0 0 15px}.cfx-attendance-total-strip span{display:grid;gap:3px;min-width:102px;flex:1;padding:10px 13px;background:#f8fbff;color:#0f172a;font-size:14px;font-weight:800}.cfx-monthly-note{font-size:12px;margin:0 0 14px}.cfx-monthly-panel{padding-bottom:17px}.cfx-monthly-table{border-collapse:collapse;min-width:1780px;width:100%;table-layout:fixed;font-size:12px;background:#fff}.cfx-monthly-table th,.cfx-monthly-table td{border:1px solid #dbe1e8;text-align:center;padding:8px 4px;white-space:nowrap}.cfx-monthly-table thead th{height:53px;background:#f8fafc;color:#334155;font-weight:750}.cfx-monthly-table thead th:first-child,.cfx-monthly-table tbody th{position:sticky;left:0;z-index:2;width:79px;min-width:79px;background:#fff;text-align:left;padding-left:12px;color:#334155;font-weight:800}.cfx-monthly-table thead th:first-child{z-index:4;background:#f8fafc}.cfx-monthly-table thead b{display:block;font-size:15px;line-height:1.15}.cfx-monthly-table thead small{display:block;margin-top:4px;color:#64748b;font-size:10px;font-weight:700}.cfx-monthly-table td{font-variant-numeric:tabular-nums;color:#334155}.cfx-monthly-table .cfx-attendance-day-weekend{background:#f1f5f9}.cfx-monthly-table .cfx-attendance-day-holiday{background:#fff3e8}.cfx-monthly-table .cfx-attendance-day-leave{background:#eff6ff}.cfx-monthly-table .cfx-attendance-day-absent{background:#fff7f7}.cfx-month-status{display:inline-grid;place-items:center;min-width:30px;min-height:23px;border-radius:5px;font-size:10px;font-weight:850}.cfx-month-status-present{color:#047857;background:#d1fae5}.cfx-month-status-absent{color:#b91c1c;background:#fee2e2}.cfx-month-status-leave{color:#1d4ed8;background:#dbeafe}.cfx-month-status-holiday{color:#9a3412;background:#ffedd5}.cfx-month-status-weekend{color:#64748b;background:#e2e8f0}.cfx-month-status-neutral{color:#94a3b8;background:#f1f5f9}.cfx-daily-inout-table{width:100%;min-width:2120px;border-collapse:collapse;font-size:12px;background:#fff}.cfx-daily-inout-table th,.cfx-daily-inout-table td{border:1px solid #dbe1e8;text-align:center;padding:10px 8px;white-space:nowrap}.cfx-daily-inout-table thead th{background:#f8fafc;color:#334155;font-size:11px;font-weight:800}.cfx-daily-inout-table td:first-child,.cfx-daily-inout-table td:nth-child(2),.cfx-daily-inout-table td:nth-child(3){text-align:left}.cfx-daily-team-row th{padding:9px 12px!important;text-align:left!important;background:#eff6ff!important;color:#1d4ed8!important;font-size:12px!important;letter-spacing:.02em}.cfx-daily-inout-panel .cfx-muted{font-size:12px;margin:-4px 0 16px}@media(max-width:1100px){.cfx-attendance-report-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.cfx-attendance-tabs{display:grid;grid-template-columns:1fr}.cfx-attendance-tabs a{text-align:center}.cfx-attendance-report-meta{grid-template-columns:1fr 1fr}.cfx-attendance-total-strip span{min-width:88px}.cfx-monthly-table{min-width:1640px}.cfx-daily-inout-table{min-width:2020px}}
/* Company policies. */
.cfx-policy-document{max-width:940px;color:#334155;font-size:14px;line-height:1.72}.cfx-policy-document>p:first-child{margin:0 0 24px;color:#64748b}.cfx-policy-document h3{margin:28px 0 10px;padding-bottom:9px;border-bottom:1px solid #dbeafe;color:#0f2b5b;font-size:16px;letter-spacing:-.01em}.cfx-policy-document h3:first-child{margin-top:0}.cfx-policy-document ul{margin:0;padding-left:21px}.cfx-policy-document li{margin:8px 0;padding-left:3px}.cfx-company-policies-editor .cfx-muted{margin:0 0 15px}.cfx-company-policies-form{gap:16px}.cfx-company-policies-preview{margin-top:22px}.cfx-company-policies-editor #wp-cfx_company_policies_editor-wrap{border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.cfx-company-policies-editor .wp-editor-container{border:0}.cfx-company-policies-editor .quicktags-toolbar{border-color:#e2e8f0}.cfx-policy-fallback-editor{width:100%;min-height:420px;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;padding:12px;font:14px/1.6 inherit;color:#0f172a}
/* Attendance correction workflow. */
.cfx-regularization-panel{margin-top:22px}.cfx-regularization-panel .cfx-table td small{display:block;margin-top:4px;color:#64748b;line-height:1.35}.cfx-inline-decision{display:flex;align-items:center;gap:7px;min-width:360px}.cfx-inline-decision input{min-width:130px;flex:1;min-height:34px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font:inherit;font-size:12px}.cfx-inline-decision input:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.cfx-inline-decision .cfx-btn{min-height:34px;padding:7px 10px;font-size:12px;white-space:nowrap}
@media(max-width:760px){.cfx-inline-decision{display:grid;grid-template-columns:1fr 1fr;min-width:240px}.cfx-inline-decision input{grid-column:1/-1;width:100%}.cfx-regularization-panel .cfx-table{min-width:690px}}
/* Employee self-service information and onboarding. */
.cfx-employee-information-form{display:grid;gap:18px}.cfx-onboarding-progress{display:grid;grid-template-columns:1fr auto;gap:7px 14px;align-items:center;padding:14px 15px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a8a}.cfx-onboarding-progress span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.cfx-onboarding-progress b{font-size:12px}.cfx-onboarding-progress i{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:#dbeafe}.cfx-onboarding-progress em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f25322,#f97316)}.cfx-employee-information-form fieldset{min-width:0;margin:0;padding:0;border:0}.cfx-employee-information-form legend{margin:0 0 8px;color:#0f2b5b;font-size:17px;font-weight:850}.cfx-employee-information-form fieldset>.cfx-muted{margin:0 0 17px;line-height:1.55}.cfx-onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid #e2e8f0}.cfx-onboarding-actions>span{color:#64748b;font-size:12px;font-weight:750}.cfx-profile-completion-prompt{border-color:#fdba74!important;background:#fff7ed}.cfx-profile-completion-prompt .cfx-panel-title h2{color:#9a3412}.cfx-employee-information-admin{display:grid;gap:22px}.cfx-employee-information-admin section{padding:0 0 21px;border-bottom:1px solid #e2e8f0}.cfx-employee-information-admin section:last-child{padding-bottom:0;border-bottom:0}.cfx-employee-information-admin h3{margin:0 0 12px;color:#0f2b5b;font-size:14px}.cfx-employee-information-admin .cfx-muted{margin:0 0 12px;font-size:12px}
@media(max-width:760px){.cfx-onboarding-progress{grid-template-columns:1fr}.cfx-onboarding-actions{display:grid;grid-template-columns:1fr 1fr}.cfx-onboarding-actions>span{grid-column:1/-1;text-align:center;grid-row:1}.cfx-onboarding-actions .cfx-btn{width:100%}}
/* People operations and payroll workflow. */
.cfx-status-draft{background:#f1f5f9;color:#475569}.cfx-status-reviewed{background:#fef3c7;color:#92400e}.cfx-status-finalized{background:#dbeafe;color:#1d4ed8}.cfx-status-paid{background:#d1fae5;color:#047857}.cfx-status-complete{background:#d1fae5;color:#047857}.cfx-status-not_applicable{background:#f1f5f9;color:#64748b}.cfx-status-assigned{background:#dbeafe;color:#1d4ed8}.cfx-status-returned,.cfx-status-archived{background:#e2e8f0;color:#475569}.cfx-status-work_from_home,.cfx-status-on_duty,.cfx-status-comp_off{background:#e0f2fe;color:#0369a1}
/* Batch payroll workflow actions. */
.cfx-payroll-batch-form{display:grid;gap:14px}.cfx-payroll-batch-controls{display:grid;grid-template-columns:minmax(205px,.8fr) minmax(220px,1.35fr) auto;gap:12px;align-items:end}.cfx-payroll-batch-controls label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:750}.cfx-payroll-batch-controls select,.cfx-payroll-batch-controls input{width:100%;min-height:39px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#0f172a;font:inherit;font-size:14px}.cfx-payroll-batch-controls select:focus,.cfx-payroll-batch-controls input:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.cfx-payroll-workflow-table{min-width:800px}.cfx-payroll-selector-cell{width:112px!important;text-align:center!important;padding-left:12px!important}.cfx-payroll-selector{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.cfx-payroll-selector:disabled{cursor:not-allowed;opacity:.45}.cfx-payroll-select-all{display:inline-flex!important;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer}.cfx-payroll-select-all input{width:16px;height:16px;margin:0;accent-color:#2563eb;cursor:pointer}.cfx-payroll-workflow-table td b{font-size:13px}.cfx-payroll-workflow-table td small{max-width:260px;line-height:1.35}
@media(max-width:760px){.cfx-payroll-batch-controls{grid-template-columns:1fr}.cfx-payroll-batch-controls .cfx-btn{width:100%}.cfx-payroll-workflow-table{min-width:690px}.cfx-payroll-selector-cell{width:88px!important}}

/* Codinfox animated login introduction. This is intentionally CSS/DOM based: the
   portal has no supplied licensed 3D character asset or Three.js runtime. */
.cfx-login-shell-intro{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;margin:-10px;padding:42px 24px;background:#060a16;color:#0f172a}.cfx-login-shell-intro:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 18% 28%,rgba(38,99,235,.3),transparent 28%),radial-gradient(circle at 80% 80%,rgba(242,83,34,.16),transparent 32%),linear-gradient(135deg,#050914,#0b1230 54%,#080d20)}.cfx-login-shell-intro:after{content:"";position:absolute;z-index:-1;inset:0;opacity:.32;background-image:linear-gradient(rgba(148,163,184,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.05) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent)}.cfx-login-intro-wrap{position:relative;width:min(100%,960px);min-height:630px;display:grid;place-items:center}.cfx-login-ambient{position:absolute;z-index:0;inset:0;pointer-events:none}.cfx-login-ambient i{position:absolute;width:7px;height:7px;border-radius:50%;background:#60a5fa;box-shadow:0 0 20px #38bdf8;opacity:.7}.cfx-login-ambient i:nth-child(1){left:8%;top:19%;animation:cfx-login-twinkle 3s ease-in-out infinite}.cfx-login-ambient i:nth-child(2){left:22%;top:74%;width:4px;height:4px;background:#f97316;animation:cfx-login-twinkle 4s .6s ease-in-out infinite}.cfx-login-ambient i:nth-child(3){right:10%;top:23%;width:4px;height:4px;animation:cfx-login-twinkle 3.5s 1.4s ease-in-out infinite}.cfx-login-ambient i:nth-child(4){right:20%;bottom:18%;width:8px;height:8px;background:#f97316;animation:cfx-login-twinkle 4.5s .2s ease-in-out infinite}.cfx-login-ambient i:nth-child(5){left:45%;top:8%;width:3px;height:3px;animation:cfx-login-twinkle 3.2s 1s ease-in-out infinite}.cfx-login-intro-stage{position:absolute;z-index:1;inset:0;pointer-events:none}.cfx-login-card-animated{position:relative;z-index:2;width:min(100%,426px);padding:30px 32px;border:1px solid rgba(96,165,250,.66);border-radius:22px;background:rgba(255,255,255,.98);box-shadow:0 28px 70px rgba(2,6,23,.5),0 0 0 6px rgba(37,99,235,.1),0 0 38px rgba(59,130,246,.32);backdrop-filter:blur(10px)}.cfx-login-card-animated:before{content:"";position:absolute;inset:-2px;border-radius:23px;z-index:-1;background:linear-gradient(130deg,#38bdf8,#2563eb 45%,#f25322);opacity:.72;filter:blur(10px)}.cfx-login-logo{display:block;width:190px;max-width:74%;height:auto;margin:0 0 20px}.cfx-login-eyebrow{margin:0 0 6px!important;color:#2563eb!important;font-size:10px!important;font-weight:850!important;letter-spacing:.13em}.cfx-login-card-animated h1{font-size:28px}.cfx-login-card-animated>p:not(.cfx-login-eyebrow){margin-bottom:22px}.cfx-login-card-animated .cfx-radio-group{gap:12px}.cfx-login-card-animated .cfx-radio-group label{font-size:12px}.cfx-login-card-animated .cfx-btn-primary{min-height:44px;background:linear-gradient(100deg,#2563eb,#0ea5e9);box-shadow:0 10px 20px rgba(37,99,235,.2)}.cfx-login-card-animated .cfx-btn-primary:hover{background:linear-gradient(100deg,#1d4ed8,#0284c7)}.cfx-login-helper{position:absolute;z-index:3;left:calc(50% + 245px);top:calc(50% + 52px);width:94px;height:128px;opacity:0;transform:translate(0,0);filter:drop-shadow(0 16px 20px rgba(2,6,23,.45))}.cfx-login-helper-halo{position:absolute;left:50%;top:33px;width:116px;height:116px;border-radius:50%;transform:translateX(-50%);border:1px solid rgba(96,165,250,.52);background:radial-gradient(circle,rgba(59,130,246,.33),rgba(37,99,235,.06) 55%,transparent 72%);box-shadow:0 0 34px rgba(37,99,235,.55)}.cfx-login-helper-body{position:absolute;left:50%;top:28px;width:72px;height:72px;transform:translateX(-50%) rotate(-4deg);border:4px solid #dbeafe;border-radius:24px 24px 29px 29px;background:linear-gradient(145deg,#f25322 0 38%,#e11d48 39% 53%,#2563eb 54% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.36),0 12px 21px rgba(15,23,42,.35)}.cfx-login-helper-c{position:absolute;inset:8px;display:grid;place-items:center;border:3px solid #fff;border-radius:18px;color:#fff;background:#0f172a;font-size:31px;font-weight:900;line-height:1;font-family:Georgia,serif}.cfx-login-helper-arm{position:absolute;top:31px;width:42px;height:13px;border-radius:14px;background:linear-gradient(90deg,#f97316,#fb7185);box-shadow:0 3px 5px rgba(15,23,42,.25)}.cfx-login-helper-arm-left{right:59px;transform:rotate(-24deg);transform-origin:right center}.cfx-login-helper-arm-right{left:59px;transform:rotate(-16deg);transform-origin:left center}.cfx-login-helper-foot{position:absolute;bottom:-20px;width:29px;height:12px;border-radius:14px;background:#0f172a;box-shadow:0 4px 4px rgba(15,23,42,.25)}.cfx-login-helper-foot-left{left:18px;transform:rotate(5deg)}.cfx-login-helper-foot-right{right:14px;transform:rotate(-5deg)}.cfx-login-bubble{position:absolute;z-index:4;left:calc(50% - 355px);top:calc(50% - 160px);max-width:220px;padding:12px 15px;border:1px solid rgba(191,219,254,.88);border-radius:14px 14px 14px 3px;background:rgba(255,255,255,.97);color:#0f2b5b;font-size:13px;font-weight:750;line-height:1.35;opacity:0;box-shadow:0 15px 36px rgba(2,6,23,.35)}.cfx-login-bubble:after{content:"";position:absolute;bottom:-8px;right:22px;width:14px;height:14px;transform:rotate(45deg);border-right:1px solid rgba(191,219,254,.88);border-bottom:1px solid rgba(191,219,254,.88);background:#fff}.cfx-login-intro-controls{position:absolute;z-index:5;right:0;bottom:8px;display:flex;gap:5px;align-items:center}.cfx-login-intro-control{border:0;border-radius:7px;padding:6px 8px;background:transparent;color:#bfdbfe;font:700 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;letter-spacing:.02em}.cfx-login-intro-control:hover,.cfx-login-intro-control:focus-visible{background:rgba(37,99,235,.24);color:#fff;outline:2px solid #60a5fa;outline-offset:2px}.cfx-login-shell-intro.is-playing .cfx-login-card-animated{animation:cfx-login-card-delivery 12s cubic-bezier(.22,.8,.24,1) both}.cfx-login-shell-intro.is-playing .cfx-login-helper{animation:cfx-login-helper-route 12s cubic-bezier(.22,.8,.24,1) both}.cfx-login-shell-intro.is-playing .cfx-login-bubble{animation:cfx-login-bubble-sequence 12s ease-in-out both}.cfx-login-shell-intro.is-playing .cfx-login-helper-arm-right{animation:cfx-login-helper-wave .43s ease-in-out 2.25s 4 alternate}.cfx-login-shell-intro.is-playing .cfx-login-helper-foot-left{animation:cfx-login-helper-step .35s ease-in-out 0s 13 alternate}.cfx-login-shell-intro.is-playing .cfx-login-helper-foot-right{animation:cfx-login-helper-step .35s ease-in-out .17s 13 alternate}.cfx-login-shell-intro.is-complete .cfx-login-helper{opacity:1;transform:translate(0,0);transition:opacity .45s}.cfx-login-shell-intro.is-complete .cfx-login-helper-body{animation:cfx-login-helper-idle 2.8s ease-in-out infinite}.cfx-login-shell-intro.is-complete .cfx-login-bubble{left:calc(50% + 160px);top:calc(50% - 126px);opacity:1;transition:opacity .3s}.cfx-login-shell-intro.is-skipped .cfx-login-helper,.cfx-login-shell-intro.is-skipped .cfx-login-bubble{opacity:0!important;animation:none!important}.cfx-login-shell-intro.is-skipped .cfx-login-card-animated{animation:none!important;transform:none!important;opacity:1!important}.cfx-login-shell-intro.is-reduced .cfx-login-intro-controls{display:none}.cfx-login-shell-intro.is-reduced .cfx-login-helper,.cfx-login-shell-intro.is-reduced .cfx-login-bubble{display:none}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes cfx-login-card-delivery{0%,43%{transform:translateX(760px) scale(.94);opacity:.22}50%{transform:translateX(760px) scale(.94);opacity:.88}70%,100%{transform:translateX(0) scale(1);opacity:1}}@keyframes cfx-login-helper-route{0%{opacity:0;transform:translate(-800px,24px)}5%{opacity:1}18%,35%{opacity:1;transform:translate(-475px,0)}46%{opacity:1;transform:translate(140px,0)}70%,100%{opacity:1;transform:translate(0,0)}}@keyframes cfx-login-bubble-sequence{0%,17%{opacity:0;transform:translateY(8px)}21%,35%{opacity:1;transform:translateY(0)}40%,70%{opacity:0;transform:translateY(-5px)}76%,100%{opacity:1;transform:translate(515px,0)}}@keyframes cfx-login-helper-wave{from{transform:rotate(-16deg)}to{transform:rotate(-75deg)}}@keyframes cfx-login-helper-step{from{transform:translateY(0) rotate(5deg)}to{transform:translateY(-4px) rotate(-7deg)}}@keyframes cfx-login-helper-idle{0%,100%{transform:translateX(-50%) rotate(-4deg) translateY(0)}50%{transform:translateX(-50%) rotate(2deg) translateY(-5px)}}@keyframes cfx-login-twinkle{0%,100%{opacity:.18;transform:scale(.7)}50%{opacity:1;transform:scale(1.35)}}
@media(max-width:800px){.cfx-login-shell-intro{padding:28px 17px}.cfx-login-intro-wrap{min-height:0;padding:15px 0 46px}.cfx-login-intro-stage{display:none}.cfx-login-card-animated{padding:28px 23px}.cfx-login-shell-intro.is-playing .cfx-login-card-animated{animation:none;transform:none;opacity:1}.cfx-login-intro-controls{right:50%;bottom:0;transform:translateX(50%);white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.cfx-login-shell-intro *, .cfx-login-shell-intro *:before,.cfx-login-shell-intro *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.cfx-login-intro-stage{display:none}.cfx-login-card-animated{transform:none!important;opacity:1!important}.cfx-login-intro-controls{display:none}}

/* Three.js login guide: the supplied FBX character is only enabled after all
   local model files have loaded. The form itself never enters the canvas. */
.cfx-login-three-stage{position:absolute;inset:0;z-index:1;overflow:visible;opacity:0;pointer-events:none;transition:opacity .28s ease}.cfx-login-three-canvas{display:block;width:100%;height:100%;pointer-events:none}.cfx-login-three-loading{position:absolute;left:50%;top:50%;display:none;transform:translate(-50%,-50%);border:1px solid rgba(96,165,250,.4);border-radius:999px;padding:7px 11px;background:rgba(15,23,42,.75);color:#bfdbfe;font-size:11px;font-weight:750}.cfx-login-shell-intro.has-3d .cfx-login-intro-stage{z-index:3}.cfx-login-shell-intro.has-3d .cfx-login-three-stage{opacity:1}.cfx-login-shell-intro.has-3d .cfx-login-helper{display:none}.cfx-login-shell-intro.has-3d.is-complete .cfx-login-bubble{left:calc(50% - 385px);top:calc(50% - 145px)}
@media(max-width:800px){.cfx-login-three-stage{display:none}}
.cfx-login-shell-intro.has-3d.is-playing .cfx-login-card-animated{animation:none!important;transform:none!important;opacity:1!important}
