/* Shared Version 2.0 portal skin. No form, authorization or data behavior changes. */
body.sf-portal-v2 {
 --bg:#f5f7fb;--surface:#fff;--surface-soft:#f5f7fb;--line:#e2e8f1;--text:#182338;--muted:#718096;
 --brand-blue:#3478f6;--brand-navy:#182338;--brand-teal:#0d9488;
 --sf-bg:#f5f7fb;--sf-card:#fff;--sf-border:#e2e8f1;--sf-navy:#182338;--sf-muted:#718096;
 --radius-xl:12px;--radius-lg:10px;--radius-md:8px;
 background:#f5f7fb!important;color:#182338!important;font-family:"SF Gilroy",Arial,sans-serif!important;
 padding-bottom:70px!important;min-width:0;font-synthesis:none;
}
.sf-portal-v2 *, .sf-portal-v2 input, .sf-portal-v2 button, .sf-portal-v2 select, .sf-portal-v2 textarea {box-sizing:border-box;font-family:inherit}
.sf-portal-v2 :is(h1,h2,h3,p,a,span,div,td,th,label){font-family:inherit}
.sf-portal-v2 :is(.portal-topbar,.portal-header,.portal-hero,header[class*="portal"],.sf-portal-header,.auth-hero){background:#fff!important;color:#182338!important;box-shadow:none!important;border-color:#e2e8f1!important;backdrop-filter:none!important}
.sf-portal-v2 .portal-topbar{position:relative!important;border-bottom:1px solid #e2e8f1!important}
.sf-portal-v2 .portal-topbar-inner{max-width:1450px;padding:20px 28px 16px;gap:20px}
.sf-portal-v2 :is(.portal-brand-title,.portal-brand-name){color:#182338!important;font-size:24px!important;font-weight:600!important;letter-spacing:0!important}
.sf-portal-v2 :is(.portal-brand-subtitle,.portal-brand-subtitle *, .portal-brand-copy small){color:#718096!important;font-size:14px!important;font-weight:400!important}
.sf-portal-v2 .portal-logo-shell{width:164px!important;height:70px!important;padding:0!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important}
.sf-portal-v2 .portal-logo-shell img{object-fit:contain!important;border-radius:0!important}
.sf-portal-v2 :is(.portal-chip,.portal-profile,.portal-profile-chip,.portal-avatar,.portal-avatar-text,.portal-bell-btn,.portal-profile-name,.portal-profile-arrow,.portal-profile-chevron){background:#f5f7fb!important;border-color:#e2e8f1!important;color:#182338!important;box-shadow:none!important;backdrop-filter:none!important;text-shadow:none!important}
.sf-portal-v2 .portal-profile{border-radius:8px!important}
.sf-portal-v2 :is(.portal-avatar,.portal-avatar-text){width:40px!important;height:40px!important;font-size:14px!important}
.sf-portal-v2 .portal-bell-btn{width:42px!important;height:42px!important;border-radius:8px!important}
.sf-portal-v2 :is(.portal-profile-name,.portal-chip){font-weight:500!important;font-size:14px!important}
.sf-portal-v2 .portal-nav{max-width:1450px;width:100%;min-width:0;gap:8px!important;padding:0 28px 16px!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:wrap}
.sf-portal-v2 :is(.portal-nav-link,.portal-nav a,.portal-top-actions .portal-btn){border-radius:8px!important;background:#fff!important;color:#182338!important;border:1px solid #e2e8f1!important;box-shadow:none!important;transform:none!important;font-weight:500!important;font-size:15px!important;padding:10px 14px!important;white-space:nowrap}
.sf-portal-v2 :is(.portal-nav-link.active,.portal-nav-link.is-active,.portal-nav a[aria-current="page"]){background:#3478f6!important;color:#fff!important;border-color:#3478f6!important}
.sf-portal-v2 .portal-main{max-width:1450px!important;width:100%!important;margin:0 auto!important;padding:28px!important;min-width:0}
.sf-portal-v2 :is(.portal-card,.portal-card-soft,.portal-kpi,.portal-fast-stat,.sf-card,.sf-field-card,.sf-hero,.sfpe-portal-info-card,.sfpe-salary-agreement-card,.sfpe-salary-rate-card){background:#fff!important;border:1px solid #e2e8f1!important;border-radius:12px!important;box-shadow:none!important;backdrop-filter:none!important;color:#182338!important;min-width:0}
.sf-portal-v2 :is(.portal-card,.sf-card){margin-bottom:22px!important}
.sf-portal-v2 .portal-card{padding:24px!important}
.sf-portal-v2 :is(.portal-title,.sf-title){font-size:30px!important;line-height:1.3!important;color:#182338!important;font-weight:600!important;letter-spacing:0!important}
.sf-portal-v2 :is(.portal-title-md,.sf-card-title){font-size:21px!important;line-height:1.4!important;color:#182338!important;font-weight:600!important;letter-spacing:0!important}
.sf-portal-v2 :is(.portal-muted,.portal-list-meta,.sf-subtitle,.sf-card-subtitle,.sf-instructions){color:#718096!important;font-size:15px!important;font-weight:400!important;line-height:1.7!important}
.sf-portal-v2 :is(.portal-kpi-label,.sf-label,.sf-kicker){font-size:13px!important;font-weight:500!important;letter-spacing:.02em!important;color:#718096!important;text-transform:none!important}
.sf-portal-v2 :is(.portal-fast-stat-value,.portal-kpi-value){font-size:23px!important;color:#182338!important;font-weight:600!important}
.sf-portal-v2 :is(.portal-fast-stat,.portal-kpi){padding:20px!important}
.sf-portal-v2 :is(.portal-badge,.sf-money-badge,.sf-pill,.sf-status-badge){border-radius:6px!important;font-weight:500!important;letter-spacing:0!important;font-size:12px!important;padding:5px 9px!important}
.sf-portal-v2 :is(.portal-btn,.sf-btn){display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px!important;font-weight:500!important;font-size:15px!important;box-shadow:none!important;transform:none!important;min-height:40px;letter-spacing:0!important}
.sf-portal-v2 :is(.portal-btn--primary,.sf-btn-primary){background:#3478f6!important;border-color:#3478f6!important;color:#fff!important}
.sf-portal-v2 :is(.portal-btn--light,.portal-btn--soft){background:#f5f7fb!important;color:#3478f6!important;border:1px solid #e2e8f1!important}
.sf-portal-v2 :is(.sf-btn-yellow,.portal-btn--warning){background:#fff7e6!important;color:#b45309!important;border:1px solid #fde2ac!important}
.sf-portal-v2 :is(.portal-section-link,.portal-bell-link,.portal-bell-link-btn){color:#3478f6!important}
.sf-portal-v2 .portal-bell-link-btn.portal-bell-danger{color:#dc2626!important}
.sf-portal-v2 :is(.sf-money-item,.sf-dash-update-card,.sf-dash-file-card,.sf-ne-item,.portal-list-item,.portal-file-card,.portal-ticket-card,.sf-file-row,.sf-field-card){background:#fff!important;border:1px solid #e2e8f1!important;border-radius:10px!important;box-shadow:none!important;backdrop-filter:none!important}
.sf-portal-v2 :is(.sf-money-title,.sf-dash-update-title,.sf-dash-file-title,.sf-ne-title,.sf-field-title){font-size:15px!important;font-weight:600!important;color:#182338!important}
.sf-portal-v2 :is(.sf-money-meta,.sf-dash-update-meta,.sf-dash-file-meta,.sf-ne-notes,.sf-ne-meta){font-size:13px!important;font-weight:400!important;color:#718096!important}
.sf-portal-v2 :is(.sf-money-amount,.sf-value){color:#182338!important;font-weight:600!important}
.sf-portal-v2 :is(.sf-dash-update-icon,.sf-dash-file-icon){background:#eef4ff!important;border:1px solid #d7e4fd!important;border-radius:8px!important;color:#3478f6!important;box-shadow:none!important}
.sf-portal-v2 :is(.sf-money-list,.sf-dash-updates-list,.sf-dash-files-grid){scrollbar-width:thin;scrollbar-color:#c8d2e2 transparent}
.sf-portal-v2 :is(.portal-calendar-large,.portal-calendar-cell,.portal-calendar-dayname){box-shadow:none!important;background:#f5f7fb!important;border-color:#e2e8f1!important;border-radius:8px!important}
.sf-portal-v2 .portal-calendar-cell{min-height:72px!important}
.sf-portal-v2 .portal-calendar-cell.is-today{outline:2px solid #3478f6!important}
.sf-portal-v2 :is(.portal-calendar-dayname){font-weight:500!important;font-size:12px!important;color:#718096!important}
.sf-portal-v2 :is(.portal-empty,.sf-info-box){background:#f5f7fb!important;border:1px solid #e2e8f1!important;border-radius:8px!important;color:#718096!important;box-shadow:none!important}
.sf-portal-v2 :is(table){border-collapse:separate;border-spacing:0;max-width:100%}
.sf-portal-v2 :is(th){background:#f5f7fb!important;color:#718096!important;font-size:13px!important;letter-spacing:0!important;font-weight:500!important}
.sf-portal-v2 :is(td){font-size:15px!important;border-color:#e2e8f1!important}
.sf-portal-v2 :is(.portal-table-wrap,.portal-table-scroll){max-width:100%;overflow-x:auto}
.sf-portal-v2 :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){border-radius:8px!important;border:1px solid #d7deea!important;background:#fff!important;color:#182338!important;font-size:15px!important;box-shadow:none!important;max-width:100%;min-width:0}
.sf-portal-v2 :is(input,select,textarea):focus-visible{outline:2px solid #3478f6!important;outline-offset:2px}
.sf-portal-v2 :is(button,a):focus-visible{outline:2px solid #3478f6!important;outline-offset:3px}
.sf-portal-v2 .sf-portal-shell{max-width:1200px!important;width:100%!important;margin:24px auto!important;padding:0 24px!important}
.sf-portal-v2 .sf-hero{padding:24px!important;margin-bottom:22px!important}
.sf-portal-v2 .sf-card-head{background:#fff!important;border-bottom:1px solid #e2e8f1!important;padding:20px 24px!important}
.sf-portal-v2 .sf-card-body{padding:24px!important}
.sf-portal-v2 :is(.sfpe-salary-agreement-grid,.sf-grid){gap:18px!important}
.sf-portal-v2 .sf-portal-v2-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;background:#fff;border-bottom:1px solid #e2e8f1}
.sf-portal-v2-brand img{width:180px;height:70px;object-fit:contain}
.sf-portal-v2-brand span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#718096}
.sf-portal-v2-brand svg,.sf-portal-v2 .sf-v2-action-icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle}
.sf-portal-v2.sf-portal-auth-v2{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:32px 20px 92px!important;gap:0!important}
.sf-portal-v2 :is(.auth-card,.portal-auth-card){width:100%!important;max-width:500px!important;border-radius:12px!important;border:1px solid #e2e8f1!important;box-shadow:none!important;background:#fff!important;margin:24px auto!important;overflow:hidden}
.sf-portal-v2 .portal-auth-card{padding:28px!important}
.sf-portal-v2 .auth-hero{padding:26px!important;border-bottom:1px solid #e2e8f1!important}
.sf-portal-v2 .auth-body{padding:26px!important}
.sf-portal-v2 :is(.auth-logo,.portal-brand-logo-wrap){width:220px!important;height:94px!important;padding:0!important;margin:0 auto 20px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
.sf-portal-v2 :is(.auth-logo img,.portal-brand-logo){width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important}
.sf-portal-v2 .auth-brand{display:block!important;margin:0!important}
.sf-portal-v2 .auth-brand-text{display:none!important}
.sf-portal-v2 :is(.auth-title,.portal-auth-card h1){font-size:28px!important;line-height:1.3!important;font-weight:600!important;color:#182338!important;letter-spacing:0!important}
.sf-portal-v2 :is(.auth-sub,.auth-brand-subtitle,.portal-auth-kicker,.portal-auth-card p,.portal-auth-card .hint){font-size:14px!important;font-weight:400!important;line-height:1.7!important;color:#718096!important;letter-spacing:0!important}
.sf-portal-v2 :is(.auth-btn,.portal-auth-card button[type="submit"],.auth-body button[type="submit"]){display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;background:#3478f6!important;color:#fff!important;font-size:15px!important;font-weight:500!important;min-height:44px!important;border:1px solid #3478f6!important;border-radius:8px!important;box-shadow:none!important}
.sf-portal-v2 :is(.auth-link,.portal-auth-link){color:#3478f6!important;font-weight:500!important;font-size:14px!important}
.sf-portal-v2 :is(.portal-bell-dropdown,#sfPortalBellFixedDropdown,#sfPortalBodyProfileMenu){background:#fff!important;border:1px solid #e2e8f1!important;border-radius:10px!important;box-shadow:0 8px 24px #18233814!important;color:#182338!important}
.sf-portal-v2 :is(.portal-bell-dropdown *,#sfPortalBellFixedDropdown *,#sfPortalBodyProfileMenu *){font-weight:500;letter-spacing:0}
.sf-portal-v2 .sf-v2-footer-bar{z-index:1000!important;box-shadow:none!important}
body.sf-portal-v2 .portal-topbar .portal-top-actions .portal-bell-btn{width:42px!important;height:42px!important}
body.sf-portal-v2 .portal-topbar .portal-top-actions .portal-bell-btn .portal-icon-material-bell{color:#3478f6!important;fill:currentColor!important}
body.sf-portal-v2 .portal-topbar .portal-top-actions .portal-avatar,body.sf-portal-v2 .portal-topbar .portal-top-actions .portal-avatar-text{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;line-height:1!important;border-radius:50%!important;position:static!important;transform:none!important;color:#3478f6!important}
body.sf-portal-v2 .portal-topbar .portal-profile::after{color:#182338!important;background:transparent!important;border:0!important}
body.sf-portal-v2 .portal-topbar .portal-profile-name::after{display:none!important}
body.sf-portal-v2 .sf-hero::after{background:#3478f6!important;height:3px!important}
body.sf-portal-v2 .sfpe-salary-agreement-card::before{background:#3478f6!important}
body.sf-portal-v2 .sfpe-salary-rate-card::before{background:#0d9488!important}
.sf-portal-v2 .sf-card-title .sf-v2-action-icon{margin-inline-end:8px;color:#3478f6}
body.sf-portal-v2.sf-portal-auth-v2 .portal-brand-logo{filter:none!important;box-shadow:none!important}
.sf-portal-v2 :is(.sf-slip-hero,.sf-slip-card,.sf-kpi,.sf-final-card,.sf-money-card,.sf-row-card,.sf-timesheet-card,.sf-travel-hero,.sf-travel-card,.sf-rmb-hero,.sf-rmb-card,.sf-rmb-claim,.sf-rmb-form-shell){background:#fff!important;border:1px solid #e2e8f1!important;border-radius:12px!important;box-shadow:none!important;backdrop-filter:none!important;color:#182338!important;min-width:0}
.sf-portal-v2 :is(.sf-slip-title,.sf-rmb-title,.sf-travel-title){font-size:28px!important;font-weight:600!important;color:#182338!important;letter-spacing:0!important;line-height:1.3!important}
.sf-portal-v2 :is(.sf-section-title,.sf-confirm-title,.sf-travel-card-title,.sf-rmb-card-title,.sf-rmb-form-title,.sf-timesheet-heading-title){font-size:20px!important;font-weight:600!important;color:#182338!important;letter-spacing:0!important}
.sf-portal-v2 :is(.sf-slip-muted,.sf-confirm-text,.sf-travel-subtitle,.sf-travel-card-meta,.sf-rmb-subtitle,.sf-rmb-card-subtitle,.sf-rmb-form-note,.sf-rmb-claim-meta,.sf-timesheet-heading-note){font-size:15px!important;font-weight:400!important;color:#718096!important;letter-spacing:0!important;line-height:1.7!important}
.sf-portal-v2 :is(.sf-rmb-kicker,.sf-travel-kicker,.sf-journey-kicker,.sf-rmb-label,.sf-travel-detail-label,.sf-booking-summary-label){font-size:13px!important;font-weight:500!important;color:#718096!important;letter-spacing:0!important;text-transform:none!important}
.sf-portal-v2 :is(.sf-slip-btn,.sf-travel-btn,.sf-journey-btn,.sf-timesheet-btn,.sf-rmb-submit,.sf-md3-btn){border-radius:8px!important;box-shadow:none!important;font-size:15px!important;font-weight:500!important;letter-spacing:0!important;transform:none!important}
.sf-portal-v2 :is(.sf-slip-btn-blue,.sf-journey-btn--primary,.sf-rmb-submit){background:#3478f6!important;color:#fff!important;border-color:#3478f6!important}
.sf-portal-v2 :is(.sf-travel-btn--open,.sf-travel-btn--download,.sf-journey-btn--secondary,.sf-timesheet-btn--open,.sf-timesheet-btn--download){background:#eff4ff!important;color:#3478f6!important;border:1px solid #d7e4fd!important}
.sf-portal-v2 :is(.sf-journey-route-box,.sf-booking-summary-item,.sf-travel-detail,.sf-travel-file,.sf-rmb-empty){background:#f5f7fb!important;border-color:#e2e8f1!important;border-radius:8px!important;box-shadow:none!important;color:#182338!important}
.sf-portal-v2 :is(.sf-slip-hero,.sf-travel-hero,.sf-rmb-hero){padding:24px!important;margin-bottom:22px!important}
.sf-portal-v2 :is(.sf-slip-hero,.sf-travel-hero,.sf-rmb-hero)::before,.sf-portal-v2 :is(.sf-slip-hero,.sf-travel-hero,.sf-rmb-hero)::after{display:none!important}
.sf-portal-v2 :is(.sf-rmb-card-head,.sf-travel-card-head,.sf-timesheet-card-head){background:#fff!important;border-color:#e2e8f1!important;box-shadow:none!important}
.sf-portal-v2 :is(.sf-rmb-count,.sf-travel-count,.sf-booking-summary-value,.sf-journey-meta-label){color:#182338!important;letter-spacing:0!important}
.sf-portal-v2 :is(.sf-kpi-grid,.sf-money-grid,.sf-breakdown-grid,.sf-travel-grid,.sf-rmb-form-grid){gap:18px!important}
@media(max-width:800px){.sf-portal-v2 :is(.sf-kpi-grid,.sf-money-grid,.sf-breakdown-grid,.sf-travel-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.sf-portal-v2 :is(.sf-kpi-grid,.sf-money-grid,.sf-breakdown-grid,.sf-travel-grid,.sf-rmb-form-grid){grid-template-columns:1fr!important}.sf-portal-v2 :is(.sf-slip-title,.sf-rmb-title,.sf-travel-title){font-size:24px!important}.sf-portal-v2 :is(.sf-slip-actions,.sf-rmb-claim-actions,.sf-travel-file-actions){flex-wrap:wrap!important}.sf-portal-v2 .sf-attendance-table-wrap{max-width:100%;overflow-x:auto!important}}
@media(max-width:800px){
 .sf-portal-v2 .portal-topbar-inner{padding:16px!important;gap:14px!important}.sf-portal-v2 .portal-brand-side{width:100%}.sf-portal-v2 .portal-logo-shell{width:130px!important;height:56px!important}
 .sf-portal-v2 .portal-main{padding:18px 14px!important}.sf-portal-v2 .portal-card{padding:18px!important}.sf-portal-v2 .portal-nav{padding:0 16px 14px!important;flex-wrap:nowrap!important}
 .sf-portal-v2 :is(.portal-grid-4,.portal-grid-3){grid-template-columns:repeat(2,minmax(0,1fr))!important}.sf-portal-v2 .portal-grid-2{grid-template-columns:1fr!important}
 .sf-portal-v2 .sf-portal-shell{padding:0 14px!important}.sf-portal-v2 .sf-portal-v2-brand{padding:14px!important}.sf-portal-v2 .sf-portal-v2-brand img{width:145px;height:60px}
 .sf-portal-v2 :is(.sf-grid,.sfpe-salary-agreement-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}.sf-portal-v2 :is(.sf-title,.portal-title){font-size:25px!important}
}
@media(max-width:480px){
 .sf-portal-v2 :is(.portal-grid-4,.portal-grid-3,.sf-grid,.sfpe-salary-agreement-grid){grid-template-columns:1fr!important}.sf-portal-v2 .portal-top-actions{gap:8px!important;flex-wrap:wrap!important;width:100%;min-width:0}.sf-portal-v2 .portal-brand-title{font-size:20px!important}
 .sf-portal-v2 .sf-portal-v2-brand{flex-wrap:wrap}.sf-portal-v2 .portal-calendar-cell{min-height:46px!important;padding:5px!important}.sf-portal-v2 .portal-calendar-large{gap:4px!important;padding:8px!important}
 .sf-portal-v2 :is(.sf-file-row,.sf-field-top){flex-wrap:wrap!important}.sf-portal-v2 .sf-file-actions{flex-wrap:wrap!important}.sf-portal-v2 .sf-card-body{padding:16px!important}
 .sf-portal-v2 :is(.portal-card,.sf-card,.sf-hero){overflow-wrap:anywhere}.sf-portal-v2 :is(.auth-card,.portal-auth-card){margin:0 auto!important}
}
@media print{.sf-portal-v2{padding-bottom:0!important;background:#fff!important}.sf-portal-v2 .sf-v2-footer-bar{display:none!important}}
