@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v30.1.0/dist/font-face.css');

@font-face{
  font-family:'RoshanUI';
  src:local('Vazirmatn'),local('Vazir'),url('/ui/assets/font/regular/') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:'RoshanUI';
  src:local('Vazirmatn Bold'),local('Vazir Bold'),url('/ui/assets/font/bold/') format('truetype');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

/* =========================================================
   Arina Payroll — Modular Enterprise UI v21
   RTL / Vazir / one design system for all modules
   ========================================================= */
:root{
  --navy:#07182c;--navy-2:#0a2139;--navy-3:#0e2d4c;--teal:#0ca789;--teal-2:#07836f;
  --blue:#3977ea;--violet:#7456df;--amber:#eea91a;--red:#df5057;--green:#16a276;
  --bg:#f5f7fb;--surface:#fff;--surface-2:#fafbfd;--text:#152238;--muted:#6f7c91;--soft:#98a2b4;
  --line:#e8edf3;--line-strong:#dce3ec;--shadow:0 12px 38px rgba(19,42,72,.065);--shadow-sm:0 5px 18px rgba(19,42,72,.045);
  --r:16px;--r-sm:12px;--r-lg:22px;--sidebar:292px;--accent:var(--teal);--accent-dark:var(--teal-2);--accent-soft:#eaf9f6;
}
body.theme-hr{--accent:#0ca789;--accent-dark:#07836f;--accent-soft:#eaf9f6}
body.theme-finance{--accent:#8b5cf6;--accent-dark:#6d28d9;--accent-soft:#f4f0ff}
body.theme-requests{--accent:#3977ea;--accent-dark:#285fca;--accent-soft:#edf4ff}
body.theme-management{--accent:#456b8a;--accent-dark:#2c4e69;--accent-soft:#eef4f8}
body.theme-reports{--accent:#f59e0b;--accent-dark:#b45309;--accent-soft:#fff7ed}
body.theme-settings{--accent:#f59e0b;--accent-dark:#b45309;--accent-soft:#fff7ed}
body.theme-default{--accent:#0ca789;--accent-dark:#07836f;--accent-soft:#eaf9f6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body,body *,body *::before,body *::after{font-family:var(--ui-font-family,'RoshanUI',Vazir,Tahoma,Arial,sans-serif)!important}
body{margin:0;color:var(--text);background:var(--bg);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-size:16px;line-height:1.5}
button{cursor:pointer}
img{max-width:100%}
.ui-icon{width:21px;height:21px;display:block}

/* APP SHELL */
.v20-app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);direction:rtl;background:var(--bg)}
.v20-sidebar{position:sticky;top:0;height:100vh;z-index:120;display:flex;flex-direction:column;overflow:auto;padding:16px 14px;color:#cdd8e7;background:linear-gradient(180deg,#06172b 0%,#082139 55%,#071c31 100%);box-shadow:-12px 0 36px rgba(7,24,44,.08)}
.v20-sidebar::-webkit-scrollbar{width:5px}.v20-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:99px}
.v20-sidebar-brand{display:flex;align-items:center;gap:10px;padding:3px 5px 14px;border-bottom:1px solid rgba(255,255,255,.075)}
.v20-brand-mark{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;overflow:hidden;border-radius:12px;color:#fff;background:linear-gradient(135deg,#14baa1,#2e75e8);box-shadow:0 8px 18px rgba(13,168,141,.15)}
.v20-brand-mark img{width:100%;height:100%;object-fit:contain;padding:5px}.v20-brand-initial{font-size:22px;font-weight:900}
.v20-brand-copy{min-width:0}.v20-brand-copy strong,.v20-brand-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v20-brand-copy strong{color:#fff;font-size:16px;font-weight:900}.v20-brand-copy small{margin-top:3px;color:#7f96b2;font-size:12px}
.sidebar-close{display:none;margin-right:auto;width:34px;height:34px;border:0;border-radius:9px;color:#dfe8f4;background:rgba(255,255,255,.07);font-size:24px}
.v20-user-card{margin:14px 3px 10px;padding:10px;display:grid;grid-template-columns:38px minmax(0,1fr) 8px;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.035)}
.v20-user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,#1eb9a3,#3c79ea);font-size:16px;font-weight:900}
.v20-user-card strong,.v20-user-card small{display:block}.v20-user-card strong{color:#fff;font-size:14px}.v20-user-card small{margin-top:3px;color:#8298b3;font-size:12px}.v20-user-dot{width:7px;height:7px;border-radius:50%;background:#22c99b;box-shadow:0 0 0 4px rgba(34,201,155,.1)}
.v20-menu{display:grid;gap:4px;margin-top:5px}.v20-menu details{display:block}.v20-menu summary{list-style:none}.v20-menu summary::-webkit-details-marker{display:none}
.v20-menu .menu-item,.v20-menu .menu-group-trigger{min-height:47px;padding:6px 9px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:11px;color:#bdc9d9;font-size:14.5px;font-weight:700;transition:.18s ease}
.v20-menu .menu-group-trigger{justify-content:space-between}.v20-menu .menu-item:hover,.v20-menu .menu-group-trigger:hover{color:#fff;background:rgba(255,255,255,.045)}
.v20-menu .menu-item.active{color:#fff;background:linear-gradient(135deg,rgba(12,167,137,.88),rgba(7,131,111,.72));border-color:rgba(72,221,194,.16);box-shadow:0 8px 20px rgba(2,86,75,.18)}
.menu-title-wrap{display:flex;align-items:center;gap:10px}.v20-menu .menu-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#8ea2bc;background:rgba(255,255,255,.045)}.v20-menu .menu-icon .ui-icon{width:18px;height:18px}.v20-menu .menu-item.active .menu-icon,.v20-menu details[open]>.menu-group-trigger .menu-icon{color:#5ee4ce;background:rgba(22,190,160,.1)}
.menu-chevron{margin-right:auto;width:24px;height:24px;display:grid;place-items:center}.menu-chevron-shape{width:7px;height:7px;border-left:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:.2s ease;color:#637c9c}.v20-menu details[open] .menu-chevron-shape{transform:rotate(135deg)}
.submenu{padding:4px 15px 5px 0;margin:0 16px 4px 0;border-right:1px solid rgba(255,255,255,.075);display:grid;gap:3px}.submenu-item{min-height:39px;padding:5px 8px;display:flex;align-items:center;gap:9px;border-radius:9px;color:#93a5bd;font-size:14px;font-weight:700}.submenu-item:hover{color:#fff;background:rgba(255,255,255,.035)}.submenu-item.active{color:#fff;background:rgba(12,167,137,.12)}.submenu-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#7088a6;background:rgba(255,255,255,.03)}.submenu-icon .ui-icon{width:15px;height:15px}.submenu-item.active .submenu-icon{color:#59dfca;background:rgba(12,167,137,.1)}
.menu-group-hr[open]>.menu-group-trigger{color:#fff;background:rgba(12,167,137,.1);border-color:rgba(72,221,194,.12)}.menu-group-hr[open]>.menu-group-trigger .menu-icon,.menu-group-hr .submenu-item.active .submenu-icon{color:#5ee4ce!important;background:rgba(22,190,160,.12)!important}.menu-group-hr .submenu-item.active{color:#fff;background:rgba(12,167,137,.14)}
.menu-group-requests[open]>.menu-group-trigger{color:#fff;background:rgba(57,119,234,.11);border-color:rgba(112,157,244,.13)}.menu-group-requests[open]>.menu-group-trigger .menu-icon,.menu-group-requests .submenu-item.active .submenu-icon{color:#89afff!important;background:rgba(57,119,234,.14)!important}.menu-group-requests .submenu-item.active{color:#fff;background:rgba(57,119,234,.16)}
.menu-group-finance[open]>.menu-group-trigger{color:#fff;background:rgba(139,92,246,.11);border-color:rgba(182,156,255,.13)}.menu-group-finance[open]>.menu-group-trigger .menu-icon,.menu-group-finance .submenu-item.active .submenu-icon{color:#b69cff!important;background:rgba(139,92,246,.14)!important}.menu-group-finance .submenu-item.active{color:#fff;background:rgba(139,92,246,.16)}
.menu-group-reports[open]>.menu-group-trigger{color:#fff;background:rgba(245,158,11,.11);border-color:rgba(251,191,36,.14)}.menu-group-reports[open]>.menu-group-trigger .menu-icon,.menu-group-reports .submenu-item.active .submenu-icon{color:#fbbf24!important;background:rgba(245,158,11,.14)!important}.menu-group-reports .submenu-item.active{color:#fff;background:rgba(245,158,11,.16)}
.menu-group-management[open]>.menu-group-trigger{color:#fff;background:rgba(69,107,138,.16);border-color:rgba(137,166,191,.13)}.menu-group-management[open]>.menu-group-trigger .menu-icon,.menu-group-management .submenu-item.active .submenu-icon{color:#9bbad2!important;background:rgba(69,107,138,.18)!important}.menu-group-management .submenu-item.active{color:#fff;background:rgba(69,107,138,.2)}
.v20-sidebar-footer{margin-top:auto;padding:13px 4px 2px;border-top:1px solid rgba(255,255,255,.065)}.v20-logout{min-height:40px;display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;color:#ef9aa0;font-size:14px;font-weight:800}.v20-logout:hover{background:rgba(223,80,87,.08)}.v20-logout svg{width:18px;height:18px}.v20-sidebar-footer>small{display:block;margin:6px 8px 0;color:#49647f;font-size:12px}
.sidebar-backdrop{display:none}

.v20-workspace{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.v20-topbar{height:76px;position:sticky;top:0;z-index:90;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(31,52,77,.025);backdrop-filter:blur(14px)}
.v20-topbar-main,.v20-topbar-actions{display:flex;align-items:center;gap:9px}.v20-page-title small,.v20-page-title strong{display:block}.v20-page-title small{color:#97a2b4;font-size:12px;font-weight:700}.v20-page-title strong{margin-top:2px;font-size:16px;font-weight:900;color:#1c2c43}
.v20-date-box{min-height:39px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;color:#5f6f84;background:#fff;font-size:13.5px;font-weight:700}.v20-date-icon{color:#4b7fdc}.v20-date-icon .ui-icon{width:16px;height:16px}
.v20-top-icon{position:relative;width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:#596b83;background:#fff}.v20-top-icon svg{width:18px;height:18px}.v20-top-icon i{position:absolute;width:6px;height:6px;border-radius:50%;top:7px;left:7px;background:#6e55e6;box-shadow:0 0 0 2px #fff}
.v20-top-account{display:flex;align-items:center;gap:7px}.v20-top-user{min-height:42px;padding:3px 3px 3px 10px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;background:#fff}.v20-top-user>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#0ca789,#3977ea);font-weight:900}.v20-top-user strong,.v20-top-user small{display:block}.v20-top-user strong{font-size:13px}.v20-top-user small{margin-top:1px;color:#9aa4b4;font-size:12px}.v20-mobile-menu{display:none;width:39px;height:39px;border:1px solid var(--line);border-radius:10px;background:#fff}.v20-mobile-menu span{width:17px;height:2px;display:block;margin:3px auto;border-radius:9px;background:#27405e}
.v20-main{padding:24px 24px 30px}.v20-content{max-width:1660px;margin:0 auto}.v20-footer{max-width:1660px;margin:28px auto 0;padding:17px 2px 0;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);color:#9ca5b4;font-size:12px}

/* MESSAGES */
.messages-stack{max-width:1660px;margin:0 auto 14px;display:grid;gap:8px}.message{min-height:44px;padding:8px 12px;display:flex;align-items:center;gap:8px;border:1px solid #dfe8ef;border-radius:11px;background:#fff;box-shadow:var(--shadow-sm);font-size:14px}.message.success{color:#08765f;background:#f1fbf8;border-color:#d6f2e9}.message.error{color:#ba3339;background:#fff5f5;border-color:#f3dada}.message.warning{color:#9c6d08;background:#fffaf0;border-color:#f1e4be}.message-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(12,167,137,.1);font-weight:900}.message-close{margin-right:auto;border:0;background:transparent;color:#9aa4b4;font-size:22px}

/* COMMON CARDS + BUTTONS */
.v20-card,.hr-workspace-card,.page-card,.detail-card,.settings-card,.contract-panel,.letter-panel,.company-panel,.portal-panel,.hr-decision-workspace,.hr-request-detail-card-v18,.hr-request-response-card-v18{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow-sm)!important}
.v20-card{padding:18px}.v20-card-head{min-height:42px;margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v20-card-head span{color:var(--accent);font-size:12px;font-weight:900}.v20-card-head h2{margin:3px 0 0;font-size:17px;color:#1a2940}.v20-card-head a{color:#4777c7;font-size:12.5px;font-weight:800}.v20-soft-label{padding:5px 8px;border-radius:999px;background:#f1f4f8;color:#77869a!important}
.primary-btn,.hr-primary-action,.filter-submit-btn,.contract-primary-action,.hr-submit-btn,.management-submit-btn,.registration-submit,.contract-submit-btn,.membership-main-action,.request-main-action,.hr-request-save-btn{min-height:39px;padding:0 13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border:0!important;border-radius:10px!important;color:#fff!important;background:linear-gradient(135deg,var(--accent),var(--accent-dark))!important;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 18%,transparent)!important;font-size:13.5px!important;font-weight:900!important}
.ghost-btn,.filter-reset,.contract-edit-btn,.letter-edit-btn,.membership-secondary-action,.hr-review-back,.portal-preview-return{min-height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-strong);border-radius:10px;color:#5f6f85;background:#fff;font-size:13px;font-weight:800}
.warning-btn{min-height:38px;padding:0 12px;display:inline-flex;align-items:center;border-radius:10px;color:#a56a00;background:#fff8e8;border:1px solid #f4e3b9;font-size:13px;font-weight:900}.danger-btn{min-height:38px;padding:0 12px;display:inline-flex;align-items:center;border-radius:10px;color:#c73f45;background:#fff3f4;border:1px solid #f2dadd;font-size:13px;font-weight:900}.success-btn{min-height:38px;padding:0 12px;display:inline-flex;align-items:center;border-radius:10px;color:#087c61;background:#edfaf6;border:1px solid #d4efe6;font-size:13px;font-weight:900}
.status-pill,.v20-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.status-pill i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.active,.v20-status.status-approved,.v20-status.status-completed,.status-approved,.status-completed{color:#078360;background:#eaf9f4}.status-pill.inactive,.v20-status.status-rejected,.status-rejected{color:#c94b51;background:#fff0f1}.v20-status.status-pending,.status-pending{color:#b87b00;background:#fff7e3}.v20-status.status-in_review,.status-in_review{color:#2f70cf;background:#edf4ff}
.mono-chip{display:inline-flex;padding:5px 7px;border:1px solid #e7ebf1;border-radius:8px;color:#304158;background:#f7f9fc;font-size:12.5px;font-weight:800}

/* DASHBOARD */
.v20-welcome-row{margin-bottom:16px;padding:3px 2px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v20-welcome-kicker{color:var(--teal);font-size:12px;font-weight:900}.v20-welcome-row h1{margin:5px 0 4px;font-size:23px}.v20-welcome-row p{margin:0;color:#8290a3;font-size:13.5px}.v20-live-status{min-height:31px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:#087b64;background:#eaf9f5;font-size:12px;font-weight:800}.v20-live-status i{width:6px;height:6px;border-radius:50%;background:#19b28a;box-shadow:0 0 0 4px rgba(25,178,138,.1)}
.v20-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.v20-stat-card{min-height:136px;padding:15px;position:relative;display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm);transition:.2s ease}.v20-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.v20-stat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px}.v20-stat-icon .ui-icon{width:22px;height:22px}.tone-teal .v20-stat-icon{color:#0a987e;background:#e9faf6}.tone-blue .v20-stat-icon{color:#3977ea;background:#eef4ff}.tone-violet .v20-stat-icon{color:#7456df;background:#f2efff}.tone-amber .v20-stat-icon{color:#d89500;background:#fff7e4}.v20-stat-copy strong,.v20-stat-copy b,.v20-stat-copy small{display:block}.v20-stat-copy strong{font-size:28px;line-height:1;color:#111e31}.v20-stat-copy b{margin-top:8px;font-size:14px}.v20-stat-copy small{margin-top:8px;color:#8f9aac;font-size:12px;line-height:1.7}.v20-stat-arrow{position:absolute;left:13px;bottom:12px;color:#b2bdca;font-size:17px}
.v20-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;margin-bottom:14px}.v20-dashboard-grid>.v20-card{min-height:340px}.v20-chart-content{height:235px;display:flex;align-items:center;justify-content:center;gap:28px}.v20-donut{width:158px;height:158px;flex:0 0 158px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#13ad8d 0 var(--active-percent),#e4eaf1 var(--active-percent) 100%);position:relative}.v20-donut:after{content:'';position:absolute;inset:29px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf1f5}.v20-donut div{position:relative;z-index:1;text-align:center}.v20-donut strong,.v20-donut small{display:block}.v20-donut strong{font-size:30px}.v20-donut small{margin-top:4px;color:#909bac;font-size:12px}.v20-chart-legend{min-width:140px;display:grid;gap:12px}.v20-chart-legend>div{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:8px;color:#6f7d91;font-size:12.5px}.v20-chart-legend i{width:7px;height:7px;border-radius:50%}.v20-chart-legend i.active{background:#13ad8d}.v20-chart-legend i.inactive{background:#dfe6ee}.v20-chart-legend b{color:#26374f}.v20-chart-note{margin-top:4px;padding:10px!important;grid-template-columns:1fr auto!important;border-radius:10px;background:#f7fafc}.v20-chart-note strong{color:#0b8b71;font-size:17px}
.v20-request-list{display:grid;gap:7px}.v20-request-item{min-height:52px;padding:7px 8px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #ebeff4;border-radius:11px;transition:.16s ease}.v20-request-item:hover{border-color:#d7e2ec;background:#fbfcfe}.v20-person-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#225e8d;background:#ebf4fb;font-size:12.5px;font-weight:900}.v20-request-item b,.v20-request-item small{display:block}.v20-request-item b{font-size:13px;color:#273750}.v20-request-item small{margin-top:3px;color:#929dac;font-size:12px}
.v20-calendar-top{display:flex;align-items:center;justify-content:space-between;margin:4px 0 11px}.v20-calendar-top button{width:29px;height:29px;border:1px solid var(--line);border-radius:8px;color:#607087;background:#fff}.v20-calendar-top strong{font-size:13.5px}.v20-calendar-week,.v20-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.v20-calendar-week span{color:#9ca6b5;font-size:12px}.v20-calendar-days{margin-top:6px}.v20-calendar-days span{height:27px;display:grid;place-items:center;border-radius:8px;color:#59677d;font-size:12px}.v20-calendar-days .today{color:#fff;background:linear-gradient(135deg,#0ca789,#07836f);box-shadow:0 5px 12px rgba(12,167,137,.2)}.v20-calendar-events{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:7px}.v20-calendar-events div{display:flex;align-items:center;gap:7px;color:#67758a;font-size:12px}.v20-calendar-events i{width:6px;height:6px;border-radius:50%;background:#7456df}.v20-calendar-events div:nth-child(2) i{background:#0ca789}
.v20-lower-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.v20-priority-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.v20-priority-grid a{min-height:90px;padding:12px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.v20-priority-grid strong{font-size:22px}.v20-priority-grid span{margin-top:7px;color:#314158;font-size:12.5px;font-weight:900}.v20-priority-grid small{margin-top:auto;color:#99a3b2;font-size:12px}.v20-activity-list{display:grid;gap:7px}.v20-activity-list a{min-height:52px;padding:7px 8px;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #ebeff4;border-radius:11px}.v20-activity-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;color:#7456df;background:#f3f0ff}.v20-activity-icon .ui-icon{width:17px;height:17px}.v20-activity-list b,.v20-activity-list small{display:block}.v20-activity-list b{font-size:13px}.v20-activity-list small{margin-top:3px;color:#929dac;font-size:12px}.v20-activity-list em{color:#a9b3c1;font-style:normal}
.v20-empty-compact{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #dce4ed;border-radius:12px;background:#fbfcfe;color:#95a0b1}.v20-empty-compact>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#7990ad;background:#eef3f8}.v20-empty-compact p{margin:0;font-size:12px}
.v20-quick-access{display:grid;grid-template-columns:150px repeat(6,minmax(105px,1fr));gap:7px;align-items:stretch}.v20-quick-heading{padding:8px 10px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}.v20-quick-heading span{font-size:15px;font-weight:900}.v20-quick-heading small{margin-top:4px;color:#9aa4b4;font-size:12px}.v20-quick-item{min-width:0;padding:9px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:11px;transition:.18s ease}.v20-quick-item:hover{background:#f8fafc;transform:translateY(-2px)}.v20-quick-item>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:var(--accent-soft)}.v20-quick-item .ui-icon{width:19px;height:19px}.v20-quick-item b{margin-top:6px;font-size:12.5px}.v20-quick-item small{display:none}

/* MODULE HERO + WORKSPACE */
.hr-module-hero,.correspondence-hero,.management-hero,.v20-module-banner,.hr-review-hero{min-height:190px;padding:22px 24px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:22px!important;position:relative!important;overflow:hidden!important;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line))!important;border-radius:var(--r-lg)!important;background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--accent-soft) 58%,#fff) 100%)!important;box-shadow:var(--shadow-sm)!important}
.hr-module-hero:before,.correspondence-hero:before,.management-hero:before,.v20-module-banner:before,.hr-review-hero:before{content:'';position:absolute;width:250px;height:250px;border-radius:50%;left:-110px;top:-140px;background:color-mix(in srgb,var(--accent) 7%,transparent)}
.hr-module-copy,.management-hero-copy,.v20-module-banner-copy,.hr-review-hero-main{position:relative;z-index:1}.hr-module-kicker,.management-kicker,.v20-module-banner-copy>span,.hr-review-kicker,.workspace-kicker{display:inline-flex!important;align-items:center!important;gap:6px!important;color:var(--accent)!important;font-size:12px!important;font-weight:900!important}.hr-module-copy h2,.management-hero-copy h2,.v20-module-banner-copy h1,.hr-review-hero h2{margin:7px 0 7px!important;color:#14243a!important;font-size:25px!important;line-height:1.6!important}.hr-module-copy p,.management-hero-copy p,.v20-module-banner-copy p,.hr-review-hero p{max-width:680px!important;margin:0!important;color:#718096!important;font-size:13px!important;line-height:2!important}.v20-module-banner-copy em{margin-top:13px;padding:6px 9px;display:inline-flex;border-radius:999px;color:var(--accent);background:#fff;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line));font-size:12px;font-style:normal;font-weight:800}.v20-module-banner-icon{width:88px;height:88px;display:grid;place-items:center;border-radius:24px;color:var(--accent);background:#fff;box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 12%,transparent)}.v20-module-banner-icon .ui-icon{width:40px;height:40px}
.hr-primary-action{margin-top:16px}.hr-metric-grid,.correspondence-metrics,.membership-metrics,.requests-metrics{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(4,minmax(110px,1fr))!important;gap:8px!important}.people-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))!important}.hr-metric-grid article,.correspondence-metrics article,.membership-metrics article,.requests-metrics article{min-width:120px;padding:13px!important;border:1px solid #e7edf3!important;border-radius:13px!important;background:rgba(255,255,255,.88)!important;box-shadow:none!important}.hr-metric-grid article span,.correspondence-metrics article span,.membership-metrics article span,.requests-metrics article span{display:block;color:#8b96a8;font-size:12px}.hr-metric-grid article b,.correspondence-metrics article b,.membership-metrics article b,.requests-metrics article b{display:block;margin-top:6px;color:#18273e;font-size:23px}.hr-metric-grid article small,.correspondence-metrics article small,.membership-metrics article small,.requests-metrics article small{display:block;margin-top:4px;color:#a0a9b7;font-size:12px}
.hr-workspace-card,.v20-future-card{margin-top:14px;padding:18px!important}.hr-workspace-head{min-height:54px;margin-bottom:13px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.hr-section-label,.workspace-kicker{color:var(--accent)!important;font-size:12px!important;font-weight:900!important}.hr-workspace-head h3{margin:3px 0 0;font-size:17px}.hr-workspace-head p{margin:4px 0 0;color:#8d98a9;font-size:12px}.hr-record-count{padding:5px 8px;border-radius:999px;color:#6c7a8e;background:#f2f5f8;font-size:12px;font-weight:800}

/* FILTERS + TABLES */
.smart-filter,.hr-filter-bar,.contract-filter,.correspondence-filter,.membership-filter,.requests-filter{margin:0 0 14px!important;padding:9px!important;display:flex!important;align-items:center!important;gap:7px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#f9fbfd!important}.search-control,.contract-search,.hr-search-box{min-width:260px;flex:1;position:relative}.search-control input,.contract-search input,.hr-search-box input,.smart-filter input,.hr-filter-bar input{width:100%;height:39px;padding:0 36px 0 10px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important;color:#27374f!important}.search-icon,.contract-search>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9aa5b5}.filter-control{display:flex;align-items:center;gap:6px}.filter-label{color:#8491a4;font-size:12px;font-weight:800}.smart-filter select,.contract-filter select,.hr-filter-bar select,.membership-filter select,.requests-filter select{height:39px;min-width:145px;padding:0 10px;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important;color:#536277!important}
.table-wrap,.modern-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8fafc}.data-table th{padding:11px 12px;text-align:right;color:#758399;font-size:12px;font-weight:900;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:11px 12px;color:#44546a;font-size:12.5px;border-bottom:1px solid #eef2f6;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfdff}.person-cell{display:flex;align-items:center;gap:8px;min-width:160px}.person-mini-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#185f82;background:#e7f4f8;font-size:12px;font-weight:900}.person-cell b,.person-cell span{display:block}.person-cell b{color:#23334a;font-size:12.5px}.person-cell span{margin-top:2px;color:#9aa4b3;font-size:12px}.table-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.action-chip{min-height:29px;padding:0 8px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;font-weight:800}.view-action{color:#2872ca;background:#f3f7ff}.edit-action{color:#9f7000;background:#fff8e7}.delete-action,.deactivate-action{color:#c4454c;background:#fff3f4}.activate-action{color:#087a60;background:#edf9f5}
.empty-state,.rich-empty,.contract-empty-state,.correspondence-empty,.hr-membership-empty,.hr-requests-empty{min-height:240px;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #dbe3ec;border-radius:13px;background:#fbfcfe;color:#8793a5}.empty-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:10px;border-radius:15px;color:var(--accent);background:var(--accent-soft);font-size:26px}.empty-state b{color:#394960;font-size:14px}.empty-state span:not(.empty-icon){margin-top:5px;font-size:12px}.empty-state a{margin-top:13px}

/* FORMS */
.form-command-header,.contract-form-hero,.hr-form-hero,.form-hero,.management-hero{margin-bottom:14px!important;padding:20px 22px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line))!important;border-radius:var(--r-lg)!important;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--accent-soft) 65%,#fff))!important;box-shadow:var(--shadow-sm)!important}.form-command-header h2,.contract-form-hero h2,.hr-form-hero h2,.form-hero h2{margin:5px 0 5px;font-size:23px}.form-command-header p,.contract-form-hero p,.hr-form-hero p,.form-hero p{margin:0;color:#718096;font-size:13px;line-height:1.9}.form-required-note{padding:6px 9px;border:1px solid #f0e0b5;border-radius:999px;color:#a97500;background:#fff9e9;font-size:12px}.form-required-note span,.required-mark{color:#df5057}
.form-section-nav{margin-bottom:12px;padding:7px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border:1px solid var(--line);border-radius:12px;background:#fff}.form-section-nav a{min-height:40px;padding:6px 9px;display:flex;align-items:center;gap:8px;border-radius:9px;color:#65748a;font-size:12.5px;font-weight:800}.form-section-nav a:hover{color:var(--accent);background:var(--accent-soft)}.form-section-nav span{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;color:var(--accent);background:var(--accent-soft);font-size:12px}
.form-section,.modern-form-section{margin-bottom:12px!important;display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;overflow:hidden!important}.section-side{padding:18px!important;border-left:1px solid var(--line)!important;background:#fafbfd!important}.section-number{display:inline-flex!important;padding:4px 7px!important;border-radius:999px!important;color:var(--accent)!important;background:var(--accent-soft)!important;font-size:12px!important;font-weight:900!important}.section-icon{width:40px;height:40px;margin-top:12px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:#fff;border:1px solid var(--line);font-size:22px}.section-side h3{margin:10px 0 5px;font-size:15px}.section-side p{margin:0;color:#8c97a8;font-size:12px;line-height:1.9}.form-section-body{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field-box,.form-field{min-width:0}.field-box label,.form-field label{display:block;margin-bottom:6px;color:#56657a;font-size:12px;font-weight:900}.field-box input,.field-box select,.field-box textarea,.form-field input,.form-field select,.form-field textarea,.settings-form input,.settings-form select,.settings-form textarea,.contract-form input,.contract-form select,.contract-form textarea,.letter-form input,.letter-form select,.letter-form textarea,.company-profile-form input,.company-profile-form select,.company-profile-form textarea,.portal-request-form input,.portal-request-form select,.portal-request-form textarea,.hr-decision-fields input,.hr-decision-fields select,.hr-decision-fields textarea,.request-response-content-v18 input,.request-response-content-v18 select,.request-response-content-v18 textarea{width:100%;height:42px;padding:0 11px;border:1px solid var(--line-strong)!important;border-radius:9px!important;color:#27374f!important;background:#fff!important;outline:0!important;box-shadow:none!important;transition:.15s ease}.field-box textarea,.form-field textarea,.settings-form textarea,.contract-form textarea,.letter-form textarea,.company-profile-form textarea,.portal-request-form textarea,.hr-decision-fields textarea,.request-response-content-v18 textarea{height:auto;min-height:100px;padding-top:10px;resize:vertical}.field-box input:focus,.field-box select:focus,.field-box textarea:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus,.contract-form input:focus,.contract-form select:focus,.contract-form textarea:focus,.letter-form input:focus,.letter-form select:focus,.letter-form textarea:focus,.company-profile-form input:focus,.company-profile-form select:focus,.company-profile-form textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)!important}.full-field{grid-column:1/-1}.field-error{margin-top:5px;color:#cc444c;font-size:12px}.has-error input,.has-error select,.has-error textarea{border-color:#e7a5aa!important;background:#fffafa!important}.form-errors,.global-form-errors,.contract-errors{margin:0 0 12px;padding:10px 12px;border:1px solid #f0d0d3;border-radius:10px;color:#b9474e;background:#fff5f6;font-size:12.5px}
.bank-grids{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bank-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.bank-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bank-card-head span{color:#8a96a7;font-size:12px}.bank-card-head b{font-size:13.5px}.form-grid.one-col{grid-template-columns:1fr}.file-input-shell{min-height:42px;position:relative;display:flex;align-items:center;padding:5px 8px;border:1px dashed #ccd7e3;border-radius:9px;background:#fafcfe}.file-input-shell input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-hint{color:#6d7b8e;font-size:12px}.sticky-save-bar,.modern-save-bar,.contract-save-bar,.letter-save-bar,.management-save-bar{position:sticky!important;bottom:10px!important;z-index:40!important;margin-top:14px!important;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 15px 38px rgba(25,45,70,.11)!important;backdrop-filter:blur(14px)!important}.save-bar-copy b,.save-bar-copy span{display:block}.save-bar-copy b{font-size:13.5px}.save-bar-copy span{margin-top:3px;color:#929cab;font-size:12px}.save-bar-actions{display:flex;align-items:center;gap:7px}

/* PROFILE / DETAIL */
.profile-card{padding:18px!important}.profile-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.profile-main{display:flex;align-items:center;gap:12px}.profile-avatar,.contract-avatar{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--blue));font-size:22px;font-weight:900}.profile-avatar img{width:100%;height:100%;object-fit:cover}.eyebrow{color:var(--accent);font-size:12px;font-weight:900}.profile-main h2{margin:4px 0;font-size:22px}.profile-main p{margin:0 0 7px;color:#7f8b9e;font-size:12.5px}.profile-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.detail-card{padding:16px!important}.detail-card h3,.detail-card-heading{margin:0 0 12px;font-size:15px}.detail-card dl{margin:0;display:grid;grid-template-columns:140px minmax(0,1fr)}.detail-card dt,.detail-card dd{margin:0;padding:8px 0;border-bottom:1px solid #eef2f6;font-size:12px}.detail-card dt{color:#8d98a9}.detail-card dd{color:#34445b;font-weight:800}.bank-detail{margin-top:12px}.neutral-note{padding:10px;border-radius:10px;color:#68778c;background:#f6f8fb;font-size:12px}.doc-list{display:grid;gap:6px}.doc-list a{min-height:37px;padding:0 10px;display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;color:#3d6dad;background:#fafcff;font-size:12px;font-weight:800}.employee-contract-links,.compact-contract-list{display:grid;gap:7px}.employee-contract-links a,.compact-contract-list a{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;font-size:12px}

/* CONTRACTS */
.contract-cards-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contract-record{position:relative;overflow:hidden;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.contract-record-status-line{position:absolute;right:0;top:0;bottom:0;width:4px;background:#8fa0b6}.contract-record-active .contract-record-status-line{background:#13a980}.contract-record-draft .contract-record-status-line{background:#e3a41e}.contract-record-main{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px}.contract-document-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#3977ea;background:#eef4ff;font-size:0}.contract-document-icon:before{content:'▤';font-size:22px}.contract-number-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.contract-number{color:#79869a;font-size:12px}.contract-identity h4{margin:6px 0 2px;font-size:14px}.employee-code-line{color:#99a3b2;font-size:12px}.contract-record-facts{margin-top:12px;padding-top:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;border-top:1px solid var(--line)}.contract-fact{padding:8px;border-radius:9px;background:#f8fafc}.contract-fact span,.contract-fact b{display:block}.contract-fact span{color:#929cac;font-size:12px}.contract-fact b{margin-top:4px;color:#35455c;font-size:12px}.contract-period-fact{grid-column:1/-1}.contract-period-fact em{font-style:normal;color:var(--accent)}.contract-record-actions{margin-top:11px;display:flex;align-items:center;gap:6px}.contract-view-btn{min-height:33px;padding:0 10px;display:inline-flex;align-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-dark));font-size:12px;font-weight:900}.contract-edit-btn{min-height:33px}.contract-form-layout,.letter-form-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.contract-form-guide,.letter-form-guide{align-self:start;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.guide-kicker{color:var(--accent);font-size:12px;font-weight:900}.guide-step,.letter-guide-step{padding:10px 0;display:flex;gap:8px;border-bottom:1px solid #eef2f6}.guide-step:last-child,.letter-guide-step:last-child{border-bottom:0}.guide-step>span,.letter-guide-step>span{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:900}.guide-step b,.guide-step small,.letter-guide-step b,.letter-guide-step small{display:block}.guide-step b,.letter-guide-step b{font-size:12px}.guide-step small,.letter-guide-step small{margin-top:3px;color:#929cab;font-size:12px;line-height:1.7}.guide-note{margin-top:10px;padding:9px;border-radius:9px;color:#68768a;background:#f7f9fc;font-size:12px;line-height:1.8}.contract-form-panels,.letter-form-panels{display:grid;gap:10px}.contract-panel,.letter-panel{padding:15px!important}.contract-panel-head,.letter-panel-head,.company-panel-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.contract-panel-index{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:900}.contract-panel-head h3,.letter-panel-head h3,.company-panel-head h3{margin:0;font-size:14px}.contract-main-grid,.letter-main-grid,.letter-recipient-grid,.company-main-grid,.company-info-grid,.brand-assets-grid,.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.contract-notes-field,.letter-description-field{grid-column:1/-1}.contract-file-drop,.letter-upload-shell,.brand-upload-shell{min-height:90px;position:relative;padding:14px;display:flex;align-items:center;gap:10px;border:1px dashed #cbd7e3;border-radius:11px;background:#fafcfe}.contract-file-drop input,.letter-upload-shell input,.brand-upload-shell input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:var(--accent-soft)}.upload-copy b,.upload-copy small{display:block}.upload-copy b{font-size:12.5px}.upload-copy small{margin-top:3px;color:#939dad;font-size:12px}.contract-profile-card{padding:16px!important}.contract-detail-grid,.letter-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.contract-notes-card,.related-contracts-card,.letter-detail-card{padding:16px!important}

/* CORRESPONDENCE */
.letter-log-list{display:grid;gap:8px}.letter-log-card{position:relative;overflow:hidden;display:grid;grid-template-columns:155px minmax(0,1fr) 235px auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.letter-status-rail{position:absolute;right:0;top:0;bottom:0;width:4px;background:#98a6b8}.letter-log-card.status-issued .letter-status-rail{background:#11a980}.letter-log-card.status-draft .letter-status-rail{background:#dda21b}.letter-log-card.status-archived .letter-status-rail{background:#7b8798}.letter-number-block small,.letter-number-block b{display:block}.letter-number-block small{color:#919bad;font-size:12px}.letter-number-block b{margin-top:4px;font-size:13.5px}.letter-main-copy h4{margin:0 0 4px;font-size:13.5px}.letter-meta-row{display:flex;align-items:center;gap:7px;color:#8994a6;font-size:12px}.letter-recipient-type{padding:0;border-radius:0;background:transparent}.letter-log-info{display:grid;grid-template-columns:1fr 1fr;gap:7px}.letter-log-info div{padding:7px;border-radius:8px;background:#f8fafc}.letter-log-info span,.letter-log-info b{display:block}.letter-log-info span{color:#939dae;font-size:12px}.letter-log-info b{margin-top:3px;font-size:12px}.letter-actions{display:flex;gap:5px}.letter-view-btn,.letter-edit-btn,.letter-file-btn,.letter-archive-btn{min-height:31px;padding:0 8px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:800}.letter-view-btn{color:#2e6dc6;background:#f2f6ff}.letter-archive-btn{color:#a97000;background:#fff8e8}.letter-detail-hero{padding:19px!important}.letter-detail-title-row{display:flex;align-items:center;gap:8px}.letter-status-badge{padding:5px 8px;border-radius:999px;font-size:12px;font-weight:900;background:#f1f4f8}.letter-detail-actions{display:flex;gap:6px}.letter-description-view{min-height:90px;padding:12px;border-radius:10px;background:#f8fafc;color:#5e6d82;font-size:12.5px;line-height:2}

/* MEMBERSHIP + REQUESTS */
.hr-membership-list,.hr-request-list{display:grid;gap:9px}.hr-membership-record,.hr-request-record{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(280px,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.membership-record-rail,.request-record-rail{position:absolute;right:0;top:0;bottom:0;width:4px;background:#98a6b8}.membership-person-block,.request-document-block{display:flex;align-items:center;gap:10px}.membership-avatar-pro,.request-document-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:var(--accent-soft);font-size:17px;font-weight:900}.membership-title-row{display:flex;align-items:center;gap:7px}.membership-person-copy h4,.request-document-block h4{margin:0;font-size:14px}.membership-username,.request-type-label{display:block;margin-top:4px;color:#929cab;font-size:12px}.membership-facts-grid,.request-facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.membership-facts-grid div,.request-facts-grid div{padding:7px;border-radius:8px;background:#f8fafc}.membership-facts-grid span,.membership-facts-grid b,.request-facts-grid span,.request-facts-grid b{display:block}.membership-facts-grid span,.request-facts-grid span{color:#96a0af;font-size:12px}.membership-facts-grid b,.request-facts-grid b{margin-top:3px;font-size:12px}.membership-match-card,.request-status-panel{padding:9px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.membership-record-actions,.request-record-actions{display:flex;gap:6px}.hr-review-summary,.request-summary{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:8px}.hr-review-summary div,.request-summary div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.hr-review-summary span,.hr-review-summary b,.request-summary span,.request-summary b{display:block}.hr-review-summary span,.request-summary span{color:#929dac;font-size:12px}.hr-review-summary b,.request-summary b{margin-top:4px;font-size:12.5px}.hr-review-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.hr-review-data-card{padding:16px!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;background:#fff!important;box-shadow:var(--shadow-sm)!important}.hr-review-card-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.hr-review-card-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.hr-review-data-grid,.request-data-grid-v18{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.hr-review-data-grid div,.request-data-grid-v18 div{padding:9px;border-radius:9px;background:#f8fafc}.hr-review-data-grid span,.hr-review-data-grid b,.request-data-grid-v18 span,.request-data-grid-v18 b{display:block}.hr-review-data-grid span,.request-data-grid-v18 span{color:#929cad;font-size:12px}.hr-review-data-grid b,.request-data-grid-v18 b{margin-top:4px;font-size:12px}.hr-decision-workspace{margin-top:12px;padding:16px!important}.hr-decision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.hr-decision-option{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.decision-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft);font-size:17px}.hr-request-detail-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:12px;margin-top:12px}.hr-request-detail-card-v18,.hr-request-response-card-v18{padding:16px!important}.description-head{margin-bottom:7px;color:#65748a;font-size:12px;font-weight:900}.hr-request-description-v18{padding:12px;border-radius:10px;background:#f8fafc;color:#536277;font-size:12.5px;line-height:2}

/* SETTINGS + COMPANY */
.settings-home{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-card{min-height:135px;padding:14px!important;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px}.settings-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:var(--accent-soft);font-size:19px}.settings-meta h3{margin:2px 0 5px;font-size:14px}.settings-meta p{margin:0;color:#8d98a8;font-size:12px;line-height:1.8}.settings-tabs{margin:0 0 12px;padding:6px;display:flex;gap:5px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}.settings-tabs a{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;border-radius:8px;color:#69778b;font-size:12px;font-weight:800;white-space:nowrap}.settings-tabs a.active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-dark))}.settings-list,.settings-form{padding:16px!important}.company-profile-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px}.brand-preview-card{align-self:start;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow-sm)}.brand-preview-logo,.brand-preview-initial{width:88px;height:88px;margin:0 auto 12px;display:grid;place-items:center;border-radius:22px;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--accent),var(--blue));font-size:31px;font-weight:900}.brand-preview-logo img{width:100%;height:100%;object-fit:contain;padding:8px}.company-panel{padding:16px!important}.brand-assets-grid{margin-top:4px}

/* FUTURE MODULES */
.v20-future-card{margin-top:14px}.v20-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.v20-feature-grid article{min-height:115px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.v20-feature-grid article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:900}.v20-feature-grid b,.v20-feature-grid small{display:block}.v20-feature-grid b{margin-top:9px;font-size:13px}.v20-feature-grid small{margin-top:5px;color:#929cad;font-size:12px;line-height:1.8}

/* v68 — Payroll development status */
.v68-payroll-status{margin-top:14px;padding:16px 18px;display:flex;align-items:center;gap:13px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 78%,#fff),#fff);box-shadow:var(--shadow-sm)}
.v68-payroll-status-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:13px;color:var(--accent);background:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 12%,transparent)}
.v68-payroll-status-icon .ui-icon{width:22px;height:22px}
.v68-payroll-status-copy{min-width:0}.v68-payroll-status-copy strong,.v68-payroll-status-copy span{display:block}.v68-payroll-status-copy strong{color:#2d2343;font-size:14px;font-weight:900}.v68-payroll-status-copy span{margin-top:3px;color:#766c88;font-size:13px;line-height:1.9}

/* LOGIN */
.v20-auth-body{min-height:100vh;background:#eef2f7}.v20-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(460px,.9fr) minmax(500px,1.1fr);direction:rtl}.v20-auth-brand{position:relative;overflow:hidden;padding:42px 48px;color:#fff;background:radial-gradient(circle at 10% 20%,rgba(28,184,157,.22),transparent 27rem),linear-gradient(145deg,#06172b,#0a2944)}.v20-auth-brand:after{content:'';position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.05);border-radius:50%;left:-180px;bottom:-240px}.v20-auth-brand-top{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.v20-auth-logo{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}.v20-auth-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.v20-auth-initial{font-size:23px;font-weight:900;background:linear-gradient(135deg,#19b79b,#3977ea)}.v20-auth-brand-top strong,.v20-auth-brand-top small{display:block}.v20-auth-brand-top strong{font-size:16px}.v20-auth-brand-top small{margin-top:4px;color:#8fa4be;font-size:12px}.v20-auth-hero{position:relative;z-index:1;max-width:610px;margin-top:90px}.v20-auth-kicker{display:inline-flex;align-items:center;gap:6px;color:#a8b9cc;font-size:12px;font-weight:800}.v20-auth-kicker i{width:6px;height:6px;border-radius:50%;background:#2bd2b2;box-shadow:0 0 0 5px rgba(43,210,178,.09)}.v20-auth-hero h1{margin:13px 0 12px;font-size:36px;line-height:1.8}.v20-auth-hero p{max-width:570px;margin:0;color:#9eb1c7;font-size:14px;line-height:2.1}.v20-auth-modules{position:relative;z-index:1;margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.v20-auth-modules div{padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035)}.v20-auth-modules>div>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#55dcc5;background:rgba(24,181,154,.1)}.v20-auth-modules .ui-icon{width:18px;height:18px}.v20-auth-modules b,.v20-auth-modules small{display:block}.v20-auth-modules b{margin-top:9px;font-size:13px}.v20-auth-modules small{margin-top:4px;color:#7890aa;font-size:12px;line-height:1.7}.v20-auth-foot{position:absolute;right:48px;left:48px;bottom:28px;z-index:1;display:flex;justify-content:space-between;color:#607995;font-size:12px}.v20-auth-foot span:last-child{display:flex;align-items:center;gap:6px}.v20-auth-foot i{width:6px;height:6px;border-radius:50%;background:#2ac8a9}
.v20-auth-form-side{padding:35px;display:grid;place-items:center;background:linear-gradient(145deg,#f8fafc,#edf2f7)}.v20-auth-card{width:min(460px,100%);padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 22px 55px rgba(24,47,77,.09)}.v20-auth-card-head{text-align:center}.v20-auth-lock{width:52px;height:52px;margin:0 auto 11px;display:grid;place-items:center;border-radius:15px;color:var(--teal);background:#eaf9f6}.v20-auth-lock .ui-icon{width:25px;height:25px}.v20-auth-card-head small{color:var(--teal);font-size:12px;font-weight:900}.v20-auth-card-head h2{margin:5px 0 5px;font-size:24px}.v20-auth-card-head p{margin:0;color:#8a95a7;font-size:12px}.v20-auth-alert{margin-top:13px;padding:9px 10px;border:1px solid #f0d3d6;border-radius:9px;color:#b8484e;background:#fff5f6;font-size:12px}.v20-auth-alert.warning{color:#926500;background:#fff9e9;border-color:#eee0ba}.v20-auth-form{margin-top:20px;display:grid;gap:12px}.v20-auth-form label>span{display:block;margin-bottom:6px;color:#56657b;font-size:12px;font-weight:900}.v20-auth-form label>div{height:44px;display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:10px;background:#fff;overflow:hidden}.v20-auth-form label i{width:42px;display:grid;place-items:center;color:#8797aa}.v20-auth-form label i .ui-icon{width:17px;height:17px}.v20-auth-form input{flex:1;height:100%;border:0;outline:0;padding:0 0 0 10px;color:#29384e;background:transparent}.v20-auth-form button{height:45px;margin-top:2px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#0ca789,#087e6b);box-shadow:0 10px 22px rgba(12,167,137,.2);font-size:13.5px;font-weight:900}.v20-register-box{margin-top:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e3eaf1;border-radius:11px;background:#f8fafc}.v20-register-box b,.v20-register-box span{display:block}.v20-register-box b{font-size:12.5px}.v20-register-box span{margin-top:3px;color:#929cad;font-size:12px;line-height:1.7}.v20-register-box a{flex:0 0 auto;padding:7px 9px;border-radius:8px;color:#087d68;background:#e7f8f4;font-size:12px;font-weight:900}.v20-auth-note{margin-top:12px;text-align:center;color:#8b96a7;font-size:12px}.v20-auth-note span{color:#0ca789}

/* REGISTRATION + SUCCESS */
.portal-public-page,.success-public-page{min-height:100vh;background:#f2f5f9}.registration-stage{min-height:100vh;display:grid;grid-template-columns:minmax(400px,.78fr) minmax(620px,1.22fr);direction:rtl}.registration-brand-panel{position:relative;padding:35px 38px;color:#fff;background:linear-gradient(155deg,#06172b,#0a2944)}.registration-back{display:inline-flex;color:#96abc2;font-size:12px}.registration-brand{margin-top:25px;display:flex;align-items:center;gap:9px}.registration-brand>span{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:linear-gradient(135deg,#0ca789,#3977ea)}.registration-brand img{width:100%;height:100%;object-fit:contain;padding:4px}.registration-brand small,.registration-brand strong{display:block}.registration-brand small{color:#8097b2;font-size:12px}.registration-brand strong{margin-top:3px;font-size:13.5px}.registration-hero{margin-top:60px}.registration-badge{display:inline-flex;padding:5px 8px;border-radius:999px;color:#58dec7;background:rgba(12,167,137,.12);font-size:12px;font-weight:900}.registration-hero h1{margin:12px 0 9px;font-size:32px}.registration-hero p{margin:0;color:#98acc2;font-size:13px;line-height:2.1}.registration-flow{margin-top:30px;display:grid;gap:8px}.registration-flow>div{padding:10px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025)}.registration-flow>div>b{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#54ddc5;background:rgba(12,167,137,.12);font-size:12px}.registration-flow strong,.registration-flow small{display:block}.registration-flow strong{font-size:12px}.registration-flow small{margin-top:3px;color:#758da8;font-size:12px}.registration-form-panel{padding:30px;display:grid;place-items:center}.registration-card{width:min(760px,100%);padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.registration-card-head span{color:var(--teal);font-size:12px;font-weight:900}.registration-card-head h2{margin:4px 0;font-size:20px}.registration-card-head p{margin:0;color:#8c97a8;font-size:12px}.registration-section-title{margin:18px 0 9px;padding-bottom:7px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.registration-section-title>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;color:#0b9178;background:#eaf9f6;font-size:12px;font-weight:900}.registration-section-title b,.registration-section-title small{display:block}.registration-section-title b{font-size:12.5px}.registration-section-title small{margin-top:2px;color:#97a1b0;font-size:12px}.registration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.registration-privacy{margin-top:14px;padding:10px;display:flex;align-items:flex-start;gap:7px;border-radius:10px;color:#5f6f83;background:#f5f8fb;font-size:12px;line-height:1.9}.registration-privacy span{color:#0ca789;font-weight:900}.registration-privacy p{margin:0}.registration-submit{width:100%;margin-top:12px;justify-content:space-between!important}.registration-login-link{margin-top:12px;text-align:center;color:#8d97a6;font-size:12px}.registration-login-link a{color:#0b8f77;font-weight:900}.registration-success-card{width:min(560px,calc(100% - 30px));margin:70px auto;padding:28px;text-align:center;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.success-mark{width:62px;height:62px;margin:0 auto 12px;display:grid;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,#12b28e,#07836f);font-size:34px}.success-eyebrow{color:#0b9278;font-size:12px;font-weight:900}.registration-success-card h1{margin:10px 0 12px;font-size:24px;line-height:1.55}.registration-success-card>p{max-width:470px;margin:0 auto 20px;color:#6f7d90;line-height:2;font-size:15px}.success-summary{margin:18px 0 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.success-summary div{padding:14px 16px;border-radius:12px;background:#f8fafc}.success-summary-item{display:grid;gap:8px;align-content:start}.success-summary-item small{display:block;color:#7b8798;line-height:1.7}.success-summary-item b{display:block;line-height:1.8;font-size:16px}.success-notice{padding:11px;border-radius:10px;color:#7b6500;background:#fff9e8;font-size:12px;line-height:1.9}.registration-success-action{margin-top:14px}

/* EMPLOYEE PORTAL */
.v20-portal-body{background:#f4f7fb}.v20-portal-shell{min-height:100vh}.v20-portal-topbar{height:72px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 4px 18px rgba(31,52,77,.025)}.v20-portal-brand{display:flex;align-items:center;gap:9px}.v20-portal-brand>span{width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border-radius:11px;color:#fff;background:linear-gradient(135deg,#0ca789,#3977ea);font-weight:900}.v20-portal-brand img{width:100%;height:100%;object-fit:contain;padding:4px}.v20-portal-brand small,.v20-portal-brand strong{display:block}.v20-portal-brand small{color:#8e99aa;font-size:12px}.v20-portal-brand strong{margin-top:3px;font-size:13.5px}.v20-portal-topbar nav{display:flex;align-items:center;gap:6px}.v20-portal-topbar nav a{min-height:36px;padding:0 10px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px;color:#607087;background:#fff;font-size:12px;font-weight:800}.v20-portal-topbar nav .v20-portal-logout{color:#c6464d;background:#fff5f5}.v20-portal-content{max-width:1380px;margin:0 auto;padding:24px}.portal-welcome-card{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #dfeeea;border-radius:20px;background:linear-gradient(135deg,#fff,#edf9f6);box-shadow:var(--shadow-sm)}.portal-eyebrow{color:#0b9078;font-size:12px;font-weight:900}.portal-welcome-card h1{margin:6px 0 5px;font-size:24px}.portal-welcome-card p{margin:0;color:#768397;font-size:13px}.portal-person-badge{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #dfebe8;border-radius:12px;background:#fff}.portal-person-badge>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,#0ca789,#3977ea);font-weight:900}.portal-person-badge small,.portal-person-badge b{display:block}.portal-person-badge small{color:#95a0af;font-size:12px}.portal-person-badge b{margin-top:3px;font-size:13.5px}.portal-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.portal-feature-card{min-height:130px;padding:14px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.portal-feature-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:#0b9178;background:#eaf9f6}.portal-feature-card small,.portal-feature-card h3,.portal-feature-card p,.portal-feature-card strong{display:block}.portal-feature-card small{color:#96a0af;font-size:12px}.portal-feature-card h3{margin:4px 0;font-size:13.5px}.portal-feature-card p{margin:0;color:#7f8b9d;font-size:12px;line-height:1.8}.portal-feature-card strong{grid-column:1/-1;color:#0b8f76;font-size:12px}.portal-two-column{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.portal-panel{padding:16px!important}.portal-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}.portal-panel-head small{color:#929dad;font-size:12px}.portal-panel-head h2{margin:3px 0 0;font-size:15px}.portal-panel-head a{color:#0b8f76;font-size:12px;font-weight:900}.verified-chip{padding:5px 7px;border-radius:999px;color:#087c61;background:#eaf9f4;font-size:12px;font-weight:900}.portal-profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.portal-profile-grid div{padding:9px;border-radius:9px;background:#f8fafc}.portal-profile-grid small,.portal-profile-grid b{display:block}.portal-profile-grid small{color:#98a2b1;font-size:12px}.portal-profile-grid b{margin-top:4px;font-size:12px}.portal-request-list{display:grid;gap:7px}.portal-request-list>div{padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px}.portal-request-list b,.portal-request-list small{display:block}.portal-request-list b{font-size:12px}.portal-request-list small{margin-top:3px;color:#98a2b1;font-size:12px}.portal-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca6b5}.portal-empty h3{margin:6px 0 3px;font-size:13.5px}.portal-empty p{margin:0;font-size:12px}.portal-form-wrap{max-width:780px;margin:0 auto;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.portal-form-heading h1{margin:5px 0;font-size:22px}.portal-form-heading p{margin:0;color:#8995a7;font-size:12px}.portal-request-form{margin-top:14px;display:grid;gap:11px}

/* CONFIRM / DELETE */
.confirm-card,.delete-card,.status-confirm-card{max-width:660px;margin:40px auto;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:center}.confirm-icon{width:58px;height:58px;margin:0 auto 12px;display:grid;place-items:center;border-radius:16px;color:#c94b51;background:#fff0f1;font-size:28px}.confirm-card h2,.delete-card h2,.status-confirm-card h2{margin:0 0 7px;font-size:22px}.confirm-card p,.delete-card p,.status-confirm-card p{margin:0;color:#7b889b;font-size:12.5px;line-height:2}.confirm-note{margin-top:12px;padding:10px;border-radius:10px;color:#786100;background:#fff9e9;font-size:12px}.confirm-actions,.delete-actions,.form-actions,.top-actions{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}

/* RESPONSIVE */
@media(max-width:1280px){:root{--sidebar:265px}.v20-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v20-stats-grid{grid-template-columns:repeat(2,1fr)}.v20-quick-access{grid-template-columns:140px repeat(3,1fr)}.contract-cards-list{grid-template-columns:repeat(2,1fr)}.letter-log-card{grid-template-columns:130px minmax(0,1fr) auto}.letter-log-info{display:none}.hr-membership-record,.hr-request-record{grid-template-columns:minmax(230px,1fr) minmax(250px,1fr)}.membership-record-actions,.request-record-actions{grid-column:1/-1}}
@media(max-width:980px){.v20-app{display:block}.v20-sidebar{position:fixed;right:0;top:0;width:285px;height:100vh;transform:translateX(105%);transition:.22s ease;box-shadow:-18px 0 40px rgba(7,24,44,.2)}.v20-sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-backdrop{position:fixed;inset:0;z-index:110;background:rgba(8,21,37,.45);backdrop-filter:blur(2px)}.sidebar-backdrop.show{display:block}.v20-mobile-menu{display:block}.v20-main{padding:18px}.v20-dashboard-grid,.v20-lower-grid{grid-template-columns:1fr}.v20-quick-access{grid-template-columns:repeat(3,1fr)}.v20-quick-heading{grid-column:1/-1;border-left:0;border-bottom:1px solid var(--line)}.hr-module-hero,.correspondence-hero,.management-hero,.v20-module-banner,.hr-review-hero{grid-template-columns:1fr!important}.hr-metric-grid,.correspondence-metrics,.membership-metrics,.requests-metrics{grid-template-columns:repeat(2,1fr)!important}.people-metrics{grid-template-columns:repeat(3,1fr)!important}.form-section,.modern-form-section{grid-template-columns:1fr!important}.section-side{border-left:0!important;border-bottom:1px solid var(--line)!important}.form-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}.contract-form-layout,.letter-form-layout,.company-profile-layout,.hr-request-detail-layout{grid-template-columns:1fr}.contract-form-guide,.letter-form-guide{display:none}.contract-cards-list{grid-template-columns:1fr 1fr}.hr-review-comparison{grid-template-columns:1fr}.v20-auth-shell,.registration-stage{grid-template-columns:1fr}.v20-auth-brand{min-height:470px}.v20-auth-hero{margin-top:50px}.v20-auth-foot{position:static;margin-top:35px}.registration-brand-panel{min-height:500px}.detail-grid,.contract-detail-grid,.letter-detail-grid,.portal-two-column{grid-template-columns:1fr}}
@media(max-width:680px){.v20-topbar{padding:0 12px}.v20-date-box,.v20-top-user{display:none}.v20-main{padding:13px}.v20-footer{flex-direction:column}.v20-welcome-row{flex-direction:column}.v20-stats-grid{grid-template-columns:1fr}.v20-stat-card{min-height:110px}.v20-dashboard-grid>.v20-card{min-height:auto}.v20-chart-content{height:auto;padding:15px 0;flex-direction:column}.v20-priority-grid{grid-template-columns:repeat(2,1fr)}.v20-quick-access{grid-template-columns:repeat(2,1fr)}.form-section-nav{grid-template-columns:repeat(2,1fr)}.form-grid,.contact-grid,.bank-grids,.contract-main-grid,.letter-main-grid,.letter-recipient-grid,.company-main-grid,.company-info-grid,.brand-assets-grid,.settings-form-grid,.registration-grid,.portal-overview-grid,.portal-profile-grid,.hr-decision-grid,.hr-review-data-grid,.request-data-grid-v18{grid-template-columns:1fr}.sticky-save-bar,.modern-save-bar,.contract-save-bar,.letter-save-bar,.management-save-bar{position:static!important;flex-direction:column;align-items:stretch!important}.save-bar-actions{width:100%}.save-bar-actions>*{flex:1}.contract-cards-list{grid-template-columns:1fr}.letter-log-card{grid-template-columns:1fr;padding-right:18px}.letter-actions{margin-top:7px}.hr-membership-record,.hr-request-record{grid-template-columns:1fr;padding-right:18px}.membership-record-actions,.request-record-actions{grid-column:auto}.profile-top{align-items:flex-start;flex-direction:column}.detail-card dl{grid-template-columns:1fr}.detail-card dt{padding-bottom:2px;border-bottom:0}.detail-card dd{padding-top:2px}.settings-grid,.v20-feature-grid{grid-template-columns:1fr}.v20-auth-form-side{padding:18px}.v20-auth-card{padding:20px}.v20-auth-brand{padding:28px 24px}.v20-auth-hero h1{font-size:30px}.v20-auth-modules{grid-template-columns:1fr}.registration-form-panel{padding:16px}.registration-card{padding:17px}.v20-portal-topbar{height:auto;padding:12px;align-items:flex-start;flex-direction:column}.v20-portal-content{padding:14px}.portal-welcome-card{align-items:flex-start;flex-direction:column}.portal-two-column{grid-template-columns:1fr}.hr-review-summary,.request-summary{grid-template-columns:1fr}.v20-auth-foot{right:24px;left:24px}}

/* Final coverage for detail headers and secondary structures */
.page-header,.compact-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.page-header h2,.compact-header h2{margin:4px 0 5px;font-size:22px}.page-header p,.compact-header p{max-width:820px;margin:0;color:#7f8b9d;font-size:12.5px;line-height:1.9}.settings-meta{margin-top:10px;display:flex;gap:6px}.settings-meta span{padding:4px 6px;border-radius:999px;color:#6b7a8f;background:#f2f5f8;font-size:12px;font-weight:800}.settings-icon .ui-icon,.section-icon .ui-icon{width:20px;height:20px}.permission-note{padding:9px 10px;border:1px solid #e2e9f0;border-radius:9px;color:#66758a;background:#f7f9fc;font-size:12px;line-height:1.8}.danger-eyebrow{color:#c84a50!important}.form-error-banner{margin:12px 0;padding:10px 11px;border:1px solid #f0d1d4;border-radius:9px;color:#b8464d;background:#fff5f6;font-size:12px}.pending-text{color:#ae7700!important}.compact-empty{padding:12px;border:1px dashed #dce4ed;border-radius:10px;color:#909bac;background:#fbfcfe;text-align:center;font-size:12px}.inline-action{display:inline-flex!important}.full-card{grid-column:1/-1}.wide-field{grid-column:1/-1}.check-field{display:flex;align-items:center;gap:8px}.check-field label{margin:0!important}.check-field input{width:18px!important;height:18px!important}.single-setting-section>.form-grid{padding:18px}.single-setting-section{grid-template-columns:190px minmax(0,1fr)!important}.letter-detail-hero{padding:18px 20px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line));border-radius:var(--r-lg);background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--accent-soft) 60%,#fff));box-shadow:var(--shadow-sm)}.letter-detail-symbol{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;color:var(--accent);background:#fff;box-shadow:var(--shadow-sm)}.letter-detail-symbol .ui-icon{width:25px;height:25px}.letter-detail-main h2{margin:5px 0 4px;font-size:20px}.letter-detail-main p{margin:0;color:#78869a;font-size:12px}.letter-detail-card{padding:16px!important}.detail-card-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.detail-card-head>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:900}.detail-card-head h3{margin:0;font-size:13.5px}.detail-card-head p{margin:2px 0 0;color:#939dac;font-size:12px}.letter-detail-card dl{margin:0;display:grid;grid-template-columns:135px minmax(0,1fr)}.letter-detail-card dt,.letter-detail-card dd{margin:0;padding:8px 0;border-bottom:1px solid #eef2f6;font-size:12px}.letter-detail-card dt{color:#8d98a8}.letter-detail-card dd{color:#35455c;font-weight:800}.hr-kicker-icon,.match-card-icon,.completed-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.hr-hero-assurance,.request-flow-assurance{padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));border-radius:10px;color:#68768a;background:rgba(255,255,255,.8);font-size:12px}.hr-inline-link,.preview-link{color:#3572c6;font-size:12px;font-weight:900}.hr-no-match-state,.hr-review-completed{padding:16px;border:1px dashed #d8e2eb;border-radius:11px;background:#fbfcfe;color:#7f8b9d;text-align:center}.request-person-line{margin-top:4px;color:#8d98aa;font-size:12px}.request-detail-content-v18,.request-response-content-v18{display:grid;gap:11px}.request-response-content-v18 .hr-request-save-btn{width:100%}.request-response-content-v18 .hr-request-save-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.hr-review-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.hr-empty-svg svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.5}.contract-document-icon .ui-icon{width:19px;height:19px}.contract-document-icon:before{display:none}.employee-contract-card{margin-top:12px}.brand-assets-panel{grid-column:1/-1}.favicon-upload-shell{min-height:90px}.archive-confirm-card .confirm-icon{color:var(--accent-dark);background:var(--accent-soft)}.preview-disabled{opacity:.72}.request-link{transition:.18s ease}.request-link:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
@media(max-width:680px){.letter-detail-hero{grid-template-columns:1fr}.letter-detail-actions{flex-wrap:wrap}.letter-detail-card dl{grid-template-columns:1fr}.letter-detail-card dt{padding-bottom:2px;border-bottom:0}.letter-detail-card dd{padding-top:2px}.single-setting-section{grid-template-columns:1fr!important}.single-setting-section>.form-grid{padding:14px}}


/* ========================================================================
   V21 — readable typography + centered single-card authentication pages
   ======================================================================== */
html{font-size:16px}
body{font-size:16px;line-height:1.65}

/* Ensure tiny utility text from legacy components never becomes unreadable. */
.v20-content small,.v20-sidebar small,.v20-topbar small,.v20-card small,
.hr-module-shell small,.portal-shell small,.settings-shell small{line-height:1.7}

/* Authentication background shared by login and registration. */
.v21-auth-page{
    min-height:100vh;
    margin:0;
    overflow-x:hidden;
    display:grid;
    place-items:center;
    padding:36px 20px;
    background:
      radial-gradient(circle at 12% 18%,rgba(20,184,159,.18),transparent 24rem),
      radial-gradient(circle at 88% 82%,rgba(61,116,234,.16),transparent 26rem),
      linear-gradient(145deg,#07182c 0%,#0a2944 46%,#f3f7fb 46%,#edf3f8 100%);
    position:relative;
}
.v21-auth-page:before,.v21-auth-page:after{
    content:'';
    position:fixed;
    border-radius:50%;
    pointer-events:none;
    border:1px solid rgba(255,255,255,.09);
}
.v21-auth-page:before{width:420px;height:420px;right:-180px;top:-190px}
.v21-auth-page:after{width:520px;height:520px;left:-250px;bottom:-280px;border-color:rgba(7,24,44,.07)}

.v21-auth-card{
    width:min(520px,100%);
    position:relative;
    z-index:2;
    padding:34px;
    border:1px solid rgba(218,228,238,.95);
    border-radius:24px;
    background:rgba(255,255,255,.98);
    box-shadow:0 28px 80px rgba(7,24,44,.22);
    backdrop-filter:blur(18px);
}
.v21-register-card{width:min(900px,100%);padding:34px 38px}
.v21-auth-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:22px;
    text-align:right;
}
.v21-auth-logo{
    width:58px;height:58px;flex:0 0 58px;
    display:grid;place-items:center;overflow:hidden;
    border-radius:17px;
    color:#fff;
    background:linear-gradient(135deg,#11ae91,#3d74ea);
    box-shadow:0 12px 28px rgba(12,167,137,.22);
    font-size:24px;font-weight:900;
}
.v21-auth-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.v21-auth-brand strong,.v21-auth-brand small{display:block}
.v21-auth-brand strong{font-size:18px;color:#17263b;font-weight:900}
.v21-auth-brand small{margin-top:3px;font-size:13px;color:#8390a3}
.v21-auth-head{text-align:center;margin-bottom:24px}
.v21-auth-eyebrow{
    display:inline-flex;align-items:center;gap:7px;
    padding:7px 11px;border-radius:999px;
    color:#087d68;background:#e9f9f5;
    font-size:13px;font-weight:900;
}
.v21-auth-eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:#13ad8f;box-shadow:0 0 0 5px rgba(19,173,143,.1)}
.v21-auth-head h1{margin:12px 0 7px;font-size:28px;line-height:1.35;color:#15243a}
.v21-auth-head p{max-width:640px;margin:0 auto;color:#78869a;font-size:15px;line-height:1.9}
.v21-auth-alert{margin:0 0 16px;padding:12px 14px;border:1px solid #f0d3d6;border-radius:12px;color:#b8484e;background:#fff5f6;font-size:14px}
.v21-auth-alert.warning{color:#926500;background:#fff9e9;border-color:#eee0ba}

.v21-auth-form{display:grid;gap:16px}
.v21-field>label{display:block;margin-bottom:7px;color:#475870;font-size:14px;font-weight:900}
.v21-field>label em{margin-right:3px;color:#d84d55;font-style:normal}
.v21-input-wrap{
    min-height:52px;display:flex;align-items:center;
    border:1px solid #d8e1ea;border-radius:13px;background:#fff;
    overflow:hidden;transition:.18s ease;
}
.v21-input-wrap:focus-within{border-color:#13a98c;box-shadow:0 0 0 4px rgba(19,169,140,.1)}
.v21-input-wrap>i{width:48px;display:grid;place-items:center;color:#8191a5}
.v21-input-wrap>i .ui-icon{width:20px;height:20px}
.v21-input-wrap input,.v21-input-wrap select,.v21-input-wrap textarea{
    flex:1;width:100%;min-height:50px;padding:0 12px;border:0;outline:0;background:transparent;color:#24354c;font-size:16px
}
.v21-auth-submit{
    width:100%;min-height:52px;margin-top:2px;padding:0 16px;
    display:flex;align-items:center;justify-content:space-between;
    border:0;border-radius:13px;color:#fff;
    background:linear-gradient(135deg,#0ca789,#087b69);
    box-shadow:0 13px 28px rgba(12,167,137,.24);
    font-size:16px;font-weight:900;cursor:pointer;transition:.18s ease;
}
.v21-auth-submit:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(12,167,137,.28)}
.v21-auth-submit b{font-size:21px}
.v21-auth-switch{
    margin-top:18px;padding:15px;
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    border:1px solid #e2e9f0;border-radius:13px;background:#f8fafc;
}
.v21-auth-switch b,.v21-auth-switch span{display:block}
.v21-auth-switch b{font-size:14px;color:#24354c}
.v21-auth-switch span{margin-top:3px;color:#8794a6;font-size:12px;line-height:1.8}
.v21-auth-switch a{
    flex:0 0 auto;min-height:38px;padding:0 12px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:10px;color:#087d68;background:#e8f8f4;
    font-size:13px;font-weight:900;
}
.v21-back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;color:#64758a;font-size:13px;font-weight:800}
.v21-back-link:hover{color:#0b8f77}

/* Registration: same centered card, no second side panel. */
.v21-register-intro{margin-bottom:22px;text-align:center}
.v21-register-flow{
    margin:18px 0 24px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.v21-register-flow>div{
    min-height:88px;padding:12px;
    display:flex;align-items:center;gap:10px;
    border:1px solid #e3eaf1;border-radius:13px;background:#f8fafc;
}
.v21-register-flow b{
    width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;
    border-radius:10px;color:#087d68;background:#e8f8f4;font-size:14px
}
.v21-register-flow strong,.v21-register-flow small{display:block}
.v21-register-flow strong{font-size:14px;color:#2a3a50}
.v21-register-flow small{margin-top:3px;color:#8a96a7;font-size:12px;line-height:1.65}
.v21-register-section{margin:22px 0 12px;padding-bottom:9px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #e8edf2}
.v21-register-section>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#087d68;background:#e8f8f4;font-size:13px;font-weight:900}
.v21-register-section b,.v21-register-section small{display:block}
.v21-register-section b{font-size:15px;color:#2a3a50}
.v21-register-section small{margin-top:2px;color:#929eae;font-size:12px}
.v21-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v21-register-grid .form-field label{display:block;margin-bottom:7px;color:#475870;font-size:14px;font-weight:900}
.v21-register-grid .form-field label em{margin-right:3px;color:#d84d55;font-style:normal}
.v21-register-grid input,.v21-register-grid select,.v21-register-grid textarea{
    width:100%;min-height:50px;padding:0 13px;border:1px solid #d8e1ea;border-radius:12px;outline:0;background:#fff;color:#24354c;font-size:16px;transition:.18s ease
}
.v21-register-grid input:focus,.v21-register-grid select:focus,.v21-register-grid textarea:focus{border-color:#13a98c;box-shadow:0 0 0 4px rgba(19,169,140,.1)}
.v21-register-grid .field-error{display:block;margin-top:5px;color:#c54850;font-size:12px}
.v21-register-login{margin-top:16px;text-align:center;color:#8490a1;font-size:13px}
.v21-register-login a{color:#0b8f77;font-weight:900}

@media(max-width:760px){
    .v21-auth-page{padding:18px 12px;background:linear-gradient(160deg,#07182c 0,#0a2944 27%,#eef3f8 27%,#eef3f8 100%)}
    .v21-auth-card,.v21-register-card{padding:22px 18px;border-radius:19px}
    .v21-auth-head h1{font-size:24px}
    .v21-register-flow,.v21-register-grid{grid-template-columns:1fr}
    .v21-auth-switch{align-items:stretch;flex-direction:column}
    .v21-auth-switch a{width:100%}
}

/* v22 - Unified employee membership UI */
.portal-membership-hero{--accent:#0b9b83;--accent-soft:#eaf9f5;background:linear-gradient(135deg,#ffffff 0%,#f7fffd 52%,#eefaf7 100%);border-color:#dcefe9}
.portal-membership-hero .hr-kicker-icon{color:#0b8f77;background:#e5f8f3}
.portal-membership-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.portal-membership-workspace{overflow:hidden}
.portal-membership-filter{margin-bottom:16px}
.portal-membership-table-wrap{border:1px solid #e7edf3;border-radius:16px;overflow:auto;background:#fff}
.portal-membership-table{min-width:1040px}
.portal-membership-table th{white-space:nowrap}
.portal-membership-table td{vertical-align:middle}
.membership-person-cell .person-mini-avatar{background:linear-gradient(135deg,#e9faf6,#d8f4ec);color:#087a69;border:1px solid #c8eae1}
.membership-contact-cell,.membership-date-cell{display:grid;gap:4px}
.membership-contact-cell b,.membership-date-cell b{font-size:14px;color:#26374d}
.membership-contact-cell span,.membership-date-cell span{font-size:12.5px;color:#8793a4}
.membership-match-cell{display:flex;align-items:flex-start;gap:10px;min-width:210px}
.membership-match-dot{width:10px;height:10px;margin-top:6px;flex:0 0 auto;border-radius:50%;background:#aab5c3;box-shadow:0 0 0 4px #f0f3f6}
.membership-match-cell>div{display:grid;gap:3px}
.membership-match-cell b{font-size:13.5px;color:#34455b}
.membership-match-cell span{font-size:12px;color:#8895a6;line-height:1.7}
.membership-match-cell.match-exact .membership-match-dot{background:#12a887;box-shadow:0 0 0 4px #e1f7f1}
.membership-match-cell.match-exact b{color:#087a69}
.membership-match-cell.match-probable .membership-match-dot{background:#e3a313;box-shadow:0 0 0 4px #fff5d9}
.membership-match-cell.match-probable b{color:#9a6a00}
.membership-match-cell.match-none .membership-match-dot{background:#d36a73;box-shadow:0 0 0 4px #fdecef}
.membership-match-cell.match-none b{color:#ae4650}
.membership-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:104px;padding:7px 11px;border-radius:999px;font-size:12.5px;font-weight:900;white-space:nowrap;border:1px solid transparent}
.membership-status-badge.status-pending{color:#9b6a00;background:#fff7df;border-color:#f3df9f}
.membership-status-badge.status-approved{color:#087a69;background:#e8f8f3;border-color:#c7e9df}
.membership-status-badge.status-rejected{color:#b14550;background:#fff0f1;border-color:#f1cfd3}
.portal-membership-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:190px}
.portal-membership-actions .action-btn{width:auto;min-width:88px;height:36px;padding:0 11px;border-radius:9px;text-decoration:none}
.portal-membership-actions .action-text{display:inline;font-size:12.5px;font-weight:900;white-space:nowrap}
.portal-membership-actions .membership-review-btn{color:#fff;background:#0b8f77;border:1px solid #0b8f77;box-shadow:0 5px 12px rgba(11,143,119,.16)}
.portal-membership-actions .membership-review-btn:hover{background:#087a69;border-color:#087a69;transform:translateY(-1px)}
.portal-membership-actions .membership-preview-btn{color:#53657c;background:#f7f9fb;border:1px solid #e2e8ef}
.portal-membership-actions .membership-preview-btn:hover{color:#0b7f6c;background:#eef9f6;border-color:#cce9e1}
.membership-table-empty{min-height:240px}
.membership-table-empty .empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;border-radius:16px;color:#0b8f77;background:#eaf9f5}
.membership-table-empty .empty-icon .ui-icon{width:28px;height:28px}

/* v22 - Membership review detail aligned with the shared HR design system */
.membership-review-hero{border:1px solid #dcefe9;background:linear-gradient(135deg,#fff,#f2fbf8);box-shadow:var(--shadow-sm)}
.membership-review-hero .hr-review-kicker{color:#0b8f77}
.membership-review-hero .hr-review-summary>div{border-color:#e1eee9;background:rgba(255,255,255,.88)}
.membership-review-hero .hr-review-back{color:#0b8f77;background:#edf9f6;border-color:#d4ece6}
.hr-review-data-card{border-color:#e6edf2;box-shadow:var(--shadow-sm)}
.hr-review-data-card.submitted-data .hr-review-card-icon{color:#0b8f77;background:#e9f8f4}
.hr-review-data-card.candidate-data .hr-review-card-icon{color:#3277cf;background:#eaf2fd}
.hr-decision-workspace{border-color:#e2ece8}
.hr-decision-option{min-height:112px;border-radius:14px}
.hr-decision-option.approve{border-color:#bfe5d9;background:#f3fbf8}
.hr-decision-option.connect{border-color:#cfe0f6;background:#f6f9fe}
.hr-decision-option.create{border-color:#d8d1f6;background:#faf8ff}
.hr-decision-option.reject{border-color:#f0d0d3;background:#fff8f8}

@media(max-width:1280px){.portal-membership-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.portal-membership-metrics{grid-template-columns:1fr}.portal-membership-table-wrap{border-radius:12px}}

/* v23 — Employee requests unified with the HR module design system */
.portal-requests-hero{--accent:#0b9b83;--accent-soft:#eaf9f5;background:linear-gradient(135deg,#ffffff 0%,#f7fffd 52%,#eefaf7 100%);border-color:#dcefe9}
.portal-requests-hero .hr-kicker-icon{color:#0b8f77;background:#e5f8f3}
.portal-requests-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.portal-requests-workspace{overflow:hidden}
.portal-requests-filter{margin-bottom:16px}
.portal-requests-table-wrap{border:1px solid #e7edf3;border-radius:16px;overflow:auto;background:#fff}
.portal-requests-table{min-width:1080px}
.portal-requests-table th{white-space:nowrap}
.portal-requests-table td{vertical-align:middle}
.request-type-cell{display:flex;align-items:center;gap:11px;min-width:235px}
.request-type-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #d8eee8;border-radius:12px;color:#0b8f77;background:linear-gradient(135deg,#eefbf8,#e2f7f1)}
.request-type-icon .ui-icon{width:21px;height:21px}
.request-type-cell>div{display:grid;gap:4px;min-width:0}
.request-type-cell b{color:#293a50;font-size:14px;line-height:1.6}
.request-type-cell span{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8793a4;font-size:12.5px}
.request-person-cell .person-mini-avatar{background:linear-gradient(135deg,#e9faf6,#d8f4ec);color:#087a69;border:1px solid #c8eae1}
.request-date-cell,.request-handler-cell{display:grid;gap:4px;min-width:125px}
.request-date-cell b,.request-handler-cell b{font-size:14px;color:#26374d}
.request-date-cell span,.request-handler-cell span{font-size:12.5px;color:#8793a4}
.request-handler-empty{color:#8d98a8!important}
.request-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:102px;padding:7px 11px;border:1px solid transparent;border-radius:999px;font-size:12.5px;font-weight:900;white-space:nowrap}
.request-status-badge.status-pending{color:#9b6a00;background:#fff7df;border-color:#f3df9f}
.request-status-badge.status-in_review{color:#2465aa;background:#edf5ff;border-color:#cfe2f7}
.request-status-badge.status-approved{color:#087a69;background:#e8f8f3;border-color:#c7e9df}
.request-status-badge.status-rejected{color:#b14550;background:#fff0f1;border-color:#f1cfd3}
.request-status-badge.status-completed{color:#087a69;background:#e6f8f2;border-color:#bee8dc}
.portal-request-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:150px}
.portal-request-actions .action-btn{width:auto;min-width:122px;height:36px;padding:0 12px;border-radius:9px;text-decoration:none}
.portal-request-actions .action-text{display:inline;font-size:12.5px;font-weight:900;white-space:nowrap}
.portal-request-actions .request-review-btn{color:#fff;background:#0b8f77;border:1px solid #0b8f77;box-shadow:0 5px 12px rgba(11,143,119,.16)}
.portal-request-actions .request-review-btn:hover{background:#087a69;border-color:#087a69;transform:translateY(-1px)}
.portal-requests-empty{min-height:240px}
.portal-requests-empty .empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;border-radius:16px;color:#0b8f77;background:#eaf9f5}
.portal-requests-empty .empty-icon .ui-icon{width:28px;height:28px}

.portal-request-review-hero{border:1px solid #dcefe9;background:linear-gradient(135deg,#fff,#f2fbf8);box-shadow:var(--shadow-sm)}
.portal-request-review-hero .hr-review-kicker{color:#0b8f77}
.portal-request-review-hero .hr-review-summary>div{border-color:#e1eee9;background:rgba(255,255,255,.9)}
.portal-request-review-hero .hr-review-back{color:#0b8f77;background:#edf9f6;border-color:#d4ece6}
.portal-request-review-side{display:grid;gap:10px;align-content:center;justify-items:start;min-width:0}
.portal-request-review-side .portal-request-review-summary{width:100%}
.portal-request-review-summary>div{text-align:center;justify-items:center}
.portal-request-review-summary span,.portal-request-review-summary b{text-align:center}
.portal-request-status-text{color:#33445a!important;font-size:12.5px!important;font-weight:850!important;line-height:1.7}
.portal-request-review-kicker{align-items:center!important}
.portal-request-review-kicker .hr-kicker-icon{flex:0 0 35px}
.portal-request-back-row{margin-top:18px;display:flex;justify-content:flex-start}
.portal-request-back{min-height:42px;padding:0 15px;white-space:nowrap;border-radius:12px;background:#fff;border-color:#d9e7e3;box-shadow:0 5px 14px rgba(30,65,75,.05);transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}
.portal-request-back:hover{transform:none!important}
.portal-request-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;margin-top:14px}
.portal-request-detail-card,.portal-request-response-card{padding:18px!important;min-width:0}
.portal-request-person-banner{margin:2px 0 14px;padding:13px 14px;display:flex;align-items:center;gap:11px;border:1px solid #dfeee9;border-radius:12px;background:#f7fcfa}
.portal-request-person-banner .person-mini-avatar{background:linear-gradient(135deg,#e9faf6,#d8f4ec);color:#087a69;border:1px solid #c8eae1}
.portal-request-person-banner>div{display:grid;gap:3px}
.portal-request-person-banner b{font-size:14px;color:#26374d}
.portal-request-person-banner span{font-size:12.5px;color:#7f8d9f}
.portal-request-data-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.portal-request-data-grid>div{padding:11px 12px;border:1px solid #e8edf2;border-radius:10px;background:#fbfcfe}
.portal-request-data-grid dt{margin:0 0 5px;color:#8c97a7;font-size:12px}
.portal-request-data-grid dd{margin:0;color:#33445a;font-size:13.5px;font-weight:850;line-height:1.7}
.portal-request-description{margin-top:12px;padding:14px;min-width:0;overflow:hidden;border:1px solid #e3ebe8;border-radius:12px;background:#fbfefd}
.portal-request-description-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.portal-request-description-head>div{display:grid;gap:2px}
.portal-request-description-head b{font-size:13.5px;color:#314358}
.portal-request-description-head span{font-size:12px;color:#8a96a6}
.portal-request-description p{max-width:100%;margin:0;color:#56667a;font-size:13.5px;line-height:2;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.portal-request-response-fields{display:grid;gap:12px}
.portal-request-response-card .form-field label{font-size:13px}
.portal-request-response-card .form-field select,.portal-request-response-card .form-field textarea{font-size:14px!important}
.portal-request-save-btn{width:100%;min-height:44px!important}
.portal-request-save-btn .ui-icon{width:18px;height:18px}

@media(max-width:1280px){.portal-requests-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-request-detail-layout{grid-template-columns:1fr}}
@media(max-width:680px){.portal-requests-metrics{grid-template-columns:1fr}.portal-requests-table-wrap{border-radius:12px}.portal-request-data-grid{grid-template-columns:1fr}}

/* v24 — correspondence polish */
.correspondence-filter-btn{
    min-width:118px;
    white-space:nowrap;
}

.letter-form-guide{
    padding:0!important;
    overflow:hidden;
    border:1px solid #dfe7ef!important;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
}
.letter-guide-heading{
    padding:17px 17px 15px;
    border-bottom:1px solid #edf2f6;
    background:linear-gradient(135deg,#f8fffd 0%,#f4f8ff 100%);
}
.letter-guide-heading .guide-kicker{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:0 9px;
    border-radius:999px;
    color:#087c68;
    background:#e8f8f4;
    font-size:12px;
    font-weight:900;
}
.letter-guide-heading h3{
    margin:10px 0 6px;
    color:#1c2d43;
    font-size:16px;
    line-height:1.6;
}
.letter-guide-heading p{
    margin:0;
    color:#738197;
    font-size:12.5px;
    line-height:1.9;
}
.letter-guide-steps{
    padding:7px 15px 4px;
}
.letter-guide-step{
    min-height:67px;
    padding:10px 0!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:center;
    gap:10px!important;
    border-bottom:1px solid #eef2f6!important;
}
.letter-guide-step:last-child{border-bottom:0!important}
.letter-step-number{
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:11px!important;
    font-size:13px!important;
    font-weight:950!important;
    letter-spacing:.2px;
}
.letter-guide-step.step-one .letter-step-number{
    color:#087d67!important;
    background:#e6f8f3!important;
    box-shadow:inset 0 0 0 1px #c7eee4;
}
.letter-guide-step.step-two .letter-step-number{
    color:#316ed3!important;
    background:#edf4ff!important;
    box-shadow:inset 0 0 0 1px #d7e6ff;
}
.letter-guide-step.step-three .letter-step-number{
    color:#7b4ec7!important;
    background:#f4efff!important;
    box-shadow:inset 0 0 0 1px #e7dcff;
}
.letter-guide-step b{
    display:block;
    color:#2d3d53;
    font-size:13px!important;
    font-weight:900;
    line-height:1.65;
}
.letter-guide-step small{
    display:block;
    margin-top:3px;
    color:#8c98a9;
    font-size:12px!important;
    line-height:1.7;
}
.letter-guide-note{
    margin:4px 15px 15px;
    padding:11px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:start;
    gap:8px;
    border:1px solid #f2dfaf;
    border-radius:10px;
    background:#fffaf0;
}
.letter-guide-note>span{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#9d6b00;
    background:#fff0c7;
    font-size:15px;
    font-weight:950;
}
.letter-guide-note p{
    margin:0;
    color:#7e6a40;
    font-size:12px;
    line-height:1.85;
}
.letter-panel-index{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    font-size:12.5px;
    font-weight:950;
}
.letter-panel-index.stage-one{
    color:#087d67;
    background:#e6f8f3;
    box-shadow:inset 0 0 0 1px #c7eee4;
}
.letter-panel-index.stage-two{
    color:#316ed3;
    background:#edf4ff;
    box-shadow:inset 0 0 0 1px #d7e6ff;
}
.letter-panel-index.stage-three{
    color:#7b4ec7;
    background:#f4efff;
    box-shadow:inset 0 0 0 1px #e7dcff;
}
.letter-panel-head>div{min-width:0}
.letter-panel-head h3{color:#26364d!important;font-size:15px!important}
.letter-panel-head p{margin:3px 0 0;color:#8b97a8;font-size:12.5px;line-height:1.75}

@media(max-width:980px){
    .correspondence-filter-btn{min-width:110px}
}


/* v25 — Unified colored stage numbers for people and contract forms */
.people-step-number,
.section-number,
.contract-panel-index{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    font-size:12.5px!important;
    font-weight:950!important;
    letter-spacing:.2px;
}
.form-section-nav .people-step-link{
    min-height:52px;
    padding:8px 10px;
    gap:10px;
}
.people-step-link.step-one .people-step-number,
.section-number.stage-one,
.contract-panel-index.stage-one{
    color:#087d67!important;
    background:#e6f8f3!important;
    box-shadow:inset 0 0 0 1px #c7eee4!important;
}
.people-step-link.step-two .people-step-number,
.section-number.stage-two,
.contract-panel-index.stage-two{
    color:#316ed3!important;
    background:#edf4ff!important;
    box-shadow:inset 0 0 0 1px #d7e6ff!important;
}
.people-step-link.step-three .people-step-number,
.section-number.stage-three,
.contract-panel-index.stage-three{
    color:#7b4ec7!important;
    background:#f4efff!important;
    box-shadow:inset 0 0 0 1px #e7dcff!important;
}
.people-step-link.step-four .people-step-number,
.section-number.stage-four{
    color:#a46d00!important;
    background:#fff6dc!important;
    box-shadow:inset 0 0 0 1px #f4dfa4!important;
}
.section-side .section-number{
    display:grid!important;
    margin:0!important;
}
.contract-panel-index{
    flex:0 0 34px!important;
}
.unified-stage-guide{
    padding:0!important;
    overflow:hidden;
}
.unified-stage-guide .letter-guide-heading{
    padding:15px 15px 10px;
}
.unified-stage-guide .letter-guide-steps{
    padding:7px 15px 4px;
}
.unified-stage-guide .letter-guide-note{
    margin:4px 15px 15px;
}
.contract-panel-head{
    gap:10px!important;
}
.contract-panel-head>div{min-width:0}
.contract-panel-head h3{color:#26364d!important;font-size:15px!important}
.contract-panel-head p{margin:3px 0 0;color:#8b97a8;font-size:12.5px;line-height:1.75}

/* v26 — contracts search action consistency */
.contract-search-btn{
    min-width:108px;
    white-space:nowrap;
}


/* v27 — employee approval default view + unified company profile form */
.modern-company-profile-form{
    --company-teal:#0ca789;
    --company-blue:#3977ea;
    --company-purple:#8059d9;
}
.management-form-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.management-form-header>div:first-child{
    min-width:0;
    flex:1 1 auto;
}
.management-form-header h2{
    margin:7px 0 5px;
}
.management-form-header p{
    max-width:900px;
    margin:0;
    color:#7b8798;
    line-height:2;
}
.company-brand-summary{
    width:min(360px,36vw);
    min-width:300px;
    padding:15px 16px;
    display:flex;
    align-items:center;
    gap:13px;
    border:1px solid var(--line);
    border-radius:16px;
    background:linear-gradient(135deg,#fff,#f7fbff);
    box-shadow:var(--shadow-sm);
}
.company-brand-summary-logo{
    width:62px;
    height:62px;
    flex:0 0 62px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:15px;
    color:#fff;
    background:linear-gradient(135deg,var(--company-teal),var(--company-blue));
    font-size:23px;
    font-weight:900;
}
.company-brand-summary-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:6px;
}
.company-brand-summary div{
    min-width:0;
}
.company-brand-summary b,
.company-brand-summary span{
    display:block;
}
.company-brand-summary b{
    margin-bottom:4px;
    overflow:hidden;
    color:#203047;
    font-size:16px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.company-brand-summary span{
    overflow:hidden;
    color:#8995a6;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.company-section-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.modern-company-profile-form .company-profile-section{
    margin-bottom:14px!important;
}
.modern-company-profile-form .company-section-side{
    min-height:220px;
}
.modern-company-profile-form .company-section-side h3{
    font-size:16px;
}
.modern-company-profile-form .company-section-side p{
    font-size:13px;
    line-height:2;
}
.modern-company-profile-form .company-main-grid,
.modern-company-profile-form .company-info-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.modern-company-profile-form .company-main-grid .wide-field,
.modern-company-profile-form .company-info-grid .wide-field{
    grid-column:1/-1;
}
.modern-company-profile-form .brand-assets-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.modern-company-profile-form .brand-upload-shell{
    min-height:148px;
    padding:18px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:14px;
    align-items:center;
    border:1px dashed #c9d5e4;
    border-radius:14px;
    background:#fbfdff;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
    will-change:transform;
}
.modern-company-profile-form .brand-upload-shell:hover,
.modern-company-profile-form .brand-upload-shell:focus-within{
    transform:translateY(-3px);
    border-color:#8fa8bd;
    background:#fff;
    box-shadow:0 10px 24px rgba(44,78,105,.10);
}
.modern-company-profile-form .brand-upload-shell:hover .upload-symbol,
.modern-company-profile-form .brand-upload-shell:focus-within .upload-symbol{
    transform:scale(1.04);
}
.modern-company-profile-form .brand-upload-shell .upload-symbol{
    transition:transform .2s ease;
}
.modern-company-profile-form .brand-upload-shell .upload-symbol{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:var(--company-purple);
    background:#f1edff;
}
.modern-company-profile-form .brand-upload-shell .upload-symbol .ui-icon{
    width:25px;
    height:25px;
}
.modern-company-profile-form .brand-upload-shell .upload-copy b,
.modern-company-profile-form .brand-upload-shell .upload-copy small{
    display:block;
}
.modern-company-profile-form .brand-upload-shell .upload-copy b{
    color:#26384f;
    font-size:15px;
}
.modern-company-profile-form .brand-upload-shell .upload-copy small{
    margin-top:5px;
    color:#8995a6;
    font-size:12px;
}
.modern-company-profile-form .brand-upload-shell input[type=file]{
    grid-column:1/-1;
    height:auto!important;
    min-height:42px;
    padding:7px!important;
    background:#fff!important;
}

@media(max-width:980px){
    .management-form-header{align-items:stretch;flex-direction:column}
    .company-brand-summary{width:100%;min-width:0}
    .modern-company-profile-form .company-section-side{min-height:auto}
}
@media(max-width:680px){
    .company-section-nav{grid-template-columns:1fr!important}
    .modern-company-profile-form .company-main-grid,
    .modern-company-profile-form .company-info-grid,
    .modern-company-profile-form .brand-assets-grid{grid-template-columns:1fr!important}
}


/* v31 - Contract header cleanup and perfectly centered membership action labels */
.portal-membership-actions .action-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1;
    vertical-align:middle;
}
.portal-membership-actions .action-text{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    line-height:1.2;
    margin:0;
    padding:0;
    text-align:center;
}


/* v32 - Perfectly centered employee-request action labels */
.portal-request-actions .action-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1;
    vertical-align:middle;
}
.portal-request-actions .action-text{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    line-height:1.2;
    margin:0;
    padding:0;
    text-align:center;
}

/* v33 — Membership review dossier rebuilt to match the shared HR visual system */
.v33-membership-review-hero{min-height:215px!important}
.v33-membership-review-hero .hr-module-copy{max-width:820px}
.v33-review-hero-actions{margin-top:15px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.v33-review-back,.v33-review-preview{min-height:40px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font-size:13px;font-weight:900;text-decoration:none;transition:.18s ease}
.v33-review-back{color:#0b7f6c;background:#edf9f6;border:1px solid #d4ece6}
.v33-review-back:hover{background:#e2f6f0;transform:translateY(-1px)}
.v33-review-back svg,.v33-review-preview svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v33-review-preview{color:#fff;background:#0b8f77;border:1px solid #0b8f77;box-shadow:0 6px 15px rgba(11,143,119,.18)}
.v33-review-preview:hover{background:#087a69;transform:translateY(-1px)}
.v33-review-identity{min-width:255px;padding:16px;display:flex;align-items:center;gap:12px;position:relative;z-index:1;border:1px solid #dbece7;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 10px 24px rgba(32,73,64,.07)}
.v33-review-avatar{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #cce9e1;border-radius:15px;color:#087a69;background:linear-gradient(135deg,#eaf9f5,#d9f3ec);font-size:18px;font-weight:950}
.v33-review-identity div{min-width:0;display:grid;gap:3px}
.v33-review-identity small{color:#8a97a8;font-size:12px}
.v33-review-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#26384e;font-size:16px}
.v33-review-identity span:not(.v33-review-avatar){color:#718095;font-size:12.5px}

.v33-review-stats{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.v33-review-stats>article{min-height:82px;padding:13px 14px;display:flex;align-items:center;gap:11px;border:1px solid #e4ece9;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.v33-stat-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px}
.v33-stat-icon .ui-icon,.v33-stat-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v33-stat-icon.status-icon{color:#087a69;background:#e8f8f3}
.v33-stat-icon.match-icon{color:#3277cf;background:#eaf2fd}
.v33-stat-icon.time-icon{color:#8b5bc7;background:#f3edfc}
.v33-stat-icon.account-icon{color:#bb7a00;background:#fff4da}
.v33-review-stats article>div{min-width:0;display:grid;gap:5px}
.v33-review-stats small{color:#8d99a8;font-size:12px}
.v33-review-stats b{color:#2b3d53;font-size:14px;line-height:1.5}
.v33-review-stats .membership-status-badge{width:max-content;min-width:0;padding:5px 9px;font-size:12px}

.v33-review-workspace,.v33-decision-workspace,.v33-completed-workspace{margin-top:12px}
.v33-review-workspace{padding:18px!important}
.v33-review-workspace-head{margin-bottom:16px}
.v33-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v33-compare-card{padding:16px;border:1px solid #e4ebe9;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(25,52,72,.045)}
.v33-compare-card.applicant-card{border-top:3px solid #0b9b83}
.v33-compare-card.system-card{border-top:3px solid #3277cf}
.v33-compare-card.empty-match{background:linear-gradient(180deg,#fff,#fbfcfe)}
.v33-compare-card-head{display:grid;grid-template-columns:40px 40px minmax(0,1fr);align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #edf1f4}
.v33-compare-number{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#0b9b83;font-size:13px;font-weight:950}
.system-card .v33-compare-number{background:#3277cf}
.v33-compare-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#087a69;background:#e9f8f4}
.system-card .v33-compare-icon{color:#3277cf;background:#eaf2fd}
.v33-compare-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v33-compare-card-head small,.v33-compare-card-head h4{display:block;margin:0}
.v33-compare-card-head small{color:#929dac;font-size:12px}
.v33-compare-card-head h4{margin-top:3px;color:#293b51;font-size:15px}
.v33-data-grid{margin:13px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v33-data-grid>div{padding:10px 11px;border:1px solid #e9eef2;border-radius:10px;background:#fafcfd}
.v33-data-grid dt{margin:0 0 5px;color:#8d99a9;font-size:12px}
.v33-data-grid dd{margin:0;color:#304157;font-size:13.5px;font-weight:850;line-height:1.7;word-break:break-word}
.v33-match-banner{margin-top:13px;padding:11px 12px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d9e8f8;border-radius:12px;background:#f6f9fe}
.v33-match-avatar{width:44px;height:44px;display:grid;place-items:center;border:1px solid #cddff4;border-radius:12px;color:#2e6fbe;background:#e7f0fb;font-size:15px;font-weight:950}
.v33-match-banner>div{display:grid;gap:2px;min-width:0}
.v33-match-banner small{color:#8a97a7;font-size:11.5px}
.v33-match-banner b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2d4057;font-size:14px}
.v33-match-banner span{color:#7c8a9c;font-size:12px}
.v33-match-chip{padding:6px 9px;border-radius:999px;font-size:11.5px!important;font-weight:900;white-space:nowrap}
.v33-match-chip.match-exact{color:#087a69;background:#e8f8f3}
.v33-match-chip.match-probable{color:#9b6a00;background:#fff7df}
.v33-match-chip.match-none{color:#b14550;background:#fff0f1}
.v33-open-person-btn{margin-top:11px;min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #cfe2f7;border-radius:10px;color:#2d69ad;background:#f3f8fe;font-size:13px;font-weight:900;text-decoration:none;transition:.18s ease}
.v33-open-person-btn:hover{background:#eaf3fd;transform:translateY(-1px)}
.v33-open-person-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v33-no-match-state{min-height:240px;padding:25px 18px;display:grid;place-items:center;align-content:center;text-align:center}
.v33-no-match-state>span{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;color:#8d99a8;background:#f0f3f6}
.v33-no-match-state svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v33-no-match-state h4{margin:12px 0 5px;color:#38495e;font-size:15px}
.v33-no-match-state p{max-width:390px;margin:0;color:#8793a3;font-size:12.5px;line-height:1.9}

.v33-decision-workspace{padding:18px!important}
.v33-decision-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v33-decision-field-card{min-height:150px;padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;border:1px solid #e5ebe9;border-radius:13px;background:#fbfdfc}
.v33-decision-field-card.note-field{grid-column:1/-1;min-height:135px}
.v33-field-number{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#0b9b83;font-size:12.5px;font-weight:950}
.v33-decision-field-card.create-field .v33-field-number{background:#3277cf}
.v33-decision-field-card.note-field .v33-field-number{background:#8b5bc7}
.v33-decision-field-card .form-field{min-width:0}
.v33-decision-field-card .form-field label{display:block;margin-bottom:7px;color:#46576d;font-size:13px;font-weight:900}
.v33-decision-field-card select,.v33-decision-field-card input,.v33-decision-field-card textarea{width:100%;min-height:46px;padding:0 12px;border:1px solid #d8e1e8;border-radius:10px;background:#fff;color:#2d3e54;font-family:inherit;font-size:14px;outline:0}
.v33-decision-field-card textarea{min-height:84px;padding:10px 12px;resize:vertical}
.v33-decision-field-card select:focus,.v33-decision-field-card input:focus,.v33-decision-field-card textarea:focus{border-color:#18a68b;box-shadow:0 0 0 4px rgba(24,166,139,.09)}
.v33-field-help{display:block;margin-top:6px;color:#8b96a6;font-size:11.8px;line-height:1.75}
.v33-decision-actions-head{margin:18px 0 10px;padding-top:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-top:1px solid #edf1f3}
.v33-decision-actions-head span,.v33-decision-actions-head h4{display:block;margin:0}
.v33-decision-actions-head span{color:#0b8f77;font-size:12px;font-weight:900}
.v33-decision-actions-head h4{margin-top:3px;color:#2c3d53;font-size:15px}
.v33-decision-actions-head>small{color:#8a96a6;font-size:12px}
.v33-decision-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.v33-decision-btn{min-height:78px;padding:11px 12px;display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:10px;border:1px solid #dfe8e5;border-radius:12px;background:#fff;text-align:right;font-family:inherit;cursor:pointer;transition:.18s ease}
.v33-decision-btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(23,52,73,.08)}
.v33-action-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px}
.v33-action-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.v33-action-copy{min-width:0;display:grid;gap:3px}
.v33-action-copy b{color:#2d3f55;font-size:13.5px}
.v33-action-copy small{color:#8793a4;font-size:11.8px;line-height:1.7}
.v33-action-arrow{color:#95a1b0;font-size:18px;font-weight:900}
.v33-decision-btn.approve{border-color:#c7e9df;background:#f5fbf9}.v33-decision-btn.approve .v33-action-icon{color:#087a69;background:#e2f6f0}
.v33-decision-btn.connect{border-color:#cfe0f6;background:#f7faff}.v33-decision-btn.connect .v33-action-icon{color:#3277cf;background:#eaf2fd}
.v33-decision-btn.create{border-color:#ddd4f4;background:#fbf9ff}.v33-decision-btn.create .v33-action-icon{color:#7f56b8;background:#f0eafb}
.v33-decision-btn.reject{border-color:#f0d0d3;background:#fff9f9}.v33-decision-btn.reject .v33-action-icon{color:#b14550;background:#fdecef}

.v33-completed-workspace{padding:18px!important;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:13px;border-color:#dbeae5!important}
.v33-completed-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;color:#087a69;background:#e8f8f3}
.v33-completed-workspace.status-rejected .v33-completed-icon{color:#b14550;background:#fff0f1}
.v33-completed-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v33-completed-copy span,.v33-completed-copy h3,.v33-completed-copy p{display:block;margin:0}
.v33-completed-copy>span{color:#0b8f77;font-size:12px;font-weight:900}
.v33-completed-copy h3{margin-top:3px;color:#2c3e54;font-size:16px}
.v33-completed-copy p{margin-top:5px;color:#8491a2;font-size:12.5px}
.v33-completed-copy blockquote{margin:10px 0 0;padding:9px 11px;border-right:3px solid #0b9b83;border-radius:8px;background:#f6fbf9;color:#5f6f82;font-size:12.5px;line-height:1.9}
.v33-completed-workspace .completed-preview{white-space:nowrap}

@media(max-width:1180px){
    .v33-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .v33-compare-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
    .v33-review-identity{min-width:0;width:100%}
    .v33-review-stats,.v33-decision-form-grid,.v33-decision-actions{grid-template-columns:1fr}
    .v33-decision-field-card.note-field{grid-column:auto}
    .v33-data-grid{grid-template-columns:1fr}
    .v33-match-banner{grid-template-columns:44px minmax(0,1fr)}
    .v33-match-chip{grid-column:1/-1;width:max-content}
    .v33-completed-workspace{grid-template-columns:50px minmax(0,1fr)}
    .v33-completed-workspace .completed-preview{grid-column:1/-1;width:100%}
}
@media(max-width:520px){
    .v33-review-stats{grid-template-columns:1fr}
    .v33-compare-card-head{grid-template-columns:38px minmax(0,1fr)}
    .v33-compare-icon{display:none}
    .v33-decision-actions-head{align-items:flex-start;flex-direction:column}
    .v33-decision-btn{grid-template-columns:40px minmax(0,1fr)}
    .v33-action-arrow{display:none}
}

/* ========================================================================
   V34 — scalable row archive for personnel contracts
   ======================================================================== */
.contract-archive-table{
    width:100%;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}
.contract-archive-head{
    display:grid;
    grid-template-columns:56px 1.25fr 1.05fr .85fr .85fr 1.2fr .8fr 1fr;
    align-items:center;
    gap:12px;
    min-height:44px;
    padding:0 15px;
    color:#7f8b9d;
    background:#f7f9fc;
    border-bottom:1px solid var(--line);
    font-size:12px;
    font-weight:900;
}
.contract-archive-rows{display:grid}
.contract-archive-row{
    position:relative;
    display:grid;
    grid-template-columns:56px 1.25fr 1.05fr .85fr .85fr 1.2fr .8fr 1fr;
    align-items:center;
    gap:12px;
    min-height:76px;
    padding:11px 15px 11px 18px;
    border-bottom:1px solid #edf1f5;
    background:#fff;
    transition:background .18s ease,box-shadow .18s ease;
}
.contract-archive-row:last-child{border-bottom:0}
.contract-archive-row:hover{z-index:1;background:#fbfdff;box-shadow:inset 0 0 0 1px #e7edf4}
.contract-row-rail{
    position:absolute;
    right:0;
    top:9px;
    bottom:9px;
    width:4px;
    border-radius:4px 0 0 4px;
    background:#92a0b2;
}
.contract-row-active .contract-row-rail{background:#10a982}
.contract-row-draft .contract-row-rail{background:#dda21b}
.contract-row-expired .contract-row-rail,
.contract-row-terminated .contract-row-rail{background:#78879a}
.contract-row-suspended .contract-row-rail{background:#b45764}
.contract-row-number{
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
}
.contract-row-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#3977ea;
    background:#eef4ff;
}
.contract-row-icon .ui-icon{width:19px;height:19px}
.contract-row-number>div:last-child{min-width:0;display:grid;gap:5px}
.contract-row-number strong{
    display:block;
    overflow:hidden;
    color:#2e4058;
    font-size:13.5px;
    font-weight:950;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.contract-row-status{min-width:0;display:flex;align-items:center;justify-content:center;text-align:center}
.contract-row-status-label{display:none;color:#96a0af;font-size:11.5px}
.contract-row-status .status-pill{width:max-content;max-width:100%;font-size:11.5px}
.contract-row-employee,.contract-row-data{min-width:0}
.contract-row-employee b,.contract-row-employee small,.contract-row-data span,.contract-row-data b{display:block}
.contract-row-employee b{
    overflow:hidden;
    color:#304158;
    font-size:13.5px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.contract-row-employee small{margin-top:4px;color:#929dac;font-size:12px}
.contract-row-data span{display:none;color:#96a0af;font-size:11.5px}
.contract-row-data b{
    overflow:hidden;
    color:#43546a;
    font-size:12.5px;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.contract-row-period b{direction:rtl}
.contract-row-period em{margin:0 3px;color:#91a0b3;font-style:normal;font-size:11.5px;font-weight:700}
.contract-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.contract-row-actions .contract-view-btn,
.contract-row-actions .contract-edit-btn{
    min-width:62px;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
@media(max-width:1280px){
    .contract-archive-head,.contract-archive-row{grid-template-columns:56px 1.2fr 1fr .8fr 1.15fr .75fr 1fr}
    .contract-archive-head>span:nth-child(5),.contract-archive-row>.contract-row-data:nth-child(6){display:none}
}
@media(max-width:980px){
    .contract-archive-head{display:none}
    .contract-archive-table{border:0;background:transparent;overflow:visible}
    .contract-archive-rows{gap:8px}
    .contract-archive-row{
        grid-template-columns:46px minmax(210px,1.2fr) minmax(180px,1fr) auto;
        gap:10px 14px;
        min-height:auto;
        padding:13px 15px 13px 18px;
        border:1px solid var(--line);
        border-radius:12px;
        box-shadow:var(--shadow-sm);
    }
    .contract-archive-row:last-child{border-bottom:1px solid var(--line)}
    .contract-row-data{display:none}
    .contract-row-index{grid-column:1;grid-row:1/3}
    .contract-row-employee{grid-column:2;grid-row:1}
    .contract-row-number{grid-column:3;grid-row:1}
    .contract-row-status{grid-column:2/4;grid-row:2}
    .contract-row-actions{grid-column:4;grid-row:1/3}
}
@media(max-width:680px){
    .contract-archive-row{grid-template-columns:1fr;padding:13px 14px 13px 18px}
    .contract-row-index,.contract-row-number,.contract-row-employee,.contract-row-status,.contract-row-actions{grid-column:auto;grid-row:auto}
    .contract-row-employee{padding-top:9px;border-top:1px solid #eef2f6}
    .contract-row-data,.contract-row-status{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;align-items:center;padding-top:8px;border-top:1px solid #f0f3f7}
    .contract-row-data span,.contract-row-status-label{display:block}
    .contract-row-data b{white-space:normal}
    .contract-row-status>.status-pill{justify-self:center}
    .contract-row-actions{grid-column:auto;grid-row:auto;justify-content:stretch;padding-top:8px;border-top:1px solid #eef2f6}
    .contract-row-actions>*{flex:1}
}


/* ========================================================================
   V35 — permanent employee records and lifecycle management
   ======================================================================== */
.employee-status-hero{align-items:stretch}
.employee-status-hero.is-deactivation{border-color:#eadadd;background:linear-gradient(135deg,#fff 0%,#fffafa 100%)}
.employee-status-hero.is-reactivation{border-color:#d5ebe4;background:linear-gradient(135deg,#fff 0%,#f8fdfa 100%)}
.employee-status-person{
    min-width:330px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    align-items:center;
    gap:11px;
    padding:14px;
    border:1px solid #e5ebf1;
    border-radius:15px;
    background:#fff;
    box-shadow:var(--shadow-sm);
}
.employee-status-person .person-mini-avatar{width:52px;height:52px;font-size:15px}
.employee-status-person>div{min-width:0}
.employee-status-person small,.employee-status-person b,.employee-status-person>div>span{display:block}
.employee-status-person small{color:#94a0b0;font-size:11.5px;font-weight:800}
.employee-status-person b{margin-top:3px;overflow:hidden;color:#2c3e55;font-size:15px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}
.employee-status-person>div>span{margin-top:4px;color:#8c98a8;font-size:12px}
.employee-status-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start;margin-top:14px}
.employee-status-guide,.employee-status-main{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.employee-status-guide{position:sticky;top:16px;overflow:hidden}
.employee-status-guide-head{padding:17px 17px 13px;border-bottom:1px solid #edf1f5;background:#f9fbfd}
.employee-status-guide-head span{color:#0b8f77;font-size:11.5px;font-weight:950}
.employee-status-guide-head h3{margin:4px 0 0;color:#2c3d54;font-size:17px}
.employee-status-guide-head p{margin:6px 0 0;color:#8491a2;font-size:12.5px;line-height:1.85}
.employee-status-guide-step{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;margin:0 14px;padding:12px 0;border-bottom:1px solid #eef2f6}
.employee-status-guide-step:last-child{border-bottom:0;margin-bottom:8px}
.employee-status-guide-step>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;font-size:12.5px;font-weight:950}
.employee-status-guide-step.step-one>span{color:#087d67;background:#e6f8f3;box-shadow:inset 0 0 0 1px #c7eee4}
.employee-status-guide-step.step-two>span{color:#316ed3;background:#edf4ff;box-shadow:inset 0 0 0 1px #d7e6ff}
.employee-status-guide-step.step-three>span{color:#7b4ec7;background:#f4efff;box-shadow:inset 0 0 0 1px #e7dcff}
.employee-status-guide-step b,.employee-status-guide-step small{display:block}
.employee-status-guide-step b{color:#3a4a60;font-size:13px;font-weight:900}
.employee-status-guide-step small{margin-top:3px;color:#929dac;font-size:11.5px;line-height:1.7}
.employee-status-main{padding:16px}
.employee-status-form{display:grid;gap:11px}
.employee-status-panel{padding:14px;border:1px solid #e6ebf1;border-radius:13px;background:#fff}
.employee-status-panel-head{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px}
.employee-status-panel-head>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-size:12px;font-weight:950}
.employee-status-panel.stage-one .employee-status-panel-head>span{color:#087d67;background:#e6f8f3;box-shadow:inset 0 0 0 1px #c7eee4}
.employee-status-panel.stage-two .employee-status-panel-head>span{color:#316ed3;background:#edf4ff;box-shadow:inset 0 0 0 1px #d7e6ff}
.employee-status-panel.stage-three .employee-status-panel-head>span{color:#7b4ec7;background:#f4efff;box-shadow:inset 0 0 0 1px #e7dcff}
.employee-status-panel-head h3{margin:0;color:#314258;font-size:14.5px}
.employee-status-panel-head p{margin:3px 0 0;color:#909baa;font-size:12px;line-height:1.75}
.employee-status-panel .field-block{margin:0}
.employee-status-warning{padding:12px 14px;border:1px solid #f1d9dc;border-radius:12px;background:#fff9f9}
.employee-status-warning b{display:block;color:#a33f4a;font-size:13px}
.employee-status-warning p{margin:4px 0 0;color:#7f6870;font-size:12.5px;line-height:1.9}
.employee-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:4px}
.employee-status-actions .danger-btn,.employee-status-actions .success-btn,.employee-status-actions .ghost-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.employee-reactivation-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:13px;padding:16px;border:1px solid #d7ebe4;border-radius:14px;background:#f8fdfa}
.employee-reactivation-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:15px;color:#087d67;background:#e5f7f1}
.employee-reactivation-icon .ui-icon{width:27px;height:27px}
.employee-reactivation-card span,.employee-reactivation-card h3,.employee-reactivation-card p{display:block;margin:0}
.employee-reactivation-card>div>span{color:#07876f;font-size:12px;font-weight:900}
.employee-reactivation-card h3{margin-top:3px;color:#2e4156;font-size:18px}
.employee-reactivation-card p{margin-top:5px;color:#798797;font-size:12.5px;line-height:1.8}
.employee-reactivation-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}
.employee-reactivation-history>div{padding:11px;border:1px solid #e7ecf1;border-radius:11px;background:#fbfcfe}
.employee-reactivation-history small,.employee-reactivation-history b{display:block}
.employee-reactivation-history small{color:#96a1af;font-size:11.5px}
.employee-reactivation-history b{margin-top:4px;color:#405167;font-size:12.5px;line-height:1.75}
.reactivation-actions{margin-top:12px}
.employee-lifecycle-banner{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(330px,.9fr);align-items:center;gap:14px;margin-top:14px;padding:15px;border:1px solid #eadfe1;border-radius:15px;background:linear-gradient(135deg,#fff 0%,#fffafa 100%);box-shadow:var(--shadow-sm)}
.employee-lifecycle-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:15px;color:#a44d59;background:#fff0f2}
.employee-lifecycle-icon .ui-icon{width:26px;height:26px}
.employee-lifecycle-copy span,.employee-lifecycle-copy h3,.employee-lifecycle-copy p{display:block;margin:0}
.employee-lifecycle-copy span{color:#a54855;font-size:11.5px;font-weight:950}
.employee-lifecycle-copy h3{margin-top:3px;color:#35465c;font-size:15px}
.employee-lifecycle-copy p{margin-top:5px;color:#7d8999;font-size:12.5px;line-height:1.8}
.employee-lifecycle-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.employee-lifecycle-meta>div{padding:9px 10px;border:1px solid #efe6e8;border-radius:10px;background:#fff}
.employee-lifecycle-meta>div.wide{grid-column:1/-1}
.employee-lifecycle-meta small,.employee-lifecycle-meta b{display:block}
.employee-lifecycle-meta small{color:#9a8a90;font-size:11px}
.employee-lifecycle-meta b{margin-top:3px;color:#5c4d53;font-size:12px;line-height:1.7}
@media(max-width:1100px){
    .employee-status-layout{grid-template-columns:1fr}
    .employee-status-guide{position:static}
    .employee-status-guide-step{display:inline-grid;width:calc(33.333% - 20px);vertical-align:top;border-bottom:0}
    .employee-lifecycle-banner{grid-template-columns:58px minmax(0,1fr)}
    .employee-lifecycle-meta{grid-column:1/-1}
}
@media(max-width:760px){
    .employee-status-person{min-width:0;width:100%;grid-template-columns:48px minmax(0,1fr)}
    .employee-status-person>.status-pill{grid-column:1/-1;width:max-content}
    .employee-status-guide-step{display:grid;width:auto}
    .employee-reactivation-history{grid-template-columns:1fr}
    .employee-lifecycle-banner{grid-template-columns:1fr}
    .employee-lifecycle-icon{display:none}
    .employee-lifecycle-meta{grid-column:auto;grid-template-columns:1fr}
    .employee-lifecycle-meta>div.wide{grid-column:auto}
    .employee-status-actions>*{width:100%}
}


/* v36 — Professional employee deactivation form + settings-driven departure types */
.deactivation-layout .employee-status-main{
    padding:18px;
    background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
}
.deactivation-layout .employee-status-form{gap:14px}
.deactivation-layout .employee-status-panel{
    position:relative;
    overflow:hidden;
    padding:16px;
    border-color:#e2e8f0;
    border-radius:15px;
    background:#fff;
    box-shadow:0 7px 22px rgba(33,53,77,.045);
}
.deactivation-layout .employee-status-panel::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:3px;
    opacity:.9;
}
.deactivation-layout .employee-status-panel.stage-one::before{background:linear-gradient(90deg,#0aa489,#47c7b2)}
.deactivation-layout .employee-status-panel.stage-two::before{background:linear-gradient(90deg,#3978dc,#74a5f3)}
.deactivation-layout .employee-status-panel.stage-three::before{background:linear-gradient(90deg,#8155cf,#aa82e8)}
.deactivation-layout .employee-status-panel-head{margin-bottom:14px}
.deactivation-layout .employee-status-panel-head>span{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:13px;
}
.deactivation-layout .employee-status-panel-head h3{font-size:15px;font-weight:950;color:#2f4057}
.deactivation-layout .employee-status-panel-head p{margin-top:4px;font-size:12.5px;color:#8290a2}
.employee-status-field{
    margin:0!important;
    padding:14px;
    border:1px solid #e7edf4;
    border-radius:13px;
    background:#f9fbfd;
}
.employee-status-field>label{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 0 8px;
    color:#3b4d64;
    font-size:13px;
    font-weight:950;
}
.employee-status-field>label::before{
    content:"";
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:#9aa7b6;
    box-shadow:0 0 0 4px rgba(154,167,182,.12);
}
.employee-status-panel.stage-one .employee-status-field>label::before{background:#0c9b82;box-shadow:0 0 0 4px rgba(12,155,130,.12)}
.employee-status-panel.stage-two .employee-status-field>label::before{background:#3978dc;box-shadow:0 0 0 4px rgba(57,120,220,.11)}
.employee-status-panel.stage-three .employee-status-field>label::before{background:#8256cf;box-shadow:0 0 0 4px rgba(130,86,207,.11)}
.employee-status-field .form-control{
    width:100%;
    min-height:52px;
    margin:0;
    padding:12px 14px;
    border:1px solid #d8e1ec;
    border-radius:11px;
    outline:none;
    background:#fff;
    color:#26384f;
    font-family:inherit;
    font-size:14px;
    line-height:1.8;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.employee-status-field .form-control:hover{border-color:#bdcadd}
.employee-status-field .form-control:focus{
    border-color:#0b9b82;
    background:#fff;
    box-shadow:0 0 0 4px rgba(11,155,130,.1);
}
.employee-status-field-select .form-control{
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    padding-left:44px;
    background-image:linear-gradient(45deg,transparent 50%,#6f7e91 50%),linear-gradient(135deg,#6f7e91 50%,transparent 50%);
    background-position:21px 23px,15px 23px;
    background-size:6px 6px,6px 6px;
    background-repeat:no-repeat;
}
.employee-status-field textarea.form-control{
    resize:vertical;
    min-height:88px;
    line-height:2;
}
.employee-status-field textarea.employee-status-note{min-height:126px}
.employee-status-field .field-error{
    margin-top:8px;
    padding:8px 10px;
    border:1px solid #f2d3d8;
    border-radius:9px;
    background:#fff7f8;
    color:#b04452;
    font-size:12.5px;
    font-weight:800;
}
.deactivation-layout .employee-status-warning{
    padding:14px 15px;
    border-color:#eadde0;
    border-radius:13px;
    background:linear-gradient(135deg,#fffafa 0%,#fff 100%);
}
.deactivation-layout .employee-status-actions{
    margin-top:2px;
    padding:12px 0 0;
    border-top:1px solid #edf1f5;
}
.deactivation-layout .employee-status-actions .ghost-btn,
.deactivation-layout .employee-status-actions .danger-btn{
    min-height:44px;
    padding-inline:18px;
    border-radius:10px;
    font-weight:900;
}
@media (max-width:680px){
    .deactivation-layout .employee-status-main{padding:12px}
    .deactivation-layout .employee-status-panel{padding:13px}
    .employee-status-field{padding:11px}
}


/* v37 — Visible departure-type options + Jalali departure date */
.employee-status-stage-one-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.employee-status-select{
    position:relative;
    z-index:1;
}
.employee-status-field-date .employee-status-date{
    text-align:center;
    letter-spacing:.3px;
    direction:ltr;
}
.employee-status-panel.stage-one .employee-status-field-date>label::before{
    background:#0c9b82;
    box-shadow:0 0 0 4px rgba(12,155,130,.12);
}
@media(max-width:760px){
    .employee-status-stage-one-grid{grid-template-columns:1fr}
}

/* v38 — Modern employee dossier detail page */
.v38-person-hero{position:relative;overflow:hidden;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dfe9e6;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f6fbf9 58%,#eef8f5 100%);box-shadow:var(--shadow-sm)}
.v38-person-hero:before{content:'';position:absolute;top:-70px;left:-55px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(13,155,131,.11),rgba(13,155,131,0) 70%);pointer-events:none}
.v38-person-hero-main{min-width:0;position:relative;z-index:1;display:flex;align-items:center;gap:15px}
.v38-person-avatar{width:76px;height:76px;flex:0 0 76px;display:grid;place-items:center;overflow:hidden;border:4px solid #fff;border-radius:20px;color:#fff;background:linear-gradient(135deg,#0b9b83,#3179cf);box-shadow:0 10px 25px rgba(23,83,76,.14);font-size:24px;font-weight:950}
.v38-person-avatar img{width:100%;height:100%;object-fit:cover}
.v38-person-identity{min-width:0}
.v38-person-kicker{display:flex;align-items:center;gap:7px;color:#0a8b74;font-size:12.5px;font-weight:900}
.v38-person-kicker-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#087d68;background:#e5f7f2}
.v38-person-kicker-icon .ui-icon{width:16px;height:16px}
.v38-person-identity h2{margin:6px 0 4px;color:#26384e;font-size:23px;line-height:1.5}
.v38-person-identity p{max-width:720px;margin:0;color:#7d8a9b;font-size:12.8px;line-height:1.9}
.v38-person-badges{margin-top:9px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.v38-person-mini-badge{padding:5px 9px;border:1px solid #dde7e4;border-radius:999px;color:#637489;background:rgba(255,255,255,.85);font-size:11.8px;font-weight:850}
.v38-person-hero-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}

.v38-person-stats{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.v38-person-stats>article{min-height:84px;padding:13px 14px;display:flex;align-items:center;gap:11px;border:1px solid #e3ebe8;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.v38-stat-icon{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:12px}
.v38-stat-icon .ui-icon,.v38-stat-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v38-stat-icon.identity{color:#087d67;background:#e7f8f3}.v38-stat-icon.position{color:#3274c9;background:#ebf3fe}.v38-stat-icon.start{color:#8058bc;background:#f2edfb}.v38-stat-icon.contracts{color:#aa7400;background:#fff4da}
.v38-person-stats article>div{min-width:0;display:grid;gap:5px}.v38-person-stats small{color:#8d99a9;font-size:12px}.v38-person-stats b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2d4056;font-size:14px;line-height:1.5}

.v38-lifecycle-card{margin-top:12px;padding:16px 17px;display:grid;grid-template-columns:minmax(235px,.7fr) minmax(0,1.3fr);gap:16px;border:1px solid #ecd9dc;border-radius:16px;background:linear-gradient(135deg,#fff,#fff8f8);box-shadow:var(--shadow-sm)}
.v38-lifecycle-head{display:flex;align-items:flex-start;gap:11px}.v38-lifecycle-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:13px;color:#b44a55;background:#fdecee}.v38-lifecycle-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v38-lifecycle-head small{color:#bd6068;font-size:12px;font-weight:900}.v38-lifecycle-head h3{margin:4px 0 3px;color:#35465c;font-size:15px}.v38-lifecycle-head p{margin:0;color:#8a96a5;font-size:12px;line-height:1.8}.v38-lifecycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v38-lifecycle-grid>div{padding:9px 10px;border:1px solid #f0e4e6;border-radius:10px;background:rgba(255,255,255,.78)}.v38-lifecycle-grid .wide{grid-column:1/-1}.v38-lifecycle-grid span,.v38-lifecycle-grid b{display:block}.v38-lifecycle-grid span{color:#9a8a8e;font-size:11.8px}.v38-lifecycle-grid b{margin-top:4px;color:#47576b;font-size:12.8px;line-height:1.7}

.v38-person-workspace{margin-top:12px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.v38-section-heading{margin-bottom:15px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.v38-section-label{color:#0b9078;font-size:12px;font-weight:900}.v38-section-heading h3{margin:3px 0 3px;color:#2c3e54;font-size:17px}.v38-section-heading p{margin:0;color:#8a96a6;font-size:12.3px;line-height:1.8}.v38-record-meta{padding:6px 9px;border-radius:999px;color:#738196;background:#f3f6f8;font-size:11.8px;white-space:nowrap}
.v38-person-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v38-person-panel{padding:16px;border:1px solid #e4ebe9;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(25,52,72,.04)}.v38-person-panel.identity-panel{border-top:3px solid #0b9b83}.v38-person-panel.contact-panel{border-top:3px solid #3277cf}.v38-person-panel.banking-panel{border-top:3px solid #8058bc}.v38-person-panel.contracts-panel{border-top:3px solid #c48a13}.v38-person-panel.documents-panel{border-top:3px solid #5d6f86}.v38-person-panel.full-width{grid-column:1/-1}
.v38-panel-head{display:grid;grid-template-columns:40px 40px minmax(0,1fr);align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #edf1f4}.v38-panel-head-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.v38-panel-head-main{min-width:0;display:grid;grid-template-columns:40px 40px minmax(0,1fr);align-items:center;gap:9px}.v38-panel-number{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#fff;font-size:13px;font-weight:950}.v38-panel-number.stage-one{background:#0b9b83}.v38-panel-number.stage-two{background:#3277cf}.v38-panel-number.stage-three{background:#8058bc}.v38-panel-number.stage-four{background:#c48a13}.v38-panel-number.stage-five{background:#5d6f86}.v38-panel-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#087d67;background:#e8f8f3}.contact-panel .v38-panel-icon{color:#3277cf;background:#eaf2fd}.banking-panel .v38-panel-icon{color:#8058bc;background:#f2edfb}.contracts-panel .v38-panel-icon{color:#a87500;background:#fff5df}.documents-panel .v38-panel-icon{color:#5d6f86;background:#eef2f5}.v38-panel-icon .ui-icon,.v38-panel-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v38-panel-head small,.v38-panel-head h4{display:block;margin:0}.v38-panel-head small{color:#929dac;font-size:12px}.v38-panel-head h4{margin-top:3px;color:#293b51;font-size:15px}.v38-panel-action{min-height:36px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #eadba9;border-radius:9px;color:#8f6500;background:#fff9e9;font-size:12px;font-weight:900;white-space:nowrap}
.v38-info-grid{margin:13px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v38-info-grid>div{padding:10px 11px;border:1px solid #e9eef2;border-radius:10px;background:#fafcfd}.v38-info-grid>div.wide{grid-column:1/-1}.v38-info-grid dt{margin:0 0 5px;color:#8d99a9;font-size:11.8px}.v38-info-grid dd{margin:0;color:#304157;font-size:13.4px;font-weight:850;line-height:1.7;word-break:break-word}

.v38-bank-grid{margin-top:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v38-bank-card{overflow:hidden;border:1px solid #e5e7f1;border-radius:12px;background:#fbfaff}.v38-bank-card-head{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:9px;border-bottom:1px solid #ebeaf3;background:#f7f4fc}.v38-bank-card-head span{color:#896ab3;font-size:11.8px;font-weight:900}.v38-bank-card-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b3e60;font-size:13px}.v38-bank-card dl{margin:0;padding:7px}.v38-bank-card dl>div{padding:8px 5px;display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;border-bottom:1px solid #eeedf4}.v38-bank-card dl>div:last-child{border-bottom:0}.v38-bank-card dt{color:#94909e;font-size:11.8px}.v38-bank-card dd{margin:0;color:#4a4654;font-size:12.8px;font-weight:800;word-break:break-word}

.v38-contract-list{margin-top:13px;display:grid;gap:7px}.v38-contract-list>a{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e9edf1;border-radius:11px;background:#fbfcfd;transition:.18s ease}.v38-contract-list>a:hover{transform:translateY(-1px);border-color:#ddcf9f;background:#fffdf6;box-shadow:0 6px 15px rgba(69,54,17,.05)}.v38-contract-main{min-width:0;display:flex;align-items:center;gap:9px}.v38-contract-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;color:#a87500;background:#fff4d8}.v38-contract-icon .ui-icon{width:18px;height:18px}.v38-contract-main>div{min-width:0;display:grid;gap:3px}.v38-contract-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#35465b;font-size:13px}.v38-contract-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b96a5;font-size:11.8px}.v38-more-note{margin-top:8px;padding:8px 10px;border-radius:9px;color:#8b6a1b;background:#fff9e9;font-size:11.8px}.v38-empty-state{margin-top:13px;min-height:102px;padding:14px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px dashed #d8e1e8;border-radius:11px;background:#fbfcfd;text-align:right}.v38-empty-state>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#8b98a8;background:#eef2f5}.v38-empty-state .ui-icon{width:20px;height:20px}.v38-empty-state b,.v38-empty-state small{display:block}.v38-empty-state b{color:#4a596d;font-size:13px}.v38-empty-state small{margin-top:3px;color:#929cab;font-size:11.8px}

.v38-doc-grid{margin-top:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v38-doc-item{min-height:68px;padding:10px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #e8edf1;border-radius:11px;background:#fafcfd}.v38-doc-item.available{border-color:#d9eae5;background:#f8fcfb}.v38-doc-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#8997a7;background:#eef2f5}.v38-doc-item.available .v38-doc-icon{color:#087d67;background:#e5f7f2}.v38-doc-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v38-doc-item>div{min-width:0;display:grid;gap:3px}.v38-doc-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#435369;font-size:12.5px}.v38-doc-item small{color:#929dac;font-size:11.5px}.v38-doc-item.available small{color:#5f8d82}.v38-doc-item>a{min-height:31px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cce6df;border-radius:8px;color:#087d67;background:#fff;font-size:11.5px;font-weight:900}

@media(max-width:1100px){.v38-person-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.v38-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v38-lifecycle-card{grid-template-columns:1fr}}
@media(max-width:820px){.v38-person-hero{align-items:flex-start;flex-direction:column}.v38-person-hero-actions{width:100%;justify-content:flex-start}.v38-person-content-grid{grid-template-columns:1fr}.v38-person-panel.full-width{grid-column:auto}.v38-section-heading{align-items:flex-start;flex-direction:column}.v38-record-meta{white-space:normal}.v38-bank-grid{grid-template-columns:1fr}}
@media(max-width:620px){.v38-person-hero{padding:16px}.v38-person-hero-main{align-items:flex-start}.v38-person-avatar{width:62px;height:62px;flex-basis:62px;border-radius:16px;font-size:20px}.v38-person-identity h2{font-size:19px}.v38-person-stats{grid-template-columns:1fr}.v38-person-workspace{padding:13px}.v38-info-grid,.v38-doc-grid,.v38-lifecycle-grid{grid-template-columns:1fr}.v38-info-grid>div.wide,.v38-lifecycle-grid .wide{grid-column:auto}.v38-panel-head-actions{align-items:flex-start;flex-direction:column}.v38-panel-action{width:100%}.v38-doc-item{grid-template-columns:38px minmax(0,1fr)}.v38-doc-item>a{grid-column:1/-1}.v38-bank-card dl>div{grid-template-columns:1fr}.v38-contract-list>a{align-items:flex-start;flex-direction:column}.v38-person-hero-actions>a{flex:1 1 auto;text-align:center;justify-content:center}}

/* v39 — Automatic contract lifecycle and one-glance status overview */
.contracts-command-center.hr-contracts-hero{
    align-items:stretch;
}
.contract-status-overview{
    width:min(720px,100%);
    display:grid;
    grid-template-columns:repeat(5,minmax(105px,1fr));
    gap:8px;
    align-self:stretch;
}
.contract-overview-card{
    min-height:112px;
    padding:13px 12px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #e6ebf2;
    border-radius:14px;
    color:#293a51;
    background:#fff;
    box-shadow:0 8px 24px rgba(31,48,75,.055);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.contract-overview-card:hover,
.contract-overview-card.active{
    transform:translateY(-2px);
    border-color:currentColor;
    box-shadow:0 12px 28px rgba(31,48,75,.09);
}
.contract-overview-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#f2f5f9;
    font-size:18px;
    font-weight:950;
}
.contract-overview-card div{min-width:0}
.contract-overview-card small,
.contract-overview-card b,
.contract-overview-card em{display:block}
.contract-overview-card small{font-size:12px;font-weight:900;white-space:nowrap}
.contract-overview-card b{margin-top:4px;font-size:24px;line-height:1;font-weight:950}
.contract-overview-card em{margin-top:5px;color:#8e99aa;font-size:11.5px;font-style:normal}
.contract-overview-card.tone-neutral{color:#64748b}
.contract-overview-card.tone-neutral .contract-overview-icon{background:#f1f5f9}
.contract-overview-card.tone-waiting{color:#b67a00}
.contract-overview-card.tone-waiting .contract-overview-icon{background:#fff6db}
.contract-overview-card.tone-valid{color:#087d67}
.contract-overview-card.tone-valid .contract-overview-icon{background:#e6f8f3}
.contract-overview-card.tone-expired{color:#c25762}
.contract-overview-card.tone-expired .contract-overview-icon{background:#fff0f1}
.contract-overview-card.tone-terminated{color:#6c5b86}
.contract-overview-card.tone-terminated .contract-overview-icon{background:#f3effa}

/* v7.0.20 — Reuse the Contracts KPI/filter-card pattern in HR → People. */
.people-status-overview{
    width:min(590px,100%);
    grid-template-columns:repeat(3,minmax(145px,1fr));
}
.people-overview-card.tone-people-total{color:#456b8a}
.people-overview-card.tone-people-total .contract-overview-icon{background:#eef4f8}
.people-overview-card.tone-people-inactive{color:#c25762}
.people-overview-card.tone-people-inactive .contract-overview-icon{background:#fff0f1}

.contract-live-date{margin:5px 0 0;color:#8b96a6;font-size:12.5px}
.contract-live-date b{color:#56657a}

.contract-status-no_contract{color:#64748b;background:#f1f5f9}
.contract-status-waiting{color:#a96f00;background:#fff5d8}
.contract-status-valid{color:#087d67;background:#e6f8f3}
.contract-status-expired{color:#c04f5b;background:#fff0f1}
.contract-status-terminated{color:#6b5689;background:#f3effa}
.contract-row-waiting .contract-row-rail{background:#d79a19}
.contract-row-valid .contract-row-rail{background:#10a982}
.contract-row-expired .contract-row-rail{background:#cf626c}
.contract-row-terminated .contract-row-rail{background:#80699f}

.contract-auto-status-note{
    margin:0 0 13px;
    padding:11px 12px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #cdece4;
    border-radius:12px;
    background:#f1fbf8;
}
.contract-auto-status-note>span{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#087d67;
    background:#dff6ef;
    font-weight:950;
}
.contract-auto-status-note b,
.contract-auto-status-note small{display:block}
.contract-auto-status-note b{color:#176b5e;font-size:13px}
.contract-auto-status-note small{margin-top:3px;color:#71877f;font-size:12px;line-height:1.7}

.no-contract-list{
    display:grid;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}
.no-contract-head{
    display:grid;
    grid-template-columns:56px 1.5fr 1fr 1fr .8fr 1fr;
    align-items:center;
    gap:14px;
    min-height:44px;
    padding:0 15px;
    color:#7f8b9d;
    background:#f7f9fc;
    border-bottom:1px solid var(--line);
    font-size:12px;
    font-weight:900;
}
.no-contract-row{
    display:grid;
    grid-template-columns:56px 1.5fr 1fr 1fr .8fr 1fr;
    align-items:center;
    gap:14px;
    min-height:78px;
    padding:12px 15px;
    border-bottom:1px solid #edf1f5;
    background:#fff;
}
.no-contract-row:last-child{border-bottom:0}
.no-contract-row:hover{background:#fbfdff}
.no-contract-person{display:flex;align-items:center;gap:10px;min-width:0}
.no-contract-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:#52708d;
    background:#eef3f8;
    font-weight:950;
}
.no-contract-person b,.no-contract-person small,.no-contract-data span,.no-contract-data b{display:block}
.no-contract-person b{color:#2d3d53;font-size:13.5px}
.no-contract-person small{margin-top:3px;color:#929dac;font-size:12px}
.no-contract-data span{color:#98a2b1;font-size:11.5px}
.no-contract-data b{margin-top:4px;color:#4a5a70;font-size:12.5px}

@media (max-width:1180px){
    .contract-status-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
    .contract-status-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
    .no-contract-head{display:none}
    .no-contract-row{grid-template-columns:46px 1fr auto}
    .no-contract-data{display:none}
    .no-contract-row>.no-contract-index{grid-column:1;grid-row:1/3}
    .no-contract-row>.no-contract-person{grid-column:2;grid-row:1}
    .no-contract-row>.status-pill{grid-column:2;grid-row:2}
    .no-contract-row>.contract-row-actions{grid-column:3;grid-row:1/3}
}
@media (max-width:520px){
    .contract-status-overview{grid-template-columns:1fr}
    .contract-overview-card{min-height:78px}
    .no-contract-row{grid-template-columns:1fr}
    .no-contract-row>.no-contract-index,
    .no-contract-row>.no-contract-person,
    .no-contract-row>.status-pill,
    .no-contract-row>.contract-row-actions{grid-column:auto;grid-row:auto}
}

/* v41 — Full public personnel dossier registration + document review */
.v41-registration-page{align-items:flex-start;padding:28px 18px 54px}
.v41-register-card{width:min(1120px,100%);padding:34px 40px 42px}
.v41-register-intro{max-width:780px}
.v41-register-nav{
    margin:22px 0 6px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
}
.v41-register-nav a{
    min-height:54px;
    padding:8px 10px;
    display:flex;
    align-items:center;
    gap:9px;
    color:#506176;
    background:#f8fafc;
    border:1px solid #e7edf3;
    border-radius:13px;
    text-decoration:none;
    font-size:12.5px;
    font-weight:900;
}
.v41-register-nav span,
.v41-form-section-head>span{
    width:35px;height:35px;min-width:35px;
    display:grid;place-items:center;
    border-radius:10px;
    font-size:12px;font-weight:950;
}
.v41-register-nav a:nth-child(1) span,.v41-form-section.stage-one .v41-form-section-head>span{color:#087d67;background:#e6f8f3;box-shadow:inset 0 0 0 1px #c7eee4}
.v41-register-nav a:nth-child(2) span,.v41-form-section.stage-two .v41-form-section-head>span{color:#316ed3;background:#edf4ff;box-shadow:inset 0 0 0 1px #d7e6ff}
.v41-register-nav a:nth-child(3) span,.v41-form-section.stage-three .v41-form-section-head>span{color:#7b4ec7;background:#f4efff;box-shadow:inset 0 0 0 1px #e7dcff}
.v41-register-nav a:nth-child(4) span,.v41-form-section.stage-four .v41-form-section-head>span{color:#a46d00;background:#fff6dc;box-shadow:inset 0 0 0 1px #f4dfa4}
.v41-register-nav a:nth-child(5) span,.v41-form-section.stage-five .v41-form-section-head>span{color:#b04d72;background:#fff0f5;box-shadow:inset 0 0 0 1px #f5d4e1}
.v41-registration-form{margin-top:12px}
.v41-form-section{
    margin-top:18px;
    padding:18px;
    border:1px solid #e6edf3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(31,48,75,.045);
    scroll-margin-top:20px;
}
.v41-form-section-head{margin-bottom:15px;display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid #edf1f5}
.v41-form-section-head b,.v41-form-section-head small{display:block}
.v41-form-section-head b{color:#2d3d53;font-size:15px}
.v41-form-section-head small{margin-top:3px;color:#8f9aa9;font-size:12.5px;line-height:1.7}
.v41-register-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.v41-register-grid .full-span{grid-column:1/-1}
.v41-bank-block{margin:3px 0 10px;display:flex;align-items:center;gap:8px;color:#665191;font-size:12.5px;font-weight:900}
.v41-bank-block:after{content:"";height:1px;flex:1;background:#eee9f8}
.v41-bank-block.secondary{margin-top:18px;color:#8b6f9f}
.v41-document-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v41-document-upload-card{
    min-height:116px;padding:14px;
    display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;
    border:1px dashed #cfd9e4;border-radius:14px;background:#fbfdff;cursor:pointer;
    transition:.18s ease;
}
.v41-document-upload-card:hover{border-color:#11a186;background:#f7fcfb;transform:translateY(-1px)}
.v41-upload-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#087d67;background:#e7f8f4;font-size:20px;font-weight:950}
.v41-document-upload-card b,.v41-document-upload-card small{display:block}
.v41-document-upload-card b{color:#33445a;font-size:13px}
.v41-document-upload-card small{margin-top:4px;color:#909cab;font-size:11.5px;line-height:1.6}
.v41-document-upload-card input[type=file]{grid-column:1/-1;width:100%;padding:8px;border:1px solid #e3eaf0;border-radius:10px;background:#fff;color:#657489;font-size:12px}
.v41-document-upload-card .field-error{grid-column:1/-1;color:#c54850}
.v41-submit{margin-top:18px}

.v41-submission-workspace,.v41-document-review-workspace{margin-top:16px}
.v41-submission-sections{display:grid;gap:13px;padding:0 16px 16px}
.v41-submission-card,.v41-portal-info-card{
    border:1px solid #e8edf3;border-radius:16px;background:#fff;overflow:hidden;
}
.v41-submission-card>header,.v41-portal-info-card>header{
    min-height:64px;padding:12px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1f5;background:#fbfdff;
}
.v41-submission-card>header>span,.v41-portal-info-card>header>span{
    width:35px;height:35px;display:grid;place-items:center;border-radius:10px;font-size:12px;font-weight:950;
}
.v41-submission-card.stage-one>header>span,.v41-portal-info-card.stage-one>header>span{color:#087d67;background:#e6f8f3}
.v41-submission-card.stage-two>header>span,.v41-portal-info-card.stage-two>header>span{color:#316ed3;background:#edf4ff}
.v41-submission-card.stage-three>header>span,.v41-portal-info-card.stage-three>header>span{color:#7b4ec7;background:#f4efff}
.v41-submission-card header b,.v41-submission-card header small,.v41-portal-info-card header b,.v41-portal-info-card header small{display:block}
.v41-submission-card header b,.v41-portal-info-card header b{color:#314158;font-size:14px}
.v41-submission-card header small,.v41-portal-info-card header small{margin-top:3px;color:#929dab;font-size:11.5px}
.v41-info-grid{margin:0;padding:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.v41-info-grid>div{min-height:61px;padding:10px 11px;border:1px solid #edf1f5;border-radius:11px;background:#fcfdff;min-width:0}
.v41-info-grid>div.wide{grid-column:1/-1}
.v41-info-grid dt{color:#98a2b0;font-size:11.5px}
.v41-info-grid dd{margin:5px 0 0;color:#405168;font-size:13px;font-weight:850;overflow-wrap:anywhere;line-height:1.65}

.v41-document-review-form{padding:0 16px 16px}
.v41-admin-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v41-admin-document-card{padding:13px;border:1px solid #e5ebf1;border-radius:14px;background:#fff}
.v41-admin-document-card.status-approved{border-color:#cceee4;background:#fbfffe}
.v41-admin-document-card.status-rejected{border-color:#f2d3d6;background:#fffdfd}
.v41-admin-document-card.status-pending{border-color:#ecdcae;background:#fffef9}
.v41-admin-doc-head{margin-bottom:12px;display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px}
.v41-doc-status-dot{width:9px;height:9px;border-radius:50%;background:#d5a52d}
.status-approved .v41-doc-status-dot{background:#12a47f}.status-rejected .v41-doc-status-dot{background:#d35b65}
.v41-admin-doc-head b,.v41-admin-doc-head small{display:block}
.v41-admin-doc-head b{color:#35465c;font-size:13.5px}.v41-admin-doc-head small{margin-top:3px;color:#98a2b0;font-size:11.5px}
.v41-admin-doc-head a{color:#087d67;font-size:12px;font-weight:900;text-decoration:none}
.v41-admin-document-card>label{display:block;margin:9px 0 6px;color:#657489;font-size:11.5px;font-weight:900}
.v41-admin-document-card .form-control{width:100%}
.v41-save-document-review{margin-top:13px;min-height:43px;padding:0 18px;border:0;border-radius:11px;cursor:pointer}
.v41-apply-submission-toggle{margin:14px 0 2px;padding:12px 13px;display:flex;align-items:flex-start;gap:10px;border:1px solid #dcebe6;border-radius:13px;background:#f8fcfb;cursor:pointer}
.v41-apply-submission-toggle input{margin-top:4px;width:18px;height:18px;accent-color:#0d9a7f}
.v41-apply-submission-toggle b,.v41-apply-submission-toggle small{display:block}
.v41-apply-submission-toggle b{color:#36566a;font-size:13px}.v41-apply-submission-toggle small{margin-top:4px;color:#84929f;font-size:11.5px;line-height:1.7}

.v41-profile-workspace,.v41-portal-documents,.v41-request-workspace{margin-top:16px}
.v41-portal-profile-sections{display:grid;gap:13px;padding-top:12px}
.v41-portal-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
.v41-portal-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.v41-portal-document-card{min-height:210px;padding:14px;border:1px solid #e5ebf1;border-radius:15px;background:#fff;display:flex;flex-direction:column}
.v41-portal-document-card.status-approved{border-color:#c9ecdf;background:#fbfffd}
.v41-portal-document-card.status-rejected{border-color:#efd0d4;background:#fffafa}
.v41-portal-document-card.status-pending{border-color:#ecdcae;background:#fffef8}
.v41-portal-document-card.status-missing{border-color:#dfe6ed;background:#fcfdff}
.v41-portal-doc-head{display:flex;align-items:center;gap:10px}
.v41-portal-doc-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:#eef3f7;color:#617287;font-size:18px;font-weight:950}
.status-approved .v41-portal-doc-icon{background:#e6f8f3;color:#087d67}.status-rejected .v41-portal-doc-icon{background:#fff0f1;color:#c4525d}.status-pending .v41-portal-doc-icon{background:#fff6dc;color:#a46d00}
.v41-portal-doc-head b,.v41-portal-doc-head small{display:block}.v41-portal-doc-head b{color:#34455b;font-size:13.5px}.v41-portal-doc-head small{margin-top:3px;color:#949fad;font-size:11.5px;line-height:1.5}
.v41-document-status-row{margin:13px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.v41-document-status-row a{color:#087d67;font-size:11.5px;font-weight:900;text-decoration:none}
.v41-doc-status{display:inline-flex;min-height:28px;padding:0 9px;align-items:center;border-radius:999px;font-size:11px;font-weight:950}
.v41-doc-status.status-approved{color:#087d67;background:#e6f8f3}.v41-doc-status.status-rejected{color:#c4525d;background:#fff0f1}.v41-doc-status.status-pending{color:#a46d00;background:#fff6dc}.v41-doc-status.status-missing{color:#64748b;background:#f1f5f9}
.v41-document-review-note{margin:2px 0 10px;padding:9px 10px;color:#7a5961;background:#fff4f5;border-radius:9px;font-size:11.5px;line-height:1.7}
.v41-resubmit-form{margin-top:auto;display:grid;gap:8px}
.v41-resubmit-form input[type=file]{width:100%;padding:7px;border:1px solid #dce4eb;border-radius:9px;background:#fff;color:#6b7888;font-size:11px}
.v41-resubmit-form button{min-height:36px;border:0;border-radius:9px;color:#fff;background:#0e9f83;font-weight:900;cursor:pointer}
.v41-waiting-hint,.v41-approved-hint{margin-top:auto;padding-top:10px;color:#8a96a5;font-size:11.5px}.v41-approved-hint{color:#16826e}
.verified-chip.neutral{color:#64748b;background:#f1f5f9}

@media (max-width:980px){
    .v41-register-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
    .v41-register-grid,.v41-info-grid,.v41-portal-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .v41-document-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
    .v41-register-card{padding:24px 16px 32px}
    .v41-register-nav,.v41-register-grid,.v41-document-upload-grid,.v41-admin-document-grid,.v41-info-grid,.v41-portal-document-grid,.v41-portal-overview{grid-template-columns:1fr}
    .v41-register-nav a{min-height:48px}
    .v41-form-section{padding:14px}
    .v41-info-grid>div.wide{grid-column:auto}
}

/* v42 — Exact centering for public registration header */
.v41-registration-page .v21-auth-brand{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:9px;
    text-align:center;
}
.v41-registration-page .v21-auth-brand>div{
    width:100%;
    text-align:center;
}
.v41-registration-page .v41-register-intro{
    width:100%;
    max-width:780px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
.v41-registration-page .v41-register-intro .v21-auth-eyebrow{
    margin-left:auto;
    margin-right:auto;
}

/* v43 — Full registration dossier comparison, national code as primary match criterion */
.v43-comparison-workspace{margin-top:16px}
.v43-primary-match-card{
    margin:0 16px 14px;padding:13px 15px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;
    border:1px solid #dbe8e4;border-radius:15px;background:linear-gradient(135deg,#f8fcfb,#fff);
}
.v43-primary-match-card.is-match{border-color:#c8ece2;background:linear-gradient(135deg,#f3fcf9,#fff)}
.v43-primary-match-card.is-different{border-color:#f0cfd3;background:linear-gradient(135deg,#fff8f8,#fff)}
.v43-primary-match-card.no-employee{border-color:#e3e8ef;background:linear-gradient(135deg,#fafcff,#fff)}
.v43-primary-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#087d67;background:#e6f8f3;font-size:18px}
.is-different .v43-primary-icon{color:#c4525d;background:#fff0f1}.no-employee .v43-primary-icon{color:#64748b;background:#eef2f6}
.v43-primary-match-card small,.v43-primary-match-card strong{display:block}.v43-primary-match-card small{color:#8996a5;font-size:11.5px}.v43-primary-match-card strong{margin-top:2px;color:#2f4359;font-size:15px}
.v43-primary-match-card p{margin:4px 0 0;color:#7a8796;font-size:11.5px;line-height:1.7}
.v43-primary-status{min-height:30px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11.5px;font-weight:950;white-space:nowrap}
.v43-primary-status.match{color:#087d67;background:#e6f8f3}.v43-primary-status.different{color:#c4525d;background:#fff0f1}.v43-primary-status.neutral{color:#64748b;background:#eef2f6}
.v43-comparison-overview{margin:0 16px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px}
.v43-compare-person{min-height:86px;padding:13px;display:flex;align-items:center;gap:10px;border:1px solid #e4eaf0;border-radius:15px;background:#fff;min-width:0}
.v43-compare-person.applicant{border-top:3px solid #0b9b83}.v43-compare-person.hr-record{border-top:3px solid #3277cf}
.v43-person-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;color:#087d67;background:#e6f8f3;font-weight:950}
.hr-record .v43-person-avatar{color:#316ed3;background:#edf4ff}
.v43-compare-person div{min-width:0}.v43-compare-person small,.v43-compare-person b,.v43-compare-person span{display:block}.v43-compare-person small{color:#8d99a7;font-size:11.5px}.v43-compare-person b{margin-top:3px;color:#304258;font-size:14px}.v43-compare-person div>span{margin-top:3px;color:#788697;font-size:11.5px}
.v43-compare-person>a{margin-right:auto;min-height:32px;padding:0 9px;display:inline-flex;align-items:center;border-radius:9px;color:#316ed3;background:#edf4ff;text-decoration:none;font-size:11.5px;font-weight:900;white-space:nowrap}
.v43-compare-summary{min-width:150px;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:1px solid #e4eaf0;border-radius:15px;background:#fbfdff}
.v43-compare-summary>span{padding:8px 7px;display:grid;place-items:center;border-radius:10px;text-align:center}.v43-compare-summary b,.v43-compare-summary small{display:block}.v43-compare-summary b{font-size:17px}.v43-compare-summary small{margin-top:2px;font-size:10.5px;font-weight:850}
.v43-compare-summary .match{color:#087d67;background:#eaf9f5}.v43-compare-summary .different{color:#c4525d;background:#fff1f2}
.v43-no-comparison-record{margin:0 16px 14px;padding:14px;display:flex;align-items:center;gap:11px;border:1px dashed #d4dde7;border-radius:14px;background:#fbfcfe}
.v43-no-comparison-record>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#64748b;background:#eef2f6;font-size:20px}.v43-no-comparison-record b{color:#405168;font-size:13.5px}.v43-no-comparison-record p{margin:4px 0 0;color:#8995a4;font-size:11.5px;line-height:1.7}
.v43-comparison-sections{display:grid;gap:13px;padding:0 16px 16px}
.v43-comparison-section{border:1px solid #e6ecf2;border-radius:16px;background:#fff;overflow:hidden}
.v43-comparison-section>header{min-height:64px;padding:12px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1f5;background:#fbfdff}
.v43-comparison-section>header>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;font-size:12px;font-weight:950}
.v43-comparison-section.stage-one>header>span{color:#087d67;background:#e6f8f3}.v43-comparison-section.stage-two>header>span{color:#316ed3;background:#edf4ff}.v43-comparison-section.stage-three>header>span{color:#7b4ec7;background:#f4efff}
.v43-comparison-section header b,.v43-comparison-section header small{display:block}.v43-comparison-section header b{color:#314158;font-size:14px}.v43-comparison-section header small{margin-top:3px;color:#929dab;font-size:11.5px}
.v43-comparison-table-wrap{overflow-x:auto}
.v43-comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px}
.v43-comparison-table th,.v43-comparison-table td{padding:11px 12px;border-bottom:1px solid #edf1f5;text-align:right;vertical-align:middle;overflow-wrap:anywhere}
.v43-comparison-table thead th{color:#7b8898;background:#f8fafc;font-size:11.5px;font-weight:950}.v43-comparison-table thead th:first-child{width:22%}.v43-comparison-table thead th:nth-child(2),.v43-comparison-table thead th:nth-child(3){width:30%}.v43-comparison-table thead th:last-child{width:18%;text-align:center}
.v43-comparison-table tbody th{color:#526277;font-size:12px;font-weight:900}.v43-comparison-table tbody td{color:#37495f;font-size:12px}.v43-comparison-table tbody td:last-child{text-align:center}
.v43-comparison-table tbody tr:last-child th,.v43-comparison-table tbody tr:last-child td{border-bottom:0}
.v43-comparison-table tr.state-different{background:#fffdfd}.v43-comparison-table tr.state-match{background:#fcfffe}.v43-comparison-table tr.primary-row{background:linear-gradient(90deg,#f1fbf8,#fff);box-shadow:inset 3px 0 0 #0b9b83}
.v43-value{display:block;min-height:34px;padding:7px 9px;border-radius:9px;line-height:1.6}.v43-value.applicant-value{color:#22695e;background:#f0faf7}.v43-value.hr-value{color:#315e93;background:#f1f6fd}
.v43-compare-state{min-height:28px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:950;white-space:nowrap}.v43-compare-state.match{color:#087d67;background:#e6f8f3}.v43-compare-state.different{color:#c4525d;background:#fff0f1}.v43-compare-state.neutral{color:#64748b;background:#eef2f6}
.v43-main-criterion{margin-right:5px;padding:2px 6px;display:inline-flex;border-radius:999px;color:#087d67;background:#e6f8f3;font-size:9.5px;font-weight:950;vertical-align:middle}
@media(max-width:980px){.v43-comparison-overview{grid-template-columns:1fr}.v43-compare-summary{min-width:0}.v43-primary-match-card{grid-template-columns:42px minmax(0,1fr)}.v43-primary-status{grid-column:1/-1;justify-self:start}}
@media(max-width:720px){.v43-primary-match-card,.v43-comparison-overview,.v43-no-comparison-record{margin-left:12px;margin-right:12px}.v43-comparison-sections{padding-left:12px;padding-right:12px}.v43-compare-person{align-items:flex-start;flex-wrap:wrap}.v43-compare-person>a{margin-right:52px}}

/* v45 — Move logout action beside the signed-in username in the top header */
.v20-top-logout{
    min-height:42px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #f0d7da;
    border-radius:11px;
    color:#bf454d;
    background:#fff7f7;
    font-size:12.5px;
    font-weight:900;
    white-space:nowrap;
    transition:.18s ease;
}
.v20-top-logout:hover{
    color:#a9363f;
    background:#fff0f1;
    border-color:#e8c2c6;
    transform:translateY(-1px);
}
.v20-top-logout svg{width:18px;height:18px;flex:0 0 18px}
@media(max-width:680px){
    .v20-top-account{margin-right:auto}
    .v20-top-logout{width:42px;padding:0}
    .v20-top-logout span{display:none}
}

/* v46 — Employee portal navigation, dashboard and announcements */
.v46-portal-body{margin:0;background:#f4f7fb;color:#26364d}
.v46-portal-app{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);direction:rtl}
.v46-portal-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;display:flex;flex-direction:column;overflow:auto;color:#e8f0f8;background:linear-gradient(180deg,#07192d 0%,#0a2036 100%);box-shadow:-8px 0 26px rgba(7,25,45,.08);z-index:80}
.v46-portal-brand{padding:4px 5px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.v46-portal-logo{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;overflow:hidden;border-radius:12px;color:#fff;background:linear-gradient(135deg,#0ca789,#3977ea);font-weight:950}
.v46-portal-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.v46-portal-brand small,.v46-portal-brand strong{display:block}.v46-portal-brand small{color:#8199b2;font-size:12px}.v46-portal-brand strong{margin-top:3px;color:#fff;font-size:14px}
.v46-portal-user-card{margin-top:14px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.04)}
.v46-portal-avatar{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:11px;color:#dffaf3;background:rgba(12,167,137,.18);font-size:16px;font-weight:950}
.v46-portal-user-card strong,.v46-portal-user-card small{display:block}.v46-portal-user-card strong{color:#f6f9fc;font-size:13px}.v46-portal-user-card small{margin-top:3px;color:#7891ab;font-size:11.5px}
.v46-portal-menu{margin-top:15px;display:grid;gap:6px}
.v46-portal-menu a,.v46-preview-menu-item{min-height:44px;padding:0 12px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:11px;color:#9db0c3;text-decoration:none;transition:.16s ease}
.v46-portal-menu a>span,.v46-preview-menu-item>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#8fa8bf;background:rgba(255,255,255,.04);font-size:14px}
.v46-portal-menu a b,.v46-preview-menu-item b{font-size:13px;font-weight:850}
.v46-portal-menu a:hover{color:#fff;background:rgba(255,255,255,.055)}
.v46-portal-menu a.active{color:#fff;border-color:rgba(77,224,195,.14);background:linear-gradient(90deg,rgba(12,167,137,.22),rgba(12,167,137,.08))}
.v46-portal-menu a.active>span{color:#59dec6;background:rgba(12,167,137,.18)}
.v46-preview-menu-item{opacity:.52;cursor:not-allowed}
.v46-portal-sidebar-foot{margin-top:auto;padding-top:16px;display:grid;gap:9px;border-top:1px solid rgba(255,255,255,.07)}
.v46-portal-logout,.v46-portal-return{min-height:40px;padding:0 11px;display:flex;align-items:center;gap:9px;border-radius:10px;text-decoration:none;font-size:12.5px;font-weight:850}
.v46-portal-logout{color:#ffc3c8;background:rgba(205,70,78,.1)}.v46-portal-return{color:#c5d4e1;background:rgba(255,255,255,.05)}
.v46-portal-sidebar-foot>small{text-align:center;color:#627c97;font-size:10.5px}
.v46-portal-workspace{min-width:0;min-height:100vh}
.v46-portal-topbar{height:70px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e6ebf0;background:#fff;box-shadow:0 4px 18px rgba(31,52,77,.025)}
.v46-portal-topbar-title{display:flex;align-items:center;gap:10px}.v46-portal-topbar-title small,.v46-portal-topbar-title strong{display:block}.v46-portal-topbar-title small{color:#98a3b1;font-size:11.5px}.v46-portal-topbar-title strong{margin-top:2px;color:#28394f;font-size:16px}
.v46-portal-mobile-menu{display:none;width:38px;height:38px;border:1px solid #e3e9ef;border-radius:10px;color:#5d6d81;background:#fff;font-size:18px}
.v46-portal-topbar-user{display:flex;align-items:center;gap:8px}.v46-portal-topbar-user>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#087d67;background:#e6f8f3;font-weight:950}.v46-portal-topbar-user strong,.v46-portal-topbar-user small{display:block}.v46-portal-topbar-user strong{font-size:12.5px}.v46-portal-topbar-user small{margin-top:2px;color:#96a1af;font-size:11px}
.v46-portal-content{max-width:1450px;margin:0 auto;padding:22px 24px 34px}
.v46-portal-messages{max-width:1450px;margin:14px auto 0;padding:0 24px}
.v46-portal-hero{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #d8eee8;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f6fffc 62%,#eefaf7 100%);box-shadow:0 8px 25px rgba(31,70,62,.045)}
.v46-portal-hero>div:first-child>span,.v46-section-heading>div>span{color:#0b9278;font-size:12px;font-weight:900}.v46-portal-hero h1{margin:7px 0 6px;color:#23374d;font-size:24px}.v46-portal-hero p{margin:0;color:#728096;font-size:13px;line-height:1.95}.v46-portal-hero-badge{min-width:140px;padding:12px 15px;border:1px solid #d7eee7;border-radius:14px;background:#fff;text-align:center}.v46-portal-hero-badge small,.v46-portal-hero-badge strong{display:block}.v46-portal-hero-badge small{color:#8a97a6;font-size:11px}.v46-portal-hero-badge strong{margin-top:5px;color:#087d67;font-size:15px}
.v46-dashboard-summary{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v46-summary-card{min-height:188px;padding:17px;display:flex;flex-direction:column;border:1px solid #e3e9ef;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(31,52,77,.035)}
.v46-summary-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;font-size:17px;font-weight:950}.v46-summary-card.request .v46-summary-icon{color:#087d67;background:#e6f8f3}.v46-summary-card.payslip .v46-summary-icon{color:#316ed3;background:#edf4ff}.v46-summary-card.profile .v46-summary-icon{color:#7b4ec7;background:#f4efff}.v46-summary-card.account .v46-summary-icon{color:#316ed3;background:#edf4ff}
.v46-summary-card>div{margin-top:11px}.v46-summary-card small{color:#97a2b0;font-size:11px}.v46-summary-card h3{margin:4px 0 3px;color:#2d4057;font-size:15px}.v46-summary-card p{margin:0;color:#7d8b9d;font-size:12px;line-height:1.75}.v46-summary-card>a,.v46-card-muted-link{margin-top:auto;padding-top:11px;color:#0b8f77;text-decoration:none;font-size:12px;font-weight:900}.v46-card-muted-link{color:#98a3b1}
.v46-action-alert{margin-top:14px;padding:16px;border:1px solid #efd3d6;border-radius:17px;background:#fffafa}.v46-action-alert-head{display:flex;align-items:center;gap:10px}.v46-action-alert-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#bf4d56;background:#fff0f1;font-weight:950}.v46-action-alert-head b,.v46-action-alert-head small{display:block}.v46-action-alert-head b{color:#9f3f48;font-size:14px}.v46-action-alert-head small{margin-top:3px;color:#9f7277;font-size:11.5px}.v46-action-document-list{margin-top:11px;display:grid;gap:8px}.v46-action-document-list article{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #f0dfe1;border-radius:11px;background:#fff}.v46-action-document-list b,.v46-action-document-list small{display:block}.v46-action-document-list b{color:#4b5b70;font-size:12.5px}.v46-action-document-list small{margin-top:2px;color:#986d72;font-size:11.5px}.v46-action-document-list a{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;border-radius:9px;color:#fff;background:#c4525d;text-decoration:none;font-size:11.5px;font-weight:900}
.v46-dashboard-grid{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:12px}
.v46-announcement-panel,.v46-dashboard-side>article,.v46-portal-table-card,.v46-request-form-card{border:1px solid #e3e9ef;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(31,52,77,.035)}
.v46-announcement-panel{padding:17px}.v46-announcement-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #edf1f4}.v46-announcement-panel header small,.v46-announcement-panel header h2{display:block;margin:0}.v46-announcement-panel header small{color:#98a3b1;font-size:11px}.v46-announcement-panel header h2{margin-top:3px;color:#2d4057;font-size:16px}.v46-announcement-panel>header>span{padding:5px 8px;border-radius:999px;color:#087d67;background:#e9f9f5;font-size:11px;font-weight:900}
.v46-announcement-list{display:grid}.v46-announcement-list article{padding:14px 0;display:grid;grid-template-columns:86px minmax(0,1fr);gap:13px;border-bottom:1px solid #edf1f4}.v46-announcement-list article:last-child{border-bottom:0}.v46-announcement-date{padding:8px;display:grid;place-items:center;align-content:center;border-radius:12px;color:#087d67;background:#eefaf7;text-align:center}.v46-announcement-date strong,.v46-announcement-date small{display:block}.v46-announcement-date strong{font-size:11.5px}.v46-announcement-date small{margin-top:3px;color:#69a99b;font-size:10.5px}.v46-announcement-list h3{margin:0;color:#30445a;font-size:14px}.v46-announcement-list p{margin:5px 0 6px;color:#65758a;font-size:12.5px;line-height:1.95}.v46-announcement-list article>div:last-child>small{color:#9ca6b2;font-size:10.5px}
.v46-dashboard-side{display:grid;gap:12px;align-content:start}.v46-quick-card{padding:16px}.v46-quick-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#087d67;background:#e6f8f3;font-size:17px}.v46-quick-card>div{margin-top:10px}.v46-quick-card b{color:#304258;font-size:13.5px}.v46-quick-card p{margin:4px 0 0;color:#7b899a;font-size:12px;line-height:1.8}.v46-quick-card>a,.v46-quick-card>small{margin-top:12px;display:inline-flex;color:#0b8f77;text-decoration:none;font-size:11.5px;font-weight:900}
.v46-portal-empty{min-height:220px;padding:26px;display:grid;place-items:center;align-content:center;text-align:center}.v46-portal-empty>span{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;color:#0b8f77;background:#eaf9f5;font-size:23px}.v46-portal-empty h3{margin:10px 0 4px;color:#34475d;font-size:15px}.v46-portal-empty p{max-width:560px;margin:0;color:#8995a5;font-size:12.5px;line-height:1.9}.v46-portal-empty a{margin-top:11px;padding:9px 13px;border-radius:9px;color:#fff;background:#0b8f77;text-decoration:none;font-size:12px;font-weight:900}
.v46-section-heading{margin-bottom:14px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e9ef;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(31,52,77,.03)}.v46-section-heading h1{margin:5px 0 4px;color:#293c53;font-size:22px}.v46-section-heading p{margin:0;color:#7f8c9d;font-size:12.5px;line-height:1.9}
.v46-primary-action,.v46-secondary-action{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;text-decoration:none;font-size:12.5px;font-weight:900;cursor:pointer}.v46-primary-action{border:0;color:#fff;background:linear-gradient(135deg,#0ca789,#087d67);box-shadow:0 7px 16px rgba(12,167,137,.16)}.v46-secondary-action{border:1px solid #dfe6ed;color:#596a7f;background:#fff}
.v46-portal-table-card{padding:15px}.v46-portal-request-list{display:grid;gap:8px}.v46-portal-request-list>article{padding:12px;display:grid;grid-template-columns:minmax(260px,1.2fr) 170px 170px 115px;gap:10px;align-items:center;border:1px solid #e6ebf0;border-radius:13px;background:#fbfcfe}.v46-request-main{display:flex;align-items:center;gap:10px}.v46-request-mark{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;color:#087d67;background:#e6f8f3}.v46-request-main h3{margin:0;color:#304258;font-size:13px}.v46-request-main p{margin:3px 0 0;color:#8b96a5;font-size:11.5px}.v46-request-meta small,.v46-request-meta b{display:block}.v46-request-meta small{color:#9aa4b1;font-size:10.5px}.v46-request-meta b{margin-top:3px;color:#5d6d81;font-size:11.5px}.v46-request-details{grid-column:1/-1;border-top:1px solid #e7edf2;padding-top:8px}.v46-request-details summary{cursor:pointer;color:#0b8f77;font-size:11.5px;font-weight:900}.v46-request-details>div{margin-top:8px;padding:11px;border-radius:10px;background:#fff}.v46-request-details b{display:block;color:#4c5d72;font-size:11.5px}.v46-request-details p{margin:4px 0 10px;color:#65758a;font-size:12px;line-height:1.9}.v46-request-details p:last-child{margin-bottom:0}
.v46-request-form-card{width:100%;max-width:none;padding:18px}.v46-portal-request-form{display:grid;gap:13px}.v46-submit-request{width:100%;margin-top:2px}.v46-payslip-empty{min-height:360px}
.v46-portal-backdrop{display:none}

/* v46 — Admin announcements */
.announcements-hero{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--accent-soft) 58%,#fff));border-color:color-mix(in srgb,var(--accent) 15%,var(--line))}.announcements-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.announcements-workspace{overflow:hidden}.announcements-filter{margin-bottom:14px}.announcement-admin-list{display:grid;gap:8px}.announcement-admin-row{padding:12px;display:grid;grid-template-columns:minmax(320px,1.4fr) 165px 165px 130px auto;gap:11px;align-items:center;border:1px solid #e5ebf1;border-radius:13px;background:#fff}.announcement-admin-row.is-inactive{opacity:.72;background:#fafbfc}.announcement-admin-main{display:flex;align-items:flex-start;gap:10px}.announcement-admin-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.announcement-admin-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.announcement-admin-title h3{margin:0;color:#304258;font-size:13.5px}.announcement-admin-main p{margin:4px 0 0;color:#7a889a;font-size:11.5px;line-height:1.75}.announcement-admin-meta small,.announcement-admin-meta b{display:block}.announcement-admin-meta small{color:#9aa4b1;font-size:10.5px}.announcement-admin-meta b{margin-top:3px;color:#59697d;font-size:11.5px}.announcement-admin-actions{display:flex;align-items:center;gap:6px}.announcement-admin-actions form{margin:0}.announcement-deactivate-btn,.announcement-activate-btn{min-height:38px;padding:0 10px;border-radius:9px;font-size:11.5px;font-weight:900;cursor:pointer}.announcement-deactivate-btn{border:1px solid #efd0d4;color:#ba4b54;background:#fff6f7}.announcement-activate-btn{border:1px solid #cce9e1;color:#087d67;background:#effaf7}.status-pill{padding:4px 7px;border-radius:999px;font-size:10.5px;font-weight:900}.status-pill.active{color:#087d67;background:#e6f8f3}.status-pill.inactive{color:#7b8795;background:#eef1f4}
.announcement-form-fields{display:grid;gap:13px}.announcement-form-fields textarea{min-height:220px!important;line-height:1.95}.announcement-toggle-card{padding:15px;display:flex;align-items:center;gap:12px;border:1px solid #dfe6ed;border-radius:13px;background:#fbfcfe;cursor:pointer}.announcement-toggle-card input{width:20px!important;height:20px!important;min-width:20px;padding:0!important}.announcement-toggle-card b,.announcement-toggle-card small{display:block}.announcement-toggle-card b{color:#35475d;font-size:13.5px}.announcement-toggle-card small{margin-top:3px;color:#8b96a5;font-size:11.5px;line-height:1.7}

@media(max-width:1200px){
    .v46-dashboard-summary{grid-template-columns:1fr 1fr}.v46-summary-card.account{grid-column:1/-1}
    .v46-dashboard-grid{grid-template-columns:1fr}.v46-dashboard-side{grid-template-columns:1fr 1fr}
    .announcement-admin-row{grid-template-columns:minmax(300px,1fr) 150px 150px auto}.announcement-admin-meta:nth-of-type(3){display:none}
}
@media(max-width:900px){
    .v46-portal-app{display:block}.v46-portal-sidebar{position:fixed;right:0;top:0;width:270px;transform:translateX(105%);transition:.22s ease}.portal-menu-open .v46-portal-sidebar{transform:translateX(0)}
    .v46-portal-backdrop{position:fixed;inset:0;background:rgba(5,20,36,.45);z-index:70}.portal-menu-open .v46-portal-backdrop{display:block}.v46-portal-mobile-menu{display:grid;place-items:center}
    .v46-portal-content{padding:16px}.v46-portal-messages{padding:0 16px}.v46-dashboard-summary{grid-template-columns:1fr}.v46-summary-card.account{grid-column:auto}
    .v46-portal-request-list>article{grid-template-columns:1fr 1fr}.v46-request-main{grid-column:1/-1}.v46-request-details{grid-column:1/-1}
    .announcement-admin-row{grid-template-columns:1fr 1fr}.announcement-admin-main,.announcement-admin-actions{grid-column:1/-1}
}
@media(max-width:620px){
    .v46-portal-topbar{padding:0 13px}.v46-portal-topbar-user>div{display:none}.v46-portal-content{padding:12px}.v46-portal-hero,.v46-section-heading{align-items:flex-start;flex-direction:column}.v46-portal-hero h1{font-size:20px}.v46-portal-hero-badge{min-width:0;width:100%}
    .v46-dashboard-side{grid-template-columns:1fr}.v46-announcement-list article{grid-template-columns:1fr}.v46-announcement-date{width:max-content;min-width:100px}.v46-portal-request-list>article{grid-template-columns:1fr}.v46-request-main,.v46-request-details{grid-column:auto}.v46-section-heading .v46-primary-action,.v46-section-heading .v46-secondary-action{width:100%}
    .announcements-stats{grid-template-columns:1fr}.announcement-admin-row{grid-template-columns:1fr}.announcement-admin-main,.announcement-admin-actions{grid-column:auto}.announcement-admin-actions{flex-wrap:wrap}
}


/* v47 — Employee portal account and logout in top header */
.v47-portal-top-account{display:flex;align-items:center;gap:8px}
.v47-portal-top-account .v46-portal-topbar-user{min-height:42px;padding:4px 5px 4px 10px;border:1px solid #e3e9ef;border-radius:12px;background:#fbfcfe}
.v47-portal-top-account .v46-portal-topbar-user>span{width:34px;height:34px;flex:0 0 34px}
.v47-portal-top-account .v46-portal-topbar-user>div{min-width:0;direction:rtl;text-align:right}.v47-portal-top-account .v46-portal-topbar-user strong{direction:ltr;unicode-bidi:plaintext;text-align:right;font-size:12.5px;line-height:1.2}
.v47-portal-top-account .v46-portal-topbar-user small{margin-top:3px;color:#98a3b1;font-size:10.5px}
.v47-portal-top-logout{min-height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #f0d5d8;border-radius:11px;color:#be4f59;background:#fff7f8;text-decoration:none;font-size:12px;font-weight:900;transition:.18s ease}
.v47-portal-top-logout:hover{border-color:#e9bdc2;color:#a83d47;background:#fff1f3;transform:translateY(-1px)}
.v47-portal-top-logout svg{width:17px;height:17px;flex:0 0 17px}
@media(max-width:620px){
    .v47-portal-top-account{gap:6px}
    .v47-portal-top-account .v46-portal-topbar-user{padding-left:7px}
    .v47-portal-top-account .v46-portal-topbar-user>div{display:block}
    .v47-portal-top-account .v46-portal-topbar-user small{display:none}
    .v47-portal-top-account .v46-portal-topbar-user strong{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .v47-portal-top-logout{width:42px;padding:0}
    .v47-portal-top-logout span{display:none}
}


/* v48 — Keep employee contract history compact: show about three rows, scroll the rest */
.v38-contract-list{
    max-height:188px;
    overflow-y:auto;
    overflow-x:hidden;
    padding-inline-end:4px;
    scrollbar-width:thin;
    scrollbar-color:#d9c487 #f7f3e8;
    overscroll-behavior:contain;
}
.v38-contract-list::-webkit-scrollbar{width:7px}
.v38-contract-list::-webkit-scrollbar-track{background:#f7f3e8;border-radius:999px}
.v38-contract-list::-webkit-scrollbar-thumb{background:#d9c487;border-radius:999px}
.v38-contract-list::-webkit-scrollbar-thumb:hover{background:#c7aa59}
@media(max-width:620px){
    .v38-contract-list{max-height:278px}
}


/* v51 — Two-way attachments for employee service requests */
.v51-request-file-field{grid-column:1/-1}.v51-request-upload-shell{display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;align-items:center;padding:13px;border:1px solid #dfe7ef;border-radius:12px;background:linear-gradient(135deg,#fbfefd,#f6fbfa)}.v51-request-upload-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#087d67;background:#e6f8f3;font-size:20px;font-weight:950}.v51-request-upload-copy b,.v51-request-upload-copy small{display:block}.v51-request-upload-copy b{color:#34455c;font-size:13px}.v51-request-upload-copy small{margin-top:3px;color:#8e9aab;font-size:12px;line-height:1.7}.v51-request-upload-shell input[type=file]{grid-column:1/-1;width:100%!important;height:auto!important;padding:9px!important;border:1px solid #dfe7ef!important;border-radius:10px!important;background:#fff!important;color:#627187!important;font-size:12px!important}.v51-request-attachment-card{margin-top:13px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #dce8f5;border-radius:12px;background:#f8fbff}.v51-request-attachment-card.is-empty{border-style:dashed;background:#fbfcfe}.v51-attachment-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#316ed3;background:#edf4ff;font-size:18px;font-weight:950}.v51-request-attachment-card b,.v51-request-attachment-card small{display:block}.v51-request-attachment-card b{color:#35465c;font-size:13px}.v51-request-attachment-card small{margin-top:3px;color:#8d99aa;font-size:12px;line-height:1.7}.v51-request-attachment-card a,.v51-existing-response-file a,.v51-portal-request-file a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:9px;color:#2f6fca;background:#edf4ff;font-size:12px;font-weight:900;text-decoration:none}.v51-request-attachment-card.is-empty .v51-attachment-icon{color:#8d99aa;background:#f0f3f6}.admin-response-upload{margin-top:2px}.v51-existing-response-file{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid #dce8f5;border-radius:9px;color:#68778c;background:#f8fbff;font-size:12px}.v51-portal-request-file{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #dfe8f2;border-radius:10px;background:#f8fbff}.v51-portal-request-file span{color:#57677d;font-size:12.5px;font-weight:900}.v51-portal-request-file.hr-file{border-color:#d8eee8;background:#f7fcfa}.v51-portal-request-file.hr-file a{color:#087d67;background:#e6f8f3}@media(max-width:680px){.v51-request-attachment-card{grid-template-columns:42px minmax(0,1fr)}.v51-request-attachment-card a{grid-column:1/-1}.v51-existing-response-file,.v51-portal-request-file{align-items:stretch;flex-direction:column}.v51-existing-response-file a,.v51-portal-request-file a{width:100%}}

/* v52 — Single-source employee documents */
.v52-document-source-note{
    margin-top:12px;
    padding:11px 13px;
    display:flex;
    align-items:flex-start;
    gap:8px;
    border:1px solid #dce9e5;
    border-radius:11px;
    background:#f8fcfb;
    color:#63766f;
    font-size:12.5px;
    line-height:1.9;
}
.v52-document-source-note span{
    flex:0 0 auto;
    padding:2px 8px;
    border-radius:999px;
    background:#e5f7f2;
    color:#087d67;
    font-size:11.5px;
    font-weight:900;
}
.v38-doc-item.pending{border-color:#dce7f8;background:#f8fbff}
.v38-doc-item.pending .v38-doc-icon{color:#316ed3;background:#edf4ff}
.v38-doc-item.pending small{color:#587db5}
.v38-doc-item.rejected{border-color:#f1d8d8;background:#fffafa}
.v38-doc-item.rejected .v38-doc-icon{color:#b84b4b;background:#fff0f0}
.v38-doc-item.rejected small{color:#b45c5c}
.v38-doc-item.missing{border-style:dashed;background:#fbfcfd}
.v38-doc-item em{display:block;margin-top:2px;color:#a55b5b;font-size:11px;font-style:normal;line-height:1.7}
.v52-no-approved-documents{
    margin-top:12px;
    min-height:76px;
    display:grid;
    place-items:center;
    padding:16px;
    border:1px dashed #dce4ea;
    border-radius:11px;
    background:#fbfcfd;
    color:#7d8998;
    font-size:13px;
    font-weight:700;
    text-align:center;
}

/* v54 — Document review controls aligned with the main HR design system */
.v54-document-review-field{margin-top:11px;min-width:0}
.v54-document-review-field>label{
    display:block;margin:0 0 7px;color:#56657a;font-size:12.5px;font-weight:900;line-height:1.7;
}
.v41-admin-document-card .v54-document-review-control{
    width:100%!important;min-height:46px!important;height:46px!important;padding:0 12px!important;
    border:1px solid #d8e1e8!important;border-radius:10px!important;background:#fff!important;
    color:#2d3e54!important;font-family:inherit!important;font-size:14px!important;font-weight:650!important;
    outline:0!important;box-shadow:0 1px 2px rgba(35,52,75,.03)!important;
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.v41-admin-document-card select.v54-document-review-control{cursor:pointer}
.v41-admin-document-card input.v54-document-review-control::placeholder{color:#a0a9b6;opacity:1}
.v41-admin-document-card .v54-document-review-control:hover{
    border-color:#bcc9d6!important;background:#fcfdff!important;
}
.v41-admin-document-card .v54-document-review-control:focus{
    border-color:#18a68b!important;background:#fff!important;
    box-shadow:0 0 0 4px rgba(24,166,139,.09)!important;
}
.v41-admin-document-card.status-approved .v54-document-review-control:focus{border-color:#12a47f!important}
.v41-admin-document-card.status-rejected .v54-document-review-control:focus{border-color:#d35b65!important;box-shadow:0 0 0 4px rgba(211,91,101,.08)!important}
.v41-admin-document-card.status-pending .v54-document-review-control:focus{border-color:#d5a52d!important;box-shadow:0 0 0 4px rgba(213,165,45,.09)!important}
@media(max-width:680px){
    .v41-admin-document-card .v54-document-review-control{font-size:16px!important}
}


/* v57 — Required marks on employee request form */
.v46-portal-request-form .form-field > label em{
    margin-right:3px;
    color:#d84d55;
    font-style:normal;
    font-weight:950;
}

/* v58 — branded 404 page */
.v58-not-found-page{
    min-height:100vh;
    margin:0;
    padding:28px 18px;
    display:grid;
    place-items:center;
    overflow-x:hidden;
    color:#17263b;
    background:
        radial-gradient(circle at 12% 16%,rgba(19,173,143,.12),transparent 28%),
        radial-gradient(circle at 86% 82%,rgba(49,112,198,.10),transparent 31%),
        linear-gradient(145deg,#07182c 0,#0b2944 30%,#edf3f8 30%,#f7f9fc 100%);
    position:relative;
}
.v58-not-found-page:before,.v58-not-found-page:after{
    content:'';
    position:fixed;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    pointer-events:none;
}
.v58-not-found-page:before{width:440px;height:440px;right:-210px;top:-210px}
.v58-not-found-page:after{width:560px;height:560px;left:-300px;bottom:-330px;border-color:rgba(7,24,44,.06)}
.v58-not-found-card{
    width:min(720px,100%);
    padding:28px 32px 26px;
    border:1px solid rgba(216,226,235,.9);
    border-radius:24px;
    background:rgba(255,255,255,.96);
    box-shadow:0 28px 80px rgba(7,24,44,.18);
    backdrop-filter:blur(12px);
    position:relative;
    z-index:1;
}
.v58-not-found-brand{display:flex;align-items:center;gap:11px;padding-bottom:20px;border-bottom:1px solid #edf1f5}
.v58-not-found-logo{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border:1px solid #e5ebf1;border-radius:14px;color:#fff;background:linear-gradient(145deg,#0aa88a,#0b7f70);box-shadow:0 8px 22px rgba(12,167,137,.18);font-size:20px;font-weight:900}
.v58-not-found-logo img{width:100%;height:100%;object-fit:contain;padding:5px;background:#fff}
.v58-not-found-brand strong,.v58-not-found-brand small{display:block}
.v58-not-found-brand strong{color:#18283d;font-size:16px;font-weight:950}
.v58-not-found-brand small{margin-top:3px;color:#8a96a7;font-size:12px}
.v58-not-found-content{padding:34px 0 26px;text-align:center}
.v58-not-found-code{width:168px;height:104px;margin:0 auto 18px;display:grid;place-items:center;position:relative}
.v58-not-found-code:before{content:'';position:absolute;inset:10px 4px;border:1px solid #dce7ed;border-radius:28px;transform:rotate(-4deg);background:linear-gradient(145deg,#f8fbfd,#eef5f7)}
.v58-not-found-code span{position:relative;z-index:2;color:#0b967e;font-size:58px;line-height:1;font-weight:950;letter-spacing:-3px;text-shadow:0 5px 16px rgba(11,150,126,.12)}
.v58-not-found-code i{width:11px;height:11px;position:absolute;left:13px;top:5px;border-radius:50%;background:#2f74ca;box-shadow:0 0 0 8px rgba(47,116,202,.09)}
.v58-not-found-kicker{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;color:#0b8f77;background:#edf9f6;font-size:12px;font-weight:900}
.v58-not-found-kicker:before{content:'';width:6px;height:6px;border-radius:50%;background:#12ad8e;box-shadow:0 0 0 4px rgba(18,173,142,.10)}
.v58-not-found-content h1{margin:13px 0 8px;color:#17263b;font-size:28px;line-height:1.45;font-weight:950}
.v58-not-found-content p{max-width:540px;margin:0 auto;color:#758397;font-size:14px;line-height:2}
.v58-not-found-actions{display:flex;align-items:center;justify-content:center;gap:10px}
.v58-not-found-primary,.v58-not-found-secondary{min-height:46px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-family:inherit;font-size:13px;font-weight:900;cursor:pointer;transition:.18s ease;text-decoration:none}
.v58-not-found-primary{border:1px solid #0b9f84;color:#fff;background:linear-gradient(135deg,#13ad8f,#0a8b75);box-shadow:0 10px 24px rgba(12,167,137,.20)}
.v58-not-found-primary:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(12,167,137,.27)}
.v58-not-found-secondary{border:1px solid #dce5ed;color:#4c5e73;background:#f8fafc}
.v58-not-found-secondary:hover{transform:translateY(-1px);border-color:#cad8e3;background:#fff;box-shadow:0 8px 20px rgba(31,48,69,.08)}
.v58-not-found-primary svg,.v58-not-found-secondary svg{width:17px;height:17px;flex:0 0 17px}
.v58-not-found-foot{margin-top:24px;padding-top:16px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #edf1f5;color:#929dac;font-size:11.5px}
.v58-not-found-dot{width:7px;height:7px;border-radius:50%;background:#f2aa45;box-shadow:0 0 0 5px rgba(242,170,69,.11)}
@media (max-width:640px){
    .v58-not-found-page{padding:16px 12px;background:linear-gradient(160deg,#07182c 0,#0a2944 25%,#eef3f8 25%,#f7f9fc 100%)}
    .v58-not-found-card{padding:21px 17px 20px;border-radius:20px}
    .v58-not-found-content{padding:28px 0 22px}
    .v58-not-found-code{width:145px;height:92px}.v58-not-found-code span{font-size:50px}
    .v58-not-found-content h1{font-size:23px}
    .v58-not-found-content p{font-size:13px}
    .v58-not-found-actions{align-items:stretch;flex-direction:column}
    .v58-not-found-primary,.v58-not-found-secondary{width:100%}
}

/* v59 — unified personnel/admin avatars across the whole application */
.site-avatar-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    border-radius:inherit;
}
.v20-user-avatar,
.v20-top-user>span,
.v20-person-avatar,
.person-mini-avatar,
.no-contract-avatar,
.v33-review-avatar,
.v43-person-avatar,
.v46-portal-avatar,
.v46-portal-topbar-user>span,
.v38-person-avatar{
    overflow:hidden;
    padding:0;
    line-height:0;
}
.v20-user-avatar .site-avatar-image,
.v20-top-user>span .site-avatar-image,
.v20-person-avatar .site-avatar-image,
.person-mini-avatar .site-avatar-image,
.no-contract-avatar .site-avatar-image,
.v33-review-avatar .site-avatar-image,
.v43-person-avatar .site-avatar-image,
.v46-portal-avatar .site-avatar-image,
.v46-portal-topbar-user>span .site-avatar-image,
.v38-person-avatar .site-avatar-image{
    width:100%;
    height:100%;
    min-width:100%;
    min-height:100%;
}

/* v62 — Unified management styling for announcement list and form */
.v62-announcement-banner{margin-bottom:14px}
.v62-announcement-banner-actions{position:relative;z-index:1;display:flex;align-items:center;gap:12px}
.v62-announcement-create{white-space:nowrap;text-decoration:none}
.v62-announcement-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.v62-announcement-stats .v20-stat-card{min-height:126px}
.v62-announcement-workspace{padding:18px!important}
.v62-workspace-head{margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.v62-workspace-head h2{margin:5px 0 3px;color:#22364d;font-size:18px}
.v62-workspace-head p{margin:0;color:#8a96a7;font-size:12px;line-height:1.8}
.v62-record-count{padding:6px 9px;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--line));border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:11.5px;font-weight:900;white-space:nowrap}
.v62-announcement-filter{margin-bottom:16px;padding:12px;display:grid;grid-template-columns:minmax(300px,1fr) 220px auto;gap:10px;align-items:end;border:1px solid #e4eaf0;border-radius:13px;background:#f9fbfd}
.v62-announcement-filter .filter-field{min-width:0}
.v62-announcement-filter .filter-field>label{margin-bottom:6px;display:block;color:#68788d;font-size:11.5px;font-weight:900}
.v62-announcement-filter input,.v62-announcement-filter select{width:100%;min-height:42px;padding:0 11px;border:1px solid #d9e1e9;border-radius:10px;color:#35485f;background:#fff;font-family:inherit;font-size:12.5px;outline:none;transition:.18s ease}
.v62-announcement-filter input:focus,.v62-announcement-filter select:focus{border-color:color-mix(in srgb,var(--accent) 55%,#d9e1e9);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.v62-search-control{position:relative}
.v62-search-control>span{position:absolute;right:11px;top:50%;width:17px;height:17px;display:grid;place-items:center;transform:translateY(-50%);color:#94a0af;pointer-events:none}
.v62-search-control .ui-icon{width:16px;height:16px}
.v62-search-control input{padding-right:37px}
.v62-filter-actions{display:flex;align-items:center;gap:7px}
.v62-filter-actions .filter-submit-btn{min-width:108px}
.v62-filter-actions .filter-reset{min-height:42px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce4eb;border-radius:10px;color:#68788d;background:#fff;text-decoration:none;font-size:12px;font-weight:900}
.v62-announcement-list{display:grid;gap:9px}
.v62-announcement-card{padding:14px;display:grid;grid-template-columns:minmax(320px,1.45fr) minmax(340px,.95fr) auto;gap:14px;align-items:center;border:1px solid #e2e8ef;border-radius:14px;background:#fff;transition:.18s ease}
.v62-announcement-card:hover{border-color:color-mix(in srgb,var(--accent) 24%,#e2e8ef);box-shadow:0 9px 24px rgba(34,54,77,.055);transform:translateY(-1px)}
.v62-announcement-card.is-inactive{background:#fafbfc}
.v62-announcement-card.is-inactive .v62-announcement-copy{opacity:.72}
.v62-announcement-main{min-width:0;display:flex;align-items:flex-start;gap:11px}
.v62-announcement-mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:var(--accent-soft)}
.v62-announcement-mark .ui-icon{width:21px;height:21px}
.v62-announcement-copy{min-width:0}
.v62-announcement-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v62-announcement-title-row h3{margin:0;color:#2c4058;font-size:14px;line-height:1.6}
.v62-announcement-copy p{margin:5px 0 0;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#7d8999;font-size:11.75px;line-height:1.85}
.v62-status-pill{padding:4px 7px;display:inline-flex;align-items:center;gap:5px;border-radius:999px;font-size:10.5px;font-weight:900}
.v62-status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}
.v62-status-pill.is-active{color:#087d67;background:#e7f8f3}
.v62-status-pill.is-inactive{color:#7b8795;background:#eef1f4}
.v62-announcement-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.v62-announcement-meta{min-width:0;padding:8px 9px;border:1px solid #edf1f4;border-radius:9px;background:#fbfcfe}
.v62-announcement-meta span,.v62-announcement-meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v62-announcement-meta span{color:#9aa4b1;font-size:10px}
.v62-announcement-meta strong{margin-top:3px;color:#586a80;font-size:10.75px;font-weight:800}
.v62-announcement-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.v62-announcement-actions form{margin:0}
.v62-edit-btn,.v62-toggle-btn{min-height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;font-family:inherit;font-size:11.5px;font-weight:900;white-space:nowrap;cursor:pointer;transition:.16s ease}
.v62-edit-btn{border:1px solid color-mix(in srgb,var(--accent) 22%,#e2e8ef);color:var(--accent-dark);background:color-mix(in srgb,var(--accent-soft) 55%,#fff);text-decoration:none}
.v62-edit-btn .ui-icon{width:15px;height:15px}
.v62-toggle-btn.deactivate{border:1px solid #efd0d4;color:#ba4b54;background:#fff6f7}
.v62-toggle-btn.activate{border:1px solid #cce9e1;color:#087d67;background:#effaf7}
.v62-edit-btn:hover,.v62-toggle-btn:hover{transform:translateY(-1px);filter:brightness(.985)}
.v62-announcement-empty{min-height:300px;padding:34px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed #d9e2eb;border-radius:14px;background:#fbfcfe}
.v62-announcement-empty>span{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;color:var(--accent);background:var(--accent-soft)}
.v62-announcement-empty>span .ui-icon{width:27px;height:27px}
.v62-announcement-empty h3{margin:12px 0 4px;color:#304258;font-size:16px}
.v62-announcement-empty p{margin:0;color:#8995a5;font-size:12.5px}
.v62-announcement-empty a{margin-top:13px;text-decoration:none}

.v62-announcement-form-shell{max-width:1240px;margin:0 auto}
.v62-announcement-form-hero{align-items:center!important}
.v62-form-hero-copy{min-width:0}
.v62-form-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.v62-form-title-row h2{margin:5px 0!important}
.v62-form-mode-badge{padding:5px 8px;border-radius:999px;color:var(--accent);background:#fff;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));font-size:10.75px;font-weight:900}
.v62-back-btn{min-height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dfe6ed;border-radius:10px;color:#617188;background:#fff;text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap}
.v62-back-btn b{font-size:16px;color:var(--accent)}
.v62-announcement-step-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}
.v62-announcement-form-section{scroll-margin-top:18px}
.v62-announcement-section-side .section-icon{color:var(--accent);background:var(--accent-soft)}
.v62-announcement-fields{display:grid;gap:14px}
.v62-announcement-fields textarea{min-height:250px!important;resize:vertical;line-height:2!important}
.v62-field-hint{margin-top:5px;display:block;color:#96a1af;font-size:10.75px;line-height:1.7}
.v62-announcement-toggle-card{min-height:100px;padding:16px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;border:1px solid #dfe6ed;border-radius:14px;background:#fbfcfe;cursor:pointer;transition:.18s ease}
.v62-announcement-toggle-card:hover{border-color:color-mix(in srgb,var(--accent) 27%,#dfe6ed);background:color-mix(in srgb,var(--accent-soft) 28%,#fff)}
.v62-toggle-input{position:absolute;opacity:0;pointer-events:none}
.v62-toggle-visual{width:46px;height:25px;padding:3px;display:flex;align-items:center;border-radius:999px;background:#c9d1db;transition:.18s ease}
.v62-toggle-visual i{width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(27,45,66,.18);transition:.18s ease}
.v62-toggle-input:has(input:checked)+.v62-toggle-visual{background:var(--accent)}
.v62-toggle-input:has(input:checked)+.v62-toggle-visual i{transform:translateX(-21px)}
.v62-toggle-copy b,.v62-toggle-copy small{display:block}
.v62-toggle-copy b{color:#35475d;font-size:13.5px}
.v62-toggle-copy small{margin-top:4px;color:#8b96a5;font-size:11.5px;line-height:1.8}
.v62-announcement-policy-note{margin-top:12px;padding:13px;display:flex;align-items:flex-start;gap:10px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 42%,#fff)}
.v62-announcement-policy-note>span{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:#fff}
.v62-announcement-policy-note .ui-icon{width:18px;height:18px}
.v62-announcement-policy-note b{color:#8a4b08;font-size:12.5px}
.v62-announcement-policy-note p{margin:4px 0 0;color:#8b6a3f;font-size:11.5px;line-height:1.8}
.v62-save-cancel{min-height:39px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dfe6ed;border-radius:10px;color:#6b798b;background:#fff;text-decoration:none;font-size:12px;font-weight:900}

@media(max-width:1180px){
    .v62-announcement-card{grid-template-columns:minmax(300px,1fr) minmax(330px,1fr)}
    .v62-announcement-actions{grid-column:1/-1;justify-content:flex-start;border-top:1px solid #edf1f4;padding-top:10px}
}
@media(max-width:900px){
    .v62-announcement-banner-actions{align-items:flex-start;flex-direction:column}
    .v62-announcement-filter{grid-template-columns:1fr 1fr}
    .v62-filter-actions{grid-column:1/-1}
    .v62-announcement-card{grid-template-columns:1fr}
    .v62-announcement-actions{grid-column:auto}
}
@media(max-width:680px){
    .v62-announcement-stats{grid-template-columns:1fr}
    .v62-announcement-workspace{padding:12px!important}
    .v62-workspace-head{align-items:flex-start;flex-direction:column}
    .v62-announcement-filter{grid-template-columns:1fr}
    .v62-filter-actions{grid-column:auto;flex-wrap:wrap}
    .v62-filter-actions .filter-submit-btn{flex:1}
    .v62-announcement-meta-grid{grid-template-columns:1fr}
    .v62-announcement-actions{flex-wrap:wrap}
    .v62-announcement-actions>*{flex:1}
    .v62-announcement-actions form .v62-toggle-btn,.v62-announcement-actions .v62-edit-btn{width:100%}
    .v62-announcement-form-hero{align-items:flex-start!important;flex-direction:column}
    .v62-back-btn{width:100%}
    .v62-announcement-step-nav{grid-template-columns:1fr}
    .v62-announcement-toggle-card{grid-template-columns:auto minmax(0,1fr)}
    .v62-toggle-visual{grid-row:1/3}
    .v62-toggle-copy{grid-column:2}
    .v62-announcement-save-bar{align-items:stretch!important;flex-direction:column}
    .v62-announcement-save-bar .save-bar-actions{display:grid;grid-template-columns:1fr 1fr}
}

/* v63 — Categorized initial settings dashboard with explicit usage paths */
.v63-settings-banner{margin-bottom:14px}
.v63-settings-overview{margin-bottom:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.v63-settings-overview-card{min-height:92px;padding:14px 16px;display:flex;align-items:center;gap:12px;border:1px solid #e2e8ef;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(34,54,77,.035)}
.v63-settings-overview-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:var(--accent-soft)}
.v63-settings-overview-icon .ui-icon{width:21px;height:21px}
.v63-settings-overview-card strong,.v63-settings-overview-card small{display:block}
.v63-settings-overview-card strong{color:#293d55;font-size:19px;line-height:1.2}
.v63-settings-overview-card small{margin-top:4px;color:#8a96a6;font-size:11.5px}
.v63-settings-groups{display:grid;gap:14px}
.v63-settings-group{overflow:hidden;border:1px solid #e1e8ef;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(36,55,78,.04)}
.v63-settings-group-head{padding:16px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e9eef3;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--accent-soft) 46%,#fff))}
.v63-settings-group-title{min-width:0;display:flex;align-items:center;gap:12px}
.v63-settings-group-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:13px;color:var(--accent);background:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 10%,transparent)}
.v63-settings-group-icon .ui-icon{width:22px;height:22px}
.v63-settings-group-kicker{display:block;color:var(--accent);font-size:10.5px;font-weight:900}
.v63-settings-group-title h2{margin:3px 0 2px;color:#2b3e56;font-size:16px}
.v63-settings-group-title p{margin:0;color:#8793a3;font-size:11.5px;line-height:1.75}
.v63-settings-group-count{padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));border-radius:999px;color:var(--accent);background:#fff;font-size:10.75px;font-weight:900;white-space:nowrap}
.v63-settings-card-grid{padding:11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.v63-settings-card-grid-single .v63-settings-card{max-width:none}
.v63-settings-card{min-width:0;min-height:176px;padding:14px;display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:11px;align-items:start;border:1px solid #e3e9ef;border-radius:14px;color:inherit;background:#fff;text-decoration:none;transition:.18s ease}
.v63-settings-card:hover{border-color:color-mix(in srgb,var(--accent) 28%,#e3e9ef);box-shadow:0 10px 26px rgba(33,52,74,.065);transform:translateY(-2px)}
.v63-settings-card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:var(--accent-soft)}
.v63-settings-card-icon .ui-icon{width:21px;height:21px}
.v63-settings-card-body{min-width:0}
.v63-settings-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.v63-settings-card-title-row h3{margin:0;color:#2f4259;font-size:14px}
.v63-settings-status{padding:4px 7px;border-radius:999px;color:#6f7f93;background:#f2f5f8;font-size:10.25px;font-weight:900;white-space:nowrap}
.v63-settings-card-body>p{margin:5px 0 10px;color:#7f8c9d;font-size:11.5px;line-height:1.8}
.v63-settings-usage{padding-top:9px;border-top:1px dashed #e3e9ef}
.v63-settings-usage-label{display:block;margin-bottom:6px;color:#9aa4b1;font-size:9.75px;font-weight:900}
.v63-settings-path{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.v63-settings-path span,.v63-settings-path strong{padding:4px 6px;border-radius:7px;font-size:10.25px;line-height:1.4}
.v63-settings-path span{color:#617187;background:#f4f6f9;font-weight:800}
.v63-settings-path strong{color:var(--accent);background:var(--accent-soft);font-weight:900}
.v63-settings-path b{color:#b1bbc7;font-size:12px;font-weight:900}
.v63-settings-card-arrow{width:28px;height:28px;display:grid;place-items:center;align-self:center;border-radius:8px;color:#9aa7b6;background:#f6f8fa;font-size:15px;transition:.18s ease}
.v63-settings-card:hover .v63-settings-card-arrow{color:#fff;background:var(--accent);transform:translateX(-2px)}

@media(max-width:980px){
    .v63-settings-card-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
    .v63-settings-overview{grid-template-columns:1fr}
    .v63-settings-group-head{align-items:flex-start}
    .v63-settings-group-title{align-items:flex-start}
    .v63-settings-card{grid-template-columns:40px minmax(0,1fr)}
    .v63-settings-card-icon{width:40px;height:40px}
    .v63-settings-card-arrow{display:none}
}
@media(max-width:480px){
    .v63-settings-group-head{padding:13px}
    .v63-settings-group-count{display:none}
    .v63-settings-card-grid{padding:8px}
    .v63-settings-card{padding:12px;gap:9px}
    .v63-settings-path{gap:3px}
    .v63-settings-path span,.v63-settings-path strong{font-size:9.75px}
}


/* v66 — Independent blue identity for the Requests module */
body.theme-requests{--accent:#3977ea;--accent-dark:#285fca;--accent-soft:#edf4ff}

/* Registration approvals */
body.theme-requests .portal-membership-hero{--accent:#3977ea;--accent-soft:#edf4ff;background:linear-gradient(135deg,#fff 0%,#f8faff 52%,#eef4ff 100%)!important;border-color:#dbe6fb!important}
body.theme-requests .portal-membership-hero .hr-kicker-icon{color:#316ed3;background:#eaf2ff}
body.theme-requests .membership-person-cell .person-mini-avatar{background:linear-gradient(135deg,#edf4ff,#dfeaff);color:#316ed3;border-color:#cbdcf8}
body.theme-requests .portal-membership-actions .membership-review-btn{background:#3977ea;border-color:#3977ea;box-shadow:0 5px 12px rgba(57,119,234,.18)}
body.theme-requests .portal-membership-actions .membership-review-btn:hover{background:#285fca;border-color:#285fca}
body.theme-requests .portal-membership-actions .membership-preview-btn:hover{color:#316ed3;background:#f2f6ff;border-color:#d5e3fa}
body.theme-requests .membership-table-empty .empty-icon{color:#316ed3;background:#edf4ff}
body.theme-requests .membership-review-hero{border-color:#dbe6fb;background:linear-gradient(135deg,#fff,#f3f7ff)}
body.theme-requests .membership-review-hero .hr-review-kicker{color:#316ed3}
body.theme-requests .membership-review-hero .hr-review-summary>div{border-color:#e1e9f7}
body.theme-requests .membership-review-hero .hr-review-back{color:#316ed3;background:#f0f5ff;border-color:#d8e4f8}
body.theme-requests .v712-registration-review .v33-review-back{color:#316ed3;background:#f0f5ff;border-color:#d8e4f8;box-shadow:0 5px 14px rgba(49,110,211,.06)}
body.theme-requests .v712-registration-review .v33-review-back:hover{color:#285fca;background:#e8f0ff;border-color:#c9daf7;transform:none!important}
body.theme-requests .hr-review-data-card.submitted-data .hr-review-card-icon{color:#316ed3;background:#edf4ff}
body.theme-requests .hr-decision-workspace{border-color:#e0e8f6}

/* Employee requests */
body.theme-requests .portal-requests-hero{--accent:#3977ea;--accent-soft:#edf4ff;background:linear-gradient(135deg,#fff 0%,#f8faff 52%,#eef4ff 100%)!important;border-color:#dbe6fb!important}
body.theme-requests .portal-requests-hero .hr-kicker-icon{color:#316ed3;background:#eaf2ff}
body.theme-requests .request-type-icon{border-color:#d5e2fa;color:#316ed3;background:linear-gradient(135deg,#f2f6ff,#e7efff)}
body.theme-requests .request-person-cell .person-mini-avatar{background:linear-gradient(135deg,#edf4ff,#dfeaff);color:#316ed3;border-color:#cbdcf8}
body.theme-requests .portal-request-actions .request-review-btn{background:#3977ea;border-color:#3977ea;box-shadow:0 5px 12px rgba(57,119,234,.18)}
body.theme-requests .portal-request-actions .request-review-btn:hover{background:#285fca;border-color:#285fca}
body.theme-requests .portal-requests-empty .empty-icon{color:#316ed3;background:#edf4ff}
body.theme-requests .portal-request-review-hero{border-color:#dbe6fb;background:linear-gradient(135deg,#fff,#f3f7ff)}
body.theme-requests .portal-request-review-hero .hr-review-kicker{color:#316ed3}
body.theme-requests .portal-request-review-hero .hr-review-summary>div{border-color:#e1e9f7}
body.theme-requests .portal-request-review-hero .hr-review-back{color:#316ed3;background:#f0f5ff;border-color:#d8e4f8}
body.theme-requests .portal-request-review-hero .v33-review-back{color:#316ed3;background:#f0f5ff;border-color:#d8e4f8;box-shadow:0 5px 14px rgba(49,110,211,.06)}
body.theme-requests .portal-request-review-hero .v33-review-back:hover{color:#285fca;background:#e8f0ff;border-color:#c9daf7;transform:none!important}
body.theme-requests .portal-request-person-banner{border-color:#dce7f8;background:#f7faff}
body.theme-requests .portal-request-person-banner .person-mini-avatar{background:linear-gradient(135deg,#edf4ff,#dfeaff);color:#316ed3;border-color:#cbdcf8}
body.theme-requests .portal-request-description{border-color:#e0e8f5;background:#fbfcff}
body.theme-requests .v51-request-upload-shell{border-color:#dce7f7;background:linear-gradient(135deg,#fbfdff,#f4f8ff)}
body.theme-requests .v51-request-upload-icon{color:#316ed3;background:#edf4ff}
body.theme-requests .v51-portal-request-file.hr-file{border-color:#dce7f8;background:#f7faff}
body.theme-requests .v51-portal-request-file.hr-file a{color:#316ed3;background:#edf4ff}

@media(max-width:680px){.v68-payroll-status{align-items:flex-start;padding:14px}.v68-payroll-status-icon{width:40px;height:40px;flex-basis:40px}}

/* v7.0.1 — Account recovery + SMS/OTP management */
.v701-auth-recovery{margin-top:4px;text-align:center}
.v701-auth-recovery a,.v701-recovery-back a,.v701-link-button{color:#2f6fdf;font-size:13px;font-weight:900;text-decoration:none}
.v701-auth-recovery a:hover,.v701-recovery-back a:hover{text-decoration:underline}
.v701-recovery-card{max-width:520px}
.v701-recovery-card .v21-input-wrap .form-control{width:100%;border:0;outline:0;background:transparent;padding:13px 14px;font:inherit}
.v701-recovery-card .v21-input-wrap{display:block}
.v701-field-error{display:block;margin-top:6px;color:#b8484e;font-size:12px;font-weight:800}
.v701-recovery-back{margin-top:18px;padding-top:14px;border-top:1px solid #e7edf3;text-align:center}
.v701-resend-form{text-align:center;margin-top:10px}
.v701-link-button{border:0;background:transparent;cursor:pointer;padding:8px 12px;font-family:inherit}
.v701-otp-input input{text-align:center;letter-spacing:8px;font-size:21px;font-weight:900}
.v701-username-box{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:13px 15px;border:1px solid #dce7f8;border-radius:13px;background:#f7faff}
.v701-username-box span{color:#718097;font-size:12px;font-weight:800}
.v701-username-box strong{color:#244f98;font-size:16px}
.v21-auth-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.v21-auth-alert.info{color:#265f9c;background:#f1f7ff;border-color:#d6e6fa}

.v701-sms-banner{background:linear-gradient(135deg,#fff 0%,#f8fbff 56%,#eef6ff 100%)!important}
.v701-sms-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.v701-sms-status-card{min-width:0;padding:15px 16px;border:1px solid #e2e9f1;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(40,58,79,.04)}
.v701-sms-status-card span{display:block;color:#8a96a6;font-size:11px;font-weight:900;margin-bottom:6px}
.v701-sms-status-card strong{display:block;color:#33485e;font-size:14px;overflow-wrap:anywhere}
.v701-sms-status-card strong.ok{color:#198754}.v701-sms-status-card strong.bad{color:#b94752}.v701-sms-status-card strong.muted{color:#7b8795}
.v701-sms-status-card small{display:block;margin-top:6px;color:#8b97a5;font-size:10.5px;line-height:1.7}
.v701-sms-form .field-box-wide{grid-column:1/-1}
.v701-test-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:6px}
.v701-connection-message{padding:11px 13px;border-radius:10px;background:#f5f8fb;color:#5f7084;font-size:12px;line-height:1.9}
.v701-sms-log-card{margin-top:16px}
.v701-sms-log-table td,.v701-sms-log-table th{vertical-align:middle}
.v701-log-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:900;white-space:nowrap;background:#f1f4f7;color:#667487}
.v701-log-status.sent{background:#eaf8f0;color:#177344}.v701-log-status.failed{background:#fff0f1;color:#aa3f49}.v701-log-status.pending{background:#fff8e8;color:#916609}
@media(max-width:900px){.v701-sms-status-grid{grid-template-columns:1fr}.v701-test-actions{align-items:stretch}.v701-test-actions .primary-btn,.v701-test-actions .ghost-btn{width:100%;justify-content:center}}

/* ========================================================================
   v71 — Management Panel visual standard / Announcements
   Management accent: blue-slate, compact command surfaces, dense admin lists
   ======================================================================== */
.v71-management-page{
    --mgmt:#456b8a;
    --mgmt-dark:#2c4e69;
    --mgmt-deep:#20384d;
    --mgmt-soft:#eef4f8;
    --mgmt-line:#dce6ee;
    --mgmt-muted:#738397;
    max-width:1500px;
    margin:0 auto;
}
.v71-admin-hero{
    min-height:132px;
    margin-bottom:14px;
    padding:22px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    border:1px solid #dce6ee;
    border-radius:18px;
    background:
        linear-gradient(112deg,rgba(69,107,138,.075),rgba(255,255,255,.98) 55%),
        #fff;
    box-shadow:0 10px 32px rgba(27,52,75,.055);
    position:relative;
    overflow:hidden;
}
.v71-admin-hero:after{
    content:"";
    width:170px;
    height:170px;
    position:absolute;
    left:-75px;
    top:-88px;
    border-radius:50%;
    border:24px solid rgba(69,107,138,.045);
    pointer-events:none;
}
.v71-admin-hero-copy,.v71-admin-hero-actions{position:relative;z-index:1}
.v71-admin-breadcrumb{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#8391a2;
    font-size:11.5px;
    font-weight:800;
}
.v71-admin-breadcrumb b{color:#b1bcc8;font-weight:700}
.v71-admin-title-line{margin-top:11px;display:flex;align-items:center;gap:13px}
.v71-admin-title-icon{
    width:50px;height:50px;flex:0 0 50px;
    display:grid;place-items:center;
    border-radius:14px;
    color:#fff;
    background:linear-gradient(145deg,#456b8a,#2c4e69);
    box-shadow:0 10px 24px rgba(44,78,105,.18);
}
.v71-admin-title-icon .ui-icon{width:24px;height:24px}
.v71-admin-title-line h1{margin:0;color:#21384d;font-size:22px;line-height:1.45}
.v71-admin-title-line p{margin:4px 0 0;color:#7c8a9b;font-size:12.5px;line-height:1.8}
.v71-admin-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.v71-admin-scope{
    min-height:38px;padding:0 11px;
    display:inline-flex;align-items:center;
    border:1px solid #dce6ee;border-radius:10px;
    color:#65768a;background:#f9fbfd;
    font-size:11.5px;font-weight:850;
}
.v71-primary-action,
.v71-secondary-action{
    min-height:42px;padding:0 14px;
    display:inline-flex;align-items:center;justify-content:center;gap:7px;
    border-radius:10px;
    font-family:inherit;font-size:12px;font-weight:900;
    text-decoration:none;white-space:nowrap;
    transition:.17s ease;
}
.v71-primary-action{border:1px solid #355c7b;color:#fff;background:linear-gradient(145deg,#4b7393,#31546f);box-shadow:0 7px 18px rgba(44,78,105,.14)}
button.v71-primary-action{cursor:pointer}
.v71-primary-action:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(44,78,105,.19)}
.v71-secondary-action{border:1px solid #d8e2ea;color:#5d6f82;background:#fff}
.v71-secondary-action:hover{border-color:#c4d3df;color:#36566f;background:#fbfdff}
.v71-secondary-action b{color:#456b8a;font-size:15px}

.v71-kpi-strip{margin-bottom:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v71-kpi-card{
    min-height:100px;padding:15px 16px;
    display:flex;align-items:center;gap:12px;
    border:1px solid #e0e8ef;border-radius:15px;background:#fff;
    box-shadow:0 6px 20px rgba(25,49,72,.035);
}
.v71-kpi-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px}
.v71-kpi-icon .ui-icon{width:21px;height:21px}
.v71-kpi-card>div small,.v71-kpi-card>div strong,.v71-kpi-card>div>span{display:block}
.v71-kpi-card small{color:#8592a3;font-size:10.5px;font-weight:850}
.v71-kpi-card strong{margin-top:1px;color:#263d52;font-size:22px;line-height:1.25}
.v71-kpi-card div>span{margin-top:3px;color:#98a3b0;font-size:10.75px}
.v71-kpi-card.is-primary .v71-kpi-icon{color:#365d7c;background:#edf3f7}
.v71-kpi-card.is-active .v71-kpi-icon{color:#087d67;background:#e9f8f4}
.v71-kpi-card.is-archive .v71-kpi-icon{color:#68788b;background:#f0f3f6}

.v71-admin-panel{
    padding:0;
    overflow:hidden;
    border:1px solid #dfe7ee;
    border-radius:17px;
    background:#fff;
    box-shadow:0 9px 28px rgba(25,49,72,.045);
}
.v71-panel-toolbar{
    min-height:92px;padding:18px 20px;
    display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
    border-bottom:1px solid #e7edf2;
    background:linear-gradient(180deg,#fff,#fbfcfe);
}
.v71-panel-eyebrow{display:block;color:#456b8a;font-size:10.75px;font-weight:950;letter-spacing:.1px}
.v71-panel-toolbar h2{margin:4px 0 2px;color:#243a4e;font-size:17px}
.v71-panel-toolbar p{margin:0;color:#8794a4;font-size:11.75px;line-height:1.8}
.v71-result-count{padding:6px 9px;border:1px solid #d8e3eb;border-radius:999px;color:#4e6880;background:#f5f8fb;font-size:10.75px;font-weight:900;white-space:nowrap}

.v71-filterbar{
    padding:13px 16px;
    display:grid;grid-template-columns:minmax(300px,1fr) 210px auto;gap:10px;align-items:end;
    border-bottom:1px solid #e9eef3;
    background:#f7f9fb;
}
.v71-filterbar label{margin-bottom:5px;display:block;color:#66778a;font-size:10.75px;font-weight:900}
.v71-filterbar input,.v71-filterbar select{
    width:100%;height:41px;padding:0 11px;
    border:1px solid #d8e2ea;border-radius:9px;
    color:#344b60;background:#fff;outline:none;font-family:inherit;font-size:12px;
    transition:.16s ease;
}
.v71-filterbar input:focus,.v71-filterbar select:focus{border-color:#7895ad;box-shadow:0 0 0 3px rgba(69,107,138,.09)}
.v71-search-input{position:relative}
.v71-search-input>span{position:absolute;right:11px;top:50%;width:16px;height:16px;display:grid;place-items:center;transform:translateY(-50%);color:#8795a5;pointer-events:none}
.v71-search-input .ui-icon{width:15px;height:15px}
.v71-search-input input{padding-right:36px}
.v71-filter-actions{display:flex;align-items:center;gap:7px}
.v71-filter-submit,.v71-filter-reset{height:41px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-family:inherit;font-size:11.5px;font-weight:900;white-space:nowrap}
.v71-filter-submit{border:1px solid #3c627f;color:#fff;background:#456b8a}
.v71-filter-reset{border:1px solid #d9e2e9;color:#6b7a8b;background:#fff;text-decoration:none}

.v71-admin-list{display:grid}
.v71-admin-list-head{
    min-height:39px;padding:0 14px;
    display:grid;grid-template-columns:minmax(330px,1.45fr) 115px minmax(245px,.8fr) minmax(120px,.45fr) 170px;gap:12px;align-items:center;
    color:#8794a3;background:#fbfcfd;border-bottom:1px solid #e9eef3;
    font-size:10px;font-weight:900;
}
.v71-admin-row{
    min-height:94px;padding:12px 14px;
    display:grid;grid-template-columns:minmax(330px,1.45fr) 115px minmax(245px,.8fr) minmax(120px,.45fr) 170px;gap:12px;align-items:center;
    border-bottom:1px solid #edf1f4;background:#fff;
    transition:.16s ease;
}
.v71-admin-row:last-child{border-bottom:0}
.v71-admin-row:hover{background:#fbfdff;box-shadow:inset -3px 0 #6f8da5}
.v71-admin-row.is-inactive{background:#fafbfc}
.v71-admin-row.is-inactive .v71-row-main,.v71-admin-row.is-inactive .v71-row-dates,.v71-admin-row.is-inactive .v71-row-owner{opacity:.72}
.v71-row-main{min-width:0;display:flex;align-items:flex-start;gap:10px}
.v71-row-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;color:#456b8a;background:#eef4f8}
.v71-row-icon .ui-icon{width:18px;height:18px}
.v71-row-copy{min-width:0}
.v71-row-copy h3{margin:0;color:#293f54;font-size:13px;line-height:1.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v71-row-copy p{margin:3px 0 0;color:#7e8b9b;font-size:10.75px;line-height:1.75;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v71-status-badge{min-height:28px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}
.v71-status-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}
.v71-status-badge.is-active{color:#087d67;background:#e8f7f3}
.v71-status-badge.is-inactive{color:#6e7b89;background:#edf1f4}
.v71-row-dates{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0}
.v71-row-dates>span{min-width:0;padding:7px 8px;border:1px solid #edf1f4;border-radius:8px;background:#fbfcfd}
.v71-row-dates small,.v71-row-dates strong,.v71-row-owner small,.v71-row-owner strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v71-row-dates small,.v71-row-owner small{color:#99a3af;font-size:9.5px}
.v71-row-dates strong,.v71-row-owner strong{margin-top:2px;color:#596b7e;font-size:10px;font-weight:850}
.v71-row-owner{min-width:0}
.v71-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.v71-row-actions form{margin:0}
.v71-action-edit,.v71-action-toggle,.v71-readonly{min-height:35px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:8px;font-family:inherit;font-size:10.5px;font-weight:900;white-space:nowrap}
.v71-action-edit{border:1px solid #cbdbe6;color:#365c79;background:#f3f7fa;text-decoration:none}
.v71-action-edit .ui-icon{width:14px;height:14px}
.v71-action-toggle{cursor:pointer}
.v71-action-toggle.deactivate{border:1px solid #e5d4d7;color:#a8545b;background:#fff8f8}
.v71-action-toggle.activate{border:1px solid #cde8e0;color:#087d67;background:#f1faf7}
.v71-readonly{color:#8793a1;background:#f2f5f7}
.v71-action-edit:hover,.v71-action-toggle:hover{transform:translateY(-1px)}
.v71-empty-state{min-height:300px;padding:36px;display:grid;place-items:center;align-content:center;text-align:center;background:#fbfcfd}
.v71-empty-state>span{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;color:#456b8a;background:#edf3f7}
.v71-empty-state>span .ui-icon{width:26px;height:26px}
.v71-empty-state h3{margin:11px 0 3px;color:#30465a;font-size:15px}
.v71-empty-state p{max-width:470px;margin:0;color:#8895a4;font-size:11.75px;line-height:1.9}
.v71-empty-state .v71-primary-action{margin-top:12px}

/* Announcement editor */
.v71-editor-hero{min-height:118px}
.v71-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}
.v71-editor-side{display:grid;gap:14px;position:sticky;top:92px}
.v71-editor-card{border:1px solid #dfe7ee;border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(25,49,72,.04);overflow:hidden}
.v71-card-heading{min-height:73px;padding:14px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #e8edf2;background:#fbfcfd}
.v71-card-heading.compact{min-height:68px}
.v71-card-heading-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;color:#365d7b;background:#edf3f7;font-size:11px;font-weight:950}
.v71-card-heading h2{margin:0;color:#2b4054;font-size:14.5px}
.v71-card-heading p{margin:2px 0 0;color:#8b97a6;font-size:10.75px;line-height:1.7}
.v71-editor-fields{padding:18px;display:grid;gap:16px}
.v71-field{min-width:0}
.v71-field-head{margin-bottom:7px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.v71-field-head label{color:#44586d;font-size:11.75px;font-weight:900}
.v71-field-head span{padding:3px 6px;border-radius:999px;color:#708195;background:#eef3f7;font-size:9px;font-weight:900}
.v71-field input,.v71-field textarea{width:100%!important;border:1px solid #d9e3eb!important;border-radius:10px!important;color:#30465a!important;background:#fff!important;outline:none!important;font-family:inherit!important;font-size:12.5px!important;box-shadow:none!important}
.v71-field input{min-height:45px!important;padding:0 12px!important}
.v71-field textarea{min-height:310px!important;padding:12px!important;resize:vertical;line-height:2!important}
.v71-field input:focus,.v71-field textarea:focus{border-color:#7895ad!important;box-shadow:0 0 0 3px rgba(69,107,138,.09)!important}
.v71-field>small{margin-top:5px;display:block;color:#97a1ad;font-size:10.5px;line-height:1.7}
.v71-field.has-error input,.v71-field.has-error textarea{border-color:#df8e94!important}
.v71-publish-card{padding-bottom:14px}
.v71-publish-switch{margin:14px;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;border:1px solid #dbe5ec;border-radius:12px;background:#f8fafc;cursor:pointer}
.v71-switch-input{position:absolute;opacity:0;pointer-events:none}
.v71-switch-track{width:44px;height:24px;padding:3px;display:flex;align-items:center;border-radius:999px;background:#c8d1d9;transition:.18s ease}
.v71-switch-track i{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(35,56,76,.17);transition:.18s ease}
.v71-switch-input:has(input:checked)+.v71-switch-track{background:#456b8a}
.v71-switch-input:has(input:checked)+.v71-switch-track i{transform:translateX(-20px)}
.v71-switch-copy b,.v71-switch-copy small{display:block}
.v71-switch-copy b{color:#3a5064;font-size:11.75px}
.v71-switch-copy small{margin-top:3px;color:#8c98a6;font-size:10.25px;line-height:1.8}
.v71-governance-note{margin:0 14px;padding:11px;display:flex;align-items:flex-start;gap:9px;border:1px solid #dce6ed;border-radius:11px;background:#f5f8fa}
.v71-governance-note>span{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:9px;color:#456b8a;background:#fff}
.v71-governance-note .ui-icon{width:16px;height:16px}
.v71-governance-note b{display:block;color:#4e6276;font-size:10.75px}
.v71-governance-note p{margin:3px 0 0;color:#8693a1;font-size:10px;line-height:1.85}
.v71-editor-summary{padding:15px}
.v71-summary-label{display:block;color:#8794a2;font-size:9.5px;font-weight:900}
.v71-editor-summary>strong{margin-top:4px;display:block;color:#31485d;font-size:13px}
.v71-editor-summary>p{margin:5px 0 0;color:#8895a4;font-size:10.5px;line-height:1.85}
.v71-editor-actions{margin-top:13px;display:grid;grid-template-columns:1fr;gap:7px}
.v71-editor-actions .v71-primary-action,.v71-editor-actions .v71-secondary-action{width:100%}

@media(max-width:1220px){
    .v71-admin-list-head{display:none}
    .v71-admin-row{grid-template-columns:minmax(300px,1.35fr) 120px minmax(260px,1fr);grid-template-areas:"main status dates" "owner actions actions";min-height:120px}
    .v71-row-main{grid-area:main}.v71-row-status{grid-area:status}.v71-row-dates{grid-area:dates}.v71-row-owner{grid-area:owner}.v71-row-actions{grid-area:actions;justify-content:flex-start}
}
@media(max-width:960px){
    .v71-admin-hero{align-items:flex-start;flex-direction:column}
    .v71-admin-hero-actions{width:100%;justify-content:flex-start}
    .v71-filterbar{grid-template-columns:1fr 190px}.v71-filter-actions{grid-column:1/-1}
    .v71-admin-row{grid-template-columns:1fr 120px;grid-template-areas:"main status" "dates dates" "owner actions"}
    .v71-editor-grid{grid-template-columns:1fr}
    .v71-editor-side{position:static;grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
    .v71-admin-hero{padding:17px;border-radius:15px}
    .v71-admin-title-line{align-items:flex-start}.v71-admin-title-icon{width:44px;height:44px;flex-basis:44px}.v71-admin-title-line h1{font-size:18px}
    .v71-admin-hero-actions>*{flex:1}.v71-admin-scope{display:none}
    .v71-kpi-strip{grid-template-columns:1fr}
    .v71-panel-toolbar{align-items:flex-start;flex-direction:column}
    .v71-filterbar{grid-template-columns:1fr}.v71-filter-actions{grid-column:auto;flex-wrap:wrap}.v71-filter-actions>*{flex:1}
    .v71-admin-row{margin:10px;border:1px solid #e1e8ee;border-radius:12px;grid-template-columns:1fr;grid-template-areas:"main" "status" "dates" "owner" "actions";gap:10px}
    .v71-admin-row:hover{box-shadow:none}
    .v71-row-dates{grid-template-columns:1fr}
    .v71-row-actions{flex-wrap:wrap}.v71-row-actions>*{flex:1}.v71-row-actions form .v71-action-toggle,.v71-row-actions .v71-action-edit{width:100%}
    .v71-editor-side{grid-template-columns:1fr}
    .v71-editor-fields{padding:14px}.v71-field textarea{min-height:260px!important}
}


/* v71.1 — Announcements refinement: semantic icons + centered management table */
.v71-card-heading-icon .ui-icon{width:18px;height:18px}
.v71-admin-list-head>span{text-align:center;justify-self:stretch}
.v71-admin-row>div{text-align:center}
.v71-row-main{align-items:center;justify-content:center;text-align:center}
.v71-row-copy{text-align:center}
.v71-row-status{display:flex;align-items:center;justify-content:center}
.v71-row-dates>span{text-align:center}
.v71-row-owner{text-align:center}
.v71-row-actions{justify-content:center}
.v71-row-actions form{display:flex;justify-content:center}
@media (max-width:720px){
  .v71-row-main{flex-direction:column;align-items:center}
  .v71-row-copy{width:100%;text-align:center}
  .v71-row-actions{justify-content:center}
}


/* v7.0.2 — Announcements KPI icon centering + management menu order refinement */
.v71-kpi-card{
    align-items:center;
    justify-content:flex-start;
}
.v71-kpi-card>.v71-kpi-icon{
    align-self:center;
    margin:0;
    display:grid;
    place-items:center;
    line-height:0;
}
.v71-kpi-card>.v71-kpi-icon>.ui-icon{
    display:block;
    width:21px;
    height:21px;
    margin:0;
    flex:none;
}
.v71-kpi-card>div{
    flex:1 1 auto;
    min-width:0;
    display:grid;
    align-content:center;
    justify-items:start;
    text-align:right;
}
.v71-kpi-card>div small,
.v71-kpi-card>div strong,
.v71-kpi-card>div>span{
    width:100%;
    text-align:right;
}


/* v7.0.3 — Company profile branding: 3MB uploads, subtle asset-card motion and built-in default logo */
@media (prefers-reduced-motion: reduce){
    .modern-company-profile-form .brand-upload-shell,
    .modern-company-profile-form .brand-upload-shell .upload-symbol{transition:none!important}
    .modern-company-profile-form .brand-upload-shell:hover,
    .modern-company-profile-form .brand-upload-shell:focus-within{transform:none!important}
}


/* v7.0.4 — Announcements KPI cards: subtle management hover motion */
.v71-announcements-page .v71-kpi-card{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
    will-change:transform;
}
.v71-announcements-page .v71-kpi-card:hover{
    transform:translateY(-3px);
    border-color:#d3dee7;
    box-shadow:0 11px 26px rgba(25,49,72,.075);
}
@media (prefers-reduced-motion: reduce){
    .v71-announcements-page .v71-kpi-card{transition:none!important}
    .v71-announcements-page .v71-kpi-card:hover{transform:none!important}
}

/* v75 — User-friendly Initial Settings dashboard */
.v75-settings-hero{margin-bottom:12px;padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #dce5ed;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f5f8fb 100%);box-shadow:0 9px 28px rgba(38,58,80,.045)}
.v75-settings-hero-copy{min-width:0;max-width:760px}
.v75-settings-eyebrow{display:block;margin-bottom:5px;color:#456b8a;font-size:11px;font-weight:900}
.v75-settings-hero h1{margin:0;color:#293f54;font-size:24px;line-height:1.45}
.v75-settings-hero p{margin:6px 0 0;color:#748397;font-size:12.5px;line-height:1.9}
.v75-settings-hero-summary{min-width:265px;padding:12px 14px;display:flex;align-items:center;gap:11px;border:1px solid #dce7ef;border-radius:14px;background:#fff}
.v75-settings-hero-icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:12px;color:#456b8a;background:#eef4f8}
.v75-settings-hero-icon .ui-icon{width:22px;height:22px}
.v75-settings-hero-summary strong,.v75-settings-hero-summary small{display:block}
.v75-settings-hero-summary strong{color:#344c63;font-size:13px}
.v75-settings-hero-summary small{margin-top:3px;color:#8a98a8;font-size:10.75px;line-height:1.7}
.v75-settings-help{margin-bottom:15px;padding:11px 14px;display:flex;align-items:flex-start;gap:10px;border:1px solid #dfe8ef;border-radius:13px;background:#f8fafc}
.v75-settings-help-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;color:#456b8a;background:#eef4f8}
.v75-settings-help-icon .ui-icon{width:16px;height:16px}
.v75-settings-help strong{display:block;color:#40566c;font-size:11.5px}
.v75-settings-help p{margin:2px 0 0;color:#8190a1;font-size:10.75px;line-height:1.8}
.v75-settings-sections{display:grid;gap:15px}
.v75-settings-section{padding:0 0 12px;border:1px solid #e0e7ed;border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(37,57,78,.035)}
.v75-settings-section-head{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1f4}
.v75-settings-section-title{min-width:0;display:flex;align-items:center;gap:11px}
.v75-settings-section-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;color:#456b8a;background:#eef4f8}
.v75-settings-section-icon .ui-icon{width:20px;height:20px}
.v75-settings-section-title>div>span{display:block;color:#66829a;font-size:10px;font-weight:900}
.v75-settings-section-title h2{margin:2px 0 1px;color:#30465d;font-size:15.5px}
.v75-settings-section-title p{margin:0;color:#8995a4;font-size:10.75px;line-height:1.75}
.v75-settings-section-count{padding:5px 9px;border:1px solid #dfe8ef;border-radius:999px;color:#677b8d;background:#f8fafc;font-size:10px;font-weight:900;white-space:nowrap}
.v75-settings-grid{padding:11px 12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v75-settings-grid-single .v75-setting-card{max-width:none}
.v75-setting-card{position:relative;overflow:hidden;min-height:194px;padding:15px;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:1fr auto;gap:10px 12px;border:1px solid #e2e9ef;border-radius:14px;color:inherit;background:#fff;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.v75-setting-card:before{content:"";position:absolute;right:0;top:0;width:3px;height:100%;background:#456b8a;opacity:.16;transition:opacity .2s ease}
.v75-setting-card:hover,.v75-setting-card:focus-visible{border-color:#cad9e4;box-shadow:0 11px 28px rgba(38,59,80,.075);transform:translateY(-3px);outline:none}
.v75-setting-card:hover:before,.v75-setting-card:focus-visible:before{opacity:.75}
.v75-setting-card-icon{width:48px;height:48px;grid-row:1;display:grid;place-items:center;border-radius:13px;color:#456b8a;background:#eef4f8}
.v75-setting-card-icon .ui-icon{width:23px;height:23px}
.v75-setting-card-main{min-width:0}
.v75-setting-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.v75-setting-card-heading h3{margin:0;color:#2f455b;font-size:14.25px}
.v75-setting-count{padding:4px 7px;border-radius:999px;color:#718093;background:#f2f5f8;font-size:9.75px;font-weight:800;white-space:nowrap}
.v75-setting-count b{color:#34775b;font-weight:900}
.v75-setting-card-main>p{margin:6px 0 10px;color:#7f8c9b;font-size:11.25px;line-height:1.85}
.v75-setting-where{padding:8px 9px;border:1px solid #e8edf2;border-radius:10px;background:#fafbfd}
.v75-setting-where span,.v75-setting-where strong{display:block}
.v75-setting-where span{margin-bottom:2px;color:#9aa5b2;font-size:9.25px;font-weight:900}
.v75-setting-where strong{color:#536a80;font-size:10.5px;line-height:1.65}
.v75-setting-action{grid-column:1/-1;padding-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:6px;border-top:1px solid #edf1f4;color:#456b8a;font-size:10.75px;font-weight:900}
.v75-setting-action b{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eef4f8;font-size:13px;transition:transform .2s ease,background .2s ease,color .2s ease}
.v75-setting-card:hover .v75-setting-action b,.v75-setting-card:focus-visible .v75-setting-action b{color:#fff;background:#456b8a;transform:translateX(-2px)}
@media(max-width:900px){.v75-settings-hero{align-items:flex-start;flex-direction:column}.v75-settings-hero-summary{width:100%;min-width:0}.v75-settings-grid{grid-template-columns:1fr}}
@media(max-width:600px){.v75-settings-hero{padding:16px}.v75-settings-hero h1{font-size:20px}.v75-settings-section-head{padding:13px;align-items:flex-start}.v75-settings-section-count{display:none}.v75-settings-grid{padding:9px 9px 0}.v75-setting-card{min-height:0;padding:13px;grid-template-columns:42px minmax(0,1fr);gap:9px}.v75-setting-card-icon{width:42px;height:42px}.v75-setting-card-icon .ui-icon{width:20px;height:20px}.v75-setting-card-heading{align-items:flex-start}.v75-setting-count{font-size:9.25px}.v75-settings-help{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.v75-setting-card,.v75-setting-action b{transition:none}.v75-setting-card:hover,.v75-setting-card:focus-visible{transform:none}.v75-setting-card:hover .v75-setting-action b,.v75-setting-card:focus-visible .v75-setting-action b{transform:none}}

/* v7.0.6 — Settings home: card-first management UX */
.v76-settings-hero{margin-bottom:20px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #dce5ed;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f5f8fb 100%);box-shadow:0 8px 24px rgba(38,58,80,.04)}
.v76-settings-hero>div:first-child{min-width:0;max-width:760px}
.v76-settings-eyebrow{display:block;margin-bottom:5px;color:#456b8a;font-size:11px;font-weight:900}
.v76-settings-hero h1{margin:0;color:#293f54;font-size:24px;line-height:1.45}
.v76-settings-hero p{margin:6px 0 0;color:#748397;font-size:12.5px;line-height:1.9}
.v76-settings-overview{min-width:220px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid #dce7ef;border-radius:13px;background:#fff}
.v76-settings-overview-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;color:#456b8a;background:#eef4f8}
.v76-settings-overview-icon .ui-icon{width:21px;height:21px}
.v76-settings-overview strong,.v76-settings-overview small{display:block}
.v76-settings-overview strong{color:#344c63;font-size:12.5px}
.v76-settings-overview small{margin-top:2px;color:#8a98a8;font-size:10.5px}
.v76-settings-groups{display:grid;gap:24px}
.v76-settings-group{min-width:0}
.v76-group-head{margin-bottom:11px;padding:0 2px 10px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;border-bottom:1px solid #e7edf2}
.v76-group-kicker{display:block;color:#678199;font-size:10px;font-weight:900}
.v76-group-head h2{margin:2px 0 1px;color:#30465d;font-size:15.5px}
.v76-group-head p{margin:0;color:#8995a4;font-size:10.75px;line-height:1.75}
.v76-group-count{padding:5px 9px;border:1px solid #dfe8ef;border-radius:999px;color:#677b8d;background:#f8fafc;font-size:9.75px;font-weight:900;white-space:nowrap}
.v76-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.v76-card-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.v76-card-grid-single{grid-template-columns:minmax(0,1fr);max-width:calc(50% - 6.5px)}
.v76-setting-card{position:relative;min-width:0;min-height:214px;padding:17px;display:flex;flex-direction:column;border:1px solid #dfe7ed;border-radius:17px;color:inherit;background:#fff;box-shadow:0 5px 16px rgba(38,58,80,.035);text-decoration:none;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.v76-setting-card:after{content:"";position:absolute;right:0;left:0;bottom:0;height:3px;background:#456b8a;opacity:.14;transition:opacity .2s ease}
.v76-setting-card:hover,.v76-setting-card:focus-visible{border-color:#c8d8e4;background:#fcfdfe;box-shadow:0 13px 30px rgba(38,59,80,.08);transform:translateY(-4px);outline:none}
.v76-setting-card:hover:after,.v76-setting-card:focus-visible:after{opacity:.7}
.v76-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.v76-card-icon{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:15px;color:#456b8a;background:#eef4f8;transition:transform .2s ease,background .2s ease,color .2s ease}
.v76-card-icon .ui-icon{width:25px;height:25px}
.v76-setting-card:hover .v76-card-icon,.v76-setting-card:focus-visible .v76-card-icon{color:#fff;background:#456b8a;transform:scale(1.035)}
.v76-card-stat{padding:5px 8px;display:flex;align-items:baseline;gap:3px;border-radius:999px;color:#718093;background:#f2f5f8;font-size:9.5px;font-weight:800;white-space:nowrap}
.v76-card-stat b{color:#34775b;font-size:11px;font-weight:900}
.v76-card-stat small{color:#9aa5b1;font-size:8.75px}
.v76-card-copy{padding-top:17px}
.v76-card-copy h3{margin:0;color:#2f455b;font-size:14.5px;line-height:1.55}
.v76-card-copy p{margin:6px 0 0;color:#7f8c9b;font-size:10.9px;line-height:1.85}
.v76-card-footer{margin-top:auto;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#456b8a;font-size:10.5px;font-weight:900}
.v76-card-footer b{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#456b8a;background:#eef4f8;font-size:14px;transition:transform .2s ease,background .2s ease,color .2s ease}
.v76-setting-card:hover .v76-card-footer b,.v76-setting-card:focus-visible .v76-card-footer b{color:#fff;background:#456b8a;transform:translateX(-2px)}
@media(max-width:1180px){.v76-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v76-card-grid-single{max-width:calc(50% - 6.5px)}}
@media(max-width:760px){.v76-settings-hero{align-items:flex-start;flex-direction:column}.v76-settings-overview{width:100%;min-width:0}.v76-card-grid,.v76-card-grid-two,.v76-card-grid-single{grid-template-columns:1fr;max-width:none}.v76-group-head{align-items:flex-start}.v76-setting-card{min-height:190px}}
@media(max-width:520px){.v76-settings-hero{padding:16px}.v76-settings-hero h1{font-size:20px}.v76-group-count{display:none}.v76-setting-card{padding:15px;min-height:180px}.v76-card-icon{width:48px;height:48px;flex-basis:48px}.v76-card-icon .ui-icon{width:22px;height:22px}.v76-card-copy{padding-top:13px}}
@media(prefers-reduced-motion:reduce){.v76-setting-card,.v76-card-icon,.v76-card-footer b{transition:none}.v76-setting-card:hover,.v76-setting-card:focus-visible,.v76-setting-card:hover .v76-card-icon,.v76-setting-card:focus-visible .v76-card-icon,.v76-setting-card:hover .v76-card-footer b,.v76-setting-card:focus-visible .v76-card-footer b{transform:none}}

/* v7.0.7 — Initial Settings / Banks: management-grade list and form UX */
.v77-lookup-page,.v77-bank-form{--v77-accent:#456b8a;--v77-accent-dark:#2c4e69;--v77-soft:#eef4f8;--v77-line:#dde6ed;--v77-text:#2f455b;--v77-muted:#7d8b9b}
.v77-lookup-hero,.v77-form-hero{margin-bottom:14px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--v77-line);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f5f8fb 100%);box-shadow:0 8px 24px rgba(38,58,80,.045)}
.v77-lookup-hero-main,.v77-form-hero-main{min-width:0;display:flex;align-items:center;gap:14px}
.v77-lookup-icon{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:16px;color:var(--v77-accent);background:var(--v77-soft);box-shadow:inset 0 0 0 1px rgba(69,107,138,.06)}
.v77-lookup-icon .ui-icon{width:28px;height:28px}
.v77-lookup-eyebrow{display:block;margin-bottom:3px;color:#6e879d;font-size:10.5px;font-weight:900}
.v77-lookup-hero h1,.v77-form-hero h1{margin:0;color:#293f54;font-size:22px;line-height:1.55}
.v77-lookup-hero p,.v77-form-hero p{margin:4px 0 0;color:#7e8c9d;font-size:11.5px;line-height:1.85}
.v77-lookup-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v77-btn{min-height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer;text-decoration:none;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease,background .17s ease}
.v77-btn>span:first-child{width:17px;height:17px;display:grid;place-items:center}
.v77-btn .ui-icon{width:16px;height:16px}
.v77-btn-primary{color:#fff;background:linear-gradient(135deg,var(--v77-accent),var(--v77-accent-dark));box-shadow:0 5px 14px rgba(69,107,138,.16)}
.v77-btn-primary:hover,.v77-btn-primary:focus-visible{color:#fff;box-shadow:0 8px 20px rgba(69,107,138,.23);transform:translateY(-1px);outline:none}
.v77-btn-secondary{color:#587086;border-color:#d8e2ea;background:#fff}
.v77-btn-secondary:hover,.v77-btn-secondary:focus-visible{border-color:#c6d5e0;background:#f8fafc;transform:translateY(-1px);outline:none}
.v77-kpi-grid{margin-bottom:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v77-kpi-card{min-width:0;padding:13px 14px;display:flex;align-items:center;gap:11px;border:1px solid #e0e7ed;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(38,58,80,.03);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.v77-kpi-card:hover{border-color:#cedbe5;box-shadow:0 10px 22px rgba(38,58,80,.065);transform:translateY(-2px)}
.v77-kpi-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;color:var(--v77-accent);background:var(--v77-soft)}
.v77-kpi-icon .ui-icon{width:20px;height:20px}
.v77-kpi-card.is-active .v77-kpi-icon{color:#37765d;background:#edf7f2}
.v77-kpi-card.is-inactive .v77-kpi-icon{color:#7b8795;background:#f1f4f6}
.v77-kpi-card>div{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 7px}
.v77-kpi-card small{grid-column:1/-1;color:#8795a5;font-size:9.75px;font-weight:900}
.v77-kpi-card strong{color:#31495f;font-size:20px;line-height:1.5}
.v77-kpi-card span:not(.v77-kpi-icon){color:#9aa5b1;font-size:9.5px}
.v77-lookup-panel{padding:0 0 13px;border:1px solid #dfe7ed;border-radius:17px;background:#fff;box-shadow:0 7px 24px rgba(38,58,80,.035);overflow:hidden}
.v77-panel-head{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf1f4;background:#fcfdfe}
.v77-panel-kicker{display:block;color:#6b849b;font-size:9.75px;font-weight:900}
.v77-panel-head h2{margin:2px 0 2px;color:#30465c;font-size:14.5px}
.v77-panel-head p{margin:0;color:#8a97a5;font-size:10.5px;line-height:1.8}
.v77-visible-count{padding:6px 10px;border:1px solid #dfe8ef;border-radius:999px;color:#718093;background:#fff;font-size:9.75px;font-weight:800;white-space:nowrap}
.v77-visible-count b{color:var(--v77-accent);font-size:11px}
.v77-lookup-panel>.settings-tabs,.v77-bank-form>.settings-tabs{margin:11px 13px 0;padding:5px;border-color:#e0e7ed;background:#f8fafc}
.v77-lookup-panel>.settings-tabs a,.v77-bank-form>.settings-tabs a{min-height:33px}
.v77-toolbar{margin:10px 13px 0;padding:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e3eaf0;border-radius:12px;background:#fafbfd}
.v77-search-box{min-width:250px;max-width:420px;flex:1;min-height:36px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #dce5ec;border-radius:9px;background:#fff;transition:border-color .17s ease,box-shadow .17s ease}
.v77-search-box:focus-within{border-color:#afc4d4;box-shadow:0 0 0 3px rgba(69,107,138,.08)}
.v77-search-box>span{width:17px;height:17px;display:grid;place-items:center;color:#8292a2}
.v77-search-box .ui-icon{width:16px;height:16px}
.v77-search-box input{width:100%;height:32px;padding:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#40566b;font-family:inherit;font-size:10.75px}
.v77-search-box input::placeholder{color:#a4adb8}
.v77-filter-group{display:flex;align-items:center;gap:5px}
.v77-filter{min-height:32px;padding:0 10px;border:1px solid #dfe7ed;border-radius:8px;color:#728091;background:#fff;font-family:inherit;font-size:9.75px;font-weight:900;cursor:pointer;transition:border-color .17s ease,color .17s ease,background .17s ease}
.v77-filter:hover,.v77-filter:focus-visible{border-color:#c9d7e1;color:#4f6a81;outline:none}
.v77-filter.is-selected{border-color:#d3e0e9;color:#385f7e;background:#eef4f8}
.v77-table-wrap{margin:10px 13px 0;overflow:auto;border:1px solid #e2e8ee;border-radius:12px}
.v77-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px;background:#fff}
.v77-table th,.v77-table td{padding:10px 8px;text-align:center;vertical-align:middle;border-bottom:1px solid #edf1f4}
.v77-table thead th{position:sticky;top:0;z-index:1;color:#66798c;background:#f6f8fa;font-size:9.75px;font-weight:900;white-space:nowrap}
.v77-table tbody td{color:#566a7e;font-size:10.5px}
.v77-table tbody tr{transition:background .16s ease}
.v77-table tbody tr[data-lookup-row]:hover{background:#fbfcfd}
.v77-table tbody tr:last-child td{border-bottom:0}
.v77-row-number,.v77-order-badge{min-width:27px;height:27px;padding:0 6px;display:inline-grid;place-items:center;border-radius:8px;color:#6b7d8f;background:#f1f4f7;font-size:9.75px;font-weight:900}
.v77-bank-name{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.v77-bank-name strong{color:#344d63;font-size:10.75px}
.v77-bank-mini-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#54758f;background:#eef4f8}
.v77-bank-mini-icon .ui-icon{width:16px;height:16px}
.v77-status{min-width:62px;padding:4px 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:9.5px;font-weight:900}
.v77-status.is-active{color:#34745a;background:#edf7f2}
.v77-status.is-inactive{color:#7c8794;background:#f0f3f5}
.v77-row-actions{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}
.v77-action{min-height:30px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;border:1px solid #e0e7ed;border-radius:8px;color:#677b8e;background:#fff;text-decoration:none;font-size:9.25px;font-weight:900;transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease}
.v77-action>span{width:14px;height:14px;display:grid;place-items:center}
.v77-action .ui-icon{width:14px;height:14px}
.v77-action:hover,.v77-action:focus-visible{transform:translateY(-1px);outline:none}
.v77-action-edit:hover,.v77-action-edit:focus-visible{border-color:#cbdde9;color:#3f6987;background:#f4f8fb}
.v77-action-enable:hover,.v77-action-enable:focus-visible{border-color:#cde5d9;color:#34745a;background:#f2f9f5}
.v77-action-disable:hover,.v77-action-disable:focus-visible{border-color:#dce2e7;color:#6f7d8b;background:#f5f7f8}
.v77-action-delete{color:#9a5d61}
.v77-action-delete:hover,.v77-action-delete:focus-visible{border-color:#ead4d6;color:#9a4f54;background:#fcf6f6}
.v77-empty-state{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8190a0}
.v77-empty-state>span{width:45px;height:45px;margin-bottom:8px;display:grid;place-items:center;border-radius:13px;color:#6686a0;background:#eef4f8}
.v77-empty-state .ui-icon{width:22px;height:22px}
.v77-empty-state strong{color:#41586e;font-size:11.5px}
.v77-empty-state p{margin:4px 0 10px;font-size:10px}
.v77-empty-state.compact{min-height:125px}
.v77-form-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px}
.v77-form-guide{align-self:start;padding:17px;border:1px solid #e0e7ed;border-radius:15px;background:#f8fafc}
.v77-form-guide-icon{width:40px;height:40px;margin-bottom:11px;display:grid;place-items:center;border-radius:11px;color:var(--v77-accent);background:#eaf2f7}
.v77-form-guide-icon .ui-icon{width:20px;height:20px}
.v77-form-guide h2{margin:0;color:#344c62;font-size:13.5px}
.v77-form-guide p{margin:6px 0 10px;color:#7d8b9b;font-size:10.5px;line-height:1.85}
.v77-form-guide ul{margin:0;padding:0 16px 0 0;color:#738293;font-size:10px;line-height:2}
.v77-form-card{min-width:0;padding:17px;border:1px solid #dfe7ed;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(38,58,80,.035)}
.v77-form-card-head{padding-bottom:12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1f4}
.v77-form-card-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--v77-accent);background:var(--v77-soft)}
.v77-form-card-head .ui-icon{width:18px;height:18px}
.v77-form-card-head h2{margin:0;color:#334b61;font-size:13px}
.v77-form-card-head p{margin:2px 0 0;color:#8a97a5;font-size:9.75px}
.v77-form-fields{padding-top:14px;display:grid;grid-template-columns:2fr 1fr;gap:11px}
.v77-field{min-width:0;padding:11px;border:1px solid #e4eaf0;border-radius:11px;background:#fcfdfe}
.v77-field:first-child{grid-column:1/-1}
.v77-field label{display:block;margin-bottom:6px;color:#536a80;font-size:10.25px;font-weight:900}
.v77-field input[type=text],.v77-field input[type=number]{width:100%;min-height:39px;border-color:#d8e2ea!important;background:#fff!important}
.v77-field small{display:block;margin-top:5px;color:#929eaa;font-size:9px;line-height:1.7}
.v77-field.is-switch{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v77-field.is-switch label{margin:0}
.v77-field.is-switch small{margin:0;max-width:65%}
.v77-form-footer{margin-top:14px;padding-top:12px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid #edf1f4}
@media(max-width:900px){.v77-lookup-hero,.v77-form-hero{align-items:flex-start;flex-direction:column}.v77-lookup-actions{width:100%}.v77-kpi-grid{grid-template-columns:1fr}.v77-form-layout{grid-template-columns:1fr}.v77-form-guide{order:2}.v77-form-fields{grid-template-columns:1fr}.v77-field:first-child{grid-column:auto}}
@media(max-width:650px){.v77-lookup-hero,.v77-form-hero{padding:16px}.v77-lookup-hero-main,.v77-form-hero-main{align-items:flex-start}.v77-lookup-icon{width:48px;height:48px;flex-basis:48px;border-radius:13px}.v77-lookup-icon .ui-icon{width:23px;height:23px}.v77-lookup-hero h1,.v77-form-hero h1{font-size:19px}.v77-lookup-actions .v77-btn{flex:1}.v77-panel-head{align-items:flex-start;flex-direction:column}.v77-toolbar{align-items:stretch;flex-direction:column}.v77-search-box{min-width:0;max-width:none}.v77-filter-group{display:grid;grid-template-columns:repeat(3,1fr)}.v77-filter{width:100%}.v77-visible-count{align-self:flex-start}.v77-bank-form>.settings-tabs{margin-right:0;margin-left:0}.v77-form-card,.v77-form-guide{padding:14px}}
@media(prefers-reduced-motion:reduce){.v77-btn,.v77-kpi-card,.v77-action{transition:none!important}.v77-btn:hover,.v77-btn:focus-visible,.v77-kpi-card:hover,.v77-action:hover,.v77-action:focus-visible{transform:none!important}}

/* v7.0.8 — Initial Settings generic lists: consistent row numbering and centered admin tables */
.settings-table-numbered th,.settings-table-numbered td{text-align:center;vertical-align:middle}
.settings-table-numbered .table-actions{justify-content:center}

/* v7.0.9 — SMS management panel alignment and UX */
.v709-sms-hero{min-height:150px;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:20px;align-items:center;position:relative;overflow:hidden;border:1px solid #dce6ee;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f5f9fc 100%);box-shadow:0 7px 22px rgba(35,58,77,.055)}
.v709-sms-hero:before{content:'';position:absolute;left:-70px;top:-115px;width:230px;height:230px;border-radius:50%;background:rgba(69,107,138,.055)}
.v709-sms-hero-copy{position:relative;z-index:1}.v709-sms-kicker{display:inline-flex;color:#456b8a;font-size:12px;font-weight:900}.v709-sms-hero h1{margin:6px 0 5px;color:#20364a;font-size:25px;line-height:1.6}.v709-sms-hero p{max-width:760px;margin:0;color:#748394;font-size:13px;line-height:2}
.v709-sms-hero-icon{width:72px;height:72px;display:grid;place-items:center;border:1px solid #dce6ee;border-radius:20px;color:#456b8a;background:#fff;box-shadow:0 10px 24px rgba(44,78,105,.08)}.v709-sms-hero-icon .ui-icon{width:34px;height:34px}
.v709-sms-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.v709-sms-kpi{min-width:0;padding:15px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;border:1px solid #dfe7ee;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(35,58,77,.035)}
.v709-sms-kpi-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:#456b8a;background:#eef4f8}.v709-sms-kpi-icon .ui-icon{width:23px;height:23px}.v709-sms-kpi-copy{min-width:0}.v709-sms-kpi-copy>span,.v709-sms-kpi-copy>strong,.v709-sms-kpi-copy>small{display:block}.v709-sms-kpi-copy>span{color:#8a97a6;font-size:11.5px;font-weight:900}.v709-sms-kpi-copy>strong{margin-top:3px;color:#334b60;font-size:15px;overflow-wrap:anywhere}.v709-sms-kpi-copy>small{margin-top:3px;color:#8c99a7;font-size:11px;line-height:1.6}.v709-sms-kpi-copy .is-ok{color:#278253}.v709-sms-kpi-copy .is-bad{color:#af5159}.v709-sms-kpi-copy .is-muted{color:#7e8b99}
.v709-sms-form{margin:0}.v709-sms-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.v709-sms-main,.v709-sms-side{display:grid;gap:14px}.v709-sms-side{position:sticky;top:84px}.v709-sms-card,.v709-sms-log-card{min-width:0;border:1px solid #dfe7ee;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(35,58,77,.04);overflow:hidden}.v709-sms-card{padding:18px}
.v709-sms-card-head{min-height:48px;margin-bottom:16px;padding-bottom:14px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf1f4}.v709-sms-card-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;color:#456b8a;background:#eef4f8}.v709-sms-card-icon .ui-icon{width:21px;height:21px}.v709-sms-card-head>div{min-width:0;flex:1}.v709-sms-card-head h2{margin:0;color:#2b4155;font-size:15px;line-height:1.7}.v709-sms-card-head p{margin:2px 0 0;color:#8a97a5;font-size:11.5px;line-height:1.8}.v709-optional-badge{padding:4px 8px;border-radius:999px;color:#6d7c8b;background:#f3f6f8;font-size:10.5px;font-weight:900;white-space:nowrap}
.v709-sms-switch-row{min-height:68px;margin-bottom:14px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dde7ee;border-radius:12px;background:#f9fbfc}.v709-sms-switch-copy strong,.v709-sms-switch-copy small{display:block}.v709-sms-switch-copy strong{color:#405469;font-size:12.5px}.v709-sms-switch-copy small{margin-top:3px;color:#8a97a5;font-size:11px;line-height:1.7}.v709-switch{position:relative;width:46px;height:25px;display:block;flex:0 0 auto}.v709-switch input{position:absolute;opacity:0;pointer-events:none}.v709-switch-ui{position:absolute;inset:0;border-radius:999px;background:#cfd8df;transition:.18s ease;cursor:pointer}.v709-switch-ui:after{content:'';position:absolute;width:19px;height:19px;top:3px;right:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.18s ease}.v709-switch input:checked+.v709-switch-ui{background:#456b8a}.v709-switch input:checked+.v709-switch-ui:after{transform:translateX(-21px)}.v709-switch input:focus-visible+.v709-switch-ui{outline:3px solid rgba(69,107,138,.16);outline-offset:2px}.v709-switch-error{grid-column:1/-1}
.v709-sms-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.v709-field{min-width:0}.v709-field-wide{grid-column:1/-1}.v709-field label{min-height:19px;margin-bottom:6px;display:flex;align-items:center;color:#566b7e;font-size:11.5px;font-weight:900}.v709-field input,.v709-field select,.v709-field textarea{width:100%;min-width:0;border:1px solid #cfdbe4!important;border-radius:10px!important;color:#2e4256!important;background:#fff!important;outline:0!important;box-shadow:none!important;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.v709-field input,.v709-field select{height:42px;padding:0 11px}.v709-field textarea{min-height:118px;padding:10px 11px;resize:vertical}.v709-field input:focus,.v709-field select:focus,.v709-field textarea:focus{border-color:#6e8ea8!important;box-shadow:0 0 0 3px rgba(69,107,138,.09)!important}.v709-field-help{min-height:18px;margin-top:5px;display:block;color:#929eaa;font-size:10.5px;line-height:1.7}.v709-field.has-error input,.v709-field.has-error select,.v709-field.has-error textarea{border-color:#dc9aa0!important;background:#fffafa!important}
.v709-custom-provider{transition:opacity .18s ease,border-color .18s ease}.v709-custom-provider.is-inactive{opacity:.58;background:#fbfcfd}.v709-custom-provider.is-inactive .v709-sms-fields{filter:saturate(.7)}
.v709-test-card .v709-field{margin-bottom:14px}.v709-test-actions{display:grid;gap:8px}.v709-action-btn{width:100%;min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d3dee7;border-radius:10px;color:#456b8a;background:#fff;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:900;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.v709-action-btn .ui-icon{width:17px;height:17px}.v709-action-btn:hover{transform:translateY(-1px);border-color:#a9bfce;box-shadow:0 5px 14px rgba(44,78,105,.07)}.v709-action-primary{color:#fff;border-color:#456b8a;background:linear-gradient(135deg,#456b8a,#2c4e69)}
.v709-connection-note{margin-top:12px;padding:10px 11px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:start;border:1px solid #dde6ed;border-radius:10px;color:#657687;background:#f7f9fb}.v709-connection-note>span{width:24px;height:24px;display:grid;place-items:center}.v709-connection-note .ui-icon{width:16px;height:16px}.v709-connection-note p{margin:0;font-size:10.5px;line-height:1.8}.v709-connection-note.is-success{color:#2f7451;border-color:#d4eadf;background:#f4fbf7}.v709-connection-note.is-failed{color:#9c4a52;border-color:#efd8da;background:#fff7f7}
.v709-security-note ul{margin:0;padding:0 18px 0 0;color:#788694;font-size:11px;line-height:2}.v709-security-note li+li{margin-top:3px}.v709-sms-global-errors{margin-bottom:12px}
.v709-sms-log-card{margin-top:14px}.v709-log-head{padding:16px 18px;border-bottom:1px solid #e9eef2}.v709-log-title{display:flex;align-items:center;gap:11px}.v709-log-title>div{min-width:0}.v709-log-title>div>span{color:#456b8a;font-size:10.5px;font-weight:900}.v709-log-title h2{margin:2px 0 0;color:#30485d;font-size:15px}.v709-log-title p{margin:2px 0 0;color:#8a97a5;font-size:11px;line-height:1.7}.v709-log-table-wrap{margin:0}.v709-sms-log-table{width:100%;min-width:1220px}.v709-sms-log-table thead,.v709-sms-log-table tbody{text-align:center}.v709-sms-log-table th,.v709-sms-log-table td{text-align:center!important;vertical-align:middle!important}.v709-sms-log-table th{white-space:nowrap}.v709-sms-log-table td{font-size:11.5px}.v709-sms-log-table .v701-log-status{display:inline-flex;align-items:center;justify-content:center}.v709-provider-message{max-width:280px;white-space:normal;line-height:1.7;text-align:center!important}.v710-log-ltr,.v710-log-id{text-align:center!important;direction:ltr;unicode-bidi:plaintext}.v710-log-id{max-width:190px;overflow-wrap:anywhere}
@media(max-width:1050px){.v709-sms-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.v709-sms-layout{grid-template-columns:1fr}.v709-sms-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v709-sms-hero{grid-template-columns:1fr;padding:18px}.v709-sms-hero-icon{display:none}.v709-sms-overview{grid-template-columns:1fr}.v709-sms-fields,.v709-sms-side{grid-template-columns:1fr}.v709-sms-card{padding:15px}.v709-sms-card-head{align-items:flex-start}.v709-sms-switch-row{grid-template-columns:minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){.v709-switch-ui,.v709-switch-ui:after,.v709-action-btn,.v709-custom-provider{transition:none!important}.v709-action-btn:hover{transform:none!important}}

/* v7.0.11 — Management users and access levels */
.v711-hero{margin-bottom:18px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #dce6ee;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f5f9fc 100%);box-shadow:0 8px 24px rgba(44,78,105,.06)}
.v711-hero.compact{padding:18px 22px}.v711-hero-copy{min-width:0}.v711-eyebrow{display:block;margin-bottom:5px;color:#456b8a;font-size:11.5px;font-weight:900}.v711-hero h1{margin:0 0 6px;color:#263c50;font-size:23px}.v711-hero p{max-width:780px;margin:0;color:#78899a;font-size:12.5px;line-height:1.9}.v711-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.v711-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid transparent;border-radius:11px;font-family:inherit;font-size:12.5px;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.v711-btn .ui-icon{width:17px;height:17px}.v711-btn:hover{transform:translateY(-2px)}.v711-btn-primary{color:#fff;background:#456b8a;box-shadow:0 6px 16px rgba(69,107,138,.18)}.v711-btn-primary:hover{background:#2c4e69}.v711-btn-secondary{color:#355a78;border-color:#d5e0e9;background:#fff}.v711-btn-secondary:hover{box-shadow:0 5px 14px rgba(44,78,105,.08)}.v711-btn-danger{color:#b84b52;border-color:#efd3d5;background:#fff6f6}.v711-btn-danger:hover{background:#ffeded}
.v711-kpi-grid{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v711-kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.v711-kpi{min-height:92px;padding:15px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:11px;border:1px solid #dfe7ee;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(44,78,105,.045);transition:transform .18s ease,box-shadow .18s ease}.v711-kpi:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(44,78,105,.08)}.v711-kpi>span{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;color:#456b8a;background:#eef4f8}.v711-kpi>span .ui-icon{width:22px;height:22px}.v711-kpi div{display:grid;gap:3px}.v711-kpi small{color:#7b8b9d;font-size:11.5px;font-weight:800}.v711-kpi strong{color:#2c4e69;font-size:24px}
.v711-panel{border:1px solid #dfe7ee;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(44,78,105,.05);overflow:hidden}.v711-panel-head{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e8eef3;background:#fbfdfe}.v711-panel-head span{color:#456b8a;font-size:11px;font-weight:900}.v711-panel-head h2{margin:2px 0 0;color:#2e4358;font-size:16px}.v711-panel-head p{max-width:580px;margin:0;color:#8997a6;font-size:11.5px;line-height:1.8;text-align:left}
.v711-table-wrap{overflow:auto}.v711-table{width:100%;min-width:1000px;border-collapse:collapse;table-layout:auto}.v711-table th,.v711-table td{padding:12px 10px;border-bottom:1px solid #edf1f4;text-align:center;vertical-align:middle;font-size:12px}.v711-table th{color:#53687b;background:#f7fafc;font-weight:900;white-space:nowrap}.v711-table td{color:#4e6072}.v711-table tbody tr{transition:background .16s ease}.v711-table tbody tr:hover{background:#fbfdff}.v711-username{color:#2f526f;direction:ltr;unicode-bidi:plaintext}.v711-pill,.v711-status{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:10.8px;font-weight:900}.v711-pill{color:#456b8a;background:#eef4f8}.v711-pill.neutral{color:#677889;background:#f1f4f6}.v711-pill.dark{color:#fff;background:#2c4e69}.v711-pill.warning{color:#9a701d;background:#fff7df}.v711-status.active{color:#2d7558;background:#eaf7f0}.v711-status.inactive{color:#9a5357;background:#fff0f1}.v711-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.v711-actions form{margin:0}.v711-icon-action{min-height:32px;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #dfe7ee;border-radius:9px;color:#456b8a;background:#fff;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer}.v711-icon-action .ui-icon{width:14px;height:14px}.v711-icon-action.danger{color:#a84f55;border-color:#efd7d8;background:#fff8f8}.v711-icon-action.success{color:#31785b;border-color:#d5eadf;background:#f4fbf7}.v711-protected{display:inline-flex;padding:5px 8px;border-radius:8px;color:#7d8996;background:#f2f5f7;font-size:10.5px;font-weight:800}.v711-empty{padding:24px!important;text-align:center!important;color:#8b98a6!important}
.v711-form-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px;align-items:start}.v711-form-card{padding-bottom:17px}.v711-form-grid{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v711-side-stack{display:grid;gap:12px}.v711-side-stack .v711-form-card{padding-bottom:15px}.v711-side-stack .v711-field{margin:14px 16px 0}.v711-field{display:grid;gap:6px}.v711-field label{color:#435b70;font-size:11.5px;font-weight:900}.v711-field .form-control{width:100%;min-height:42px;border:1px solid #d7e1e9;border-radius:10px;background:#fff}.v711-field textarea.form-control{min-height:90px}.v711-field small{color:#8998a7;font-size:10.8px;line-height:1.7}.v711-field .errorlist{margin:0;padding:0;list-style:none;color:#b34c53;font-size:10.8px}.v711-switch-row{margin:14px 16px 0;padding:11px 12px;display:flex;align-items:center;gap:10px;border:1px solid #e1e8ee;border-radius:11px;background:#f9fbfc;cursor:pointer}.v711-switch-row input{width:18px;height:18px}.v711-switch-row span{display:grid;gap:2px}.v711-switch-row strong{color:#40586d;font-size:11.5px}.v711-switch-row small{color:#8997a5;font-size:10.5px}.v711-save{width:100%}
.v711-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.v711-level-card{padding:16px;border:1px solid #dfe7ee;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(44,78,105,.045);transition:transform .18s ease,box-shadow .18s ease}.v711-level-card:hover{transform:translateY(-3px);box-shadow:0 11px 24px rgba(44,78,105,.08)}.v711-level-card>header{display:flex;align-items:center;gap:10px}.v711-level-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#456b8a;background:#eef4f8}.v711-level-icon .ui-icon{width:20px;height:20px}.v711-level-card h2{margin:0;color:#30495f;font-size:14px}.v711-level-card header p{margin:3px 0 0;color:#8a98a6;font-size:10.5px}.v711-level-metrics{margin:14px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.v711-level-metrics span{padding:9px;display:grid;justify-items:center;gap:2px;border-radius:10px;background:#f7fafc}.v711-level-metrics b{color:#2c4e69;font-size:18px}.v711-level-metrics small{color:#8796a4;font-size:10px}.v711-level-actions{display:flex;align-items:center;gap:7px}.v711-level-actions .v711-btn{flex:1;min-height:36px}.v711-level-actions form{display:flex;flex:1}.v711-level-actions form .v711-btn{width:100%}
.v711-access-form{display:grid;gap:14px;padding-bottom:74px}.v711-level-name-card{padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px}.v711-level-name-card .v711-field{max-width:560px}.v711-assigned-note{min-width:180px;padding:10px 13px;display:flex;align-items:center;gap:8px;border-radius:12px;color:#546a7d;background:#eef4f8}.v711-assigned-note strong{color:#2c4e69;font-size:22px}.v711-assigned-note span{font-size:10.5px;line-height:1.6}.v711-security-note{padding:13px 15px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;border:1px solid #d9e5ed;border-radius:14px;background:#f6fafc}.v711-security-note>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#456b8a;background:#fff}.v711-security-note .ui-icon{width:19px;height:19px}.v711-security-note strong{color:#39556c;font-size:11.5px}.v711-security-note p{margin:3px 0 0;color:#7f8f9e;font-size:10.8px;line-height:1.8}.v711-permission-sections{display:grid;gap:15px}.v711-permission-section{padding:16px;border:1px solid #dfe7ee;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(44,78,105,.04)}.v711-permission-section>header{margin-bottom:12px}.v711-permission-section>header span{color:#456b8a;font-size:10.5px;font-weight:900}.v711-permission-section>header h2{margin:2px 0 0;color:#2e465b;font-size:15px}.v711-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v711-permission-card{overflow:hidden;border:1px solid #e1e8ee;border-radius:13px;background:#fbfdfe}.v711-permission-card-head{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e7edf2;background:#f5f9fb}.v711-permission-card-head h3{margin:0;color:#405b70;font-size:11.5px}.v711-permission-card-head button{padding:3px 6px;border:0;border-radius:7px;color:#456b8a;background:#e8f0f5;font-family:inherit;font-size:9.5px;font-weight:900;cursor:pointer}.v711-permission-options{padding:7px;display:grid;gap:5px}.v711-permission-options label{padding:8px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.v711-permission-options label:hover{border-color:#d8e3eb;background:#fff}.v711-permission-options input{width:16px;height:16px;accent-color:#456b8a}.v711-permission-options span{display:grid;gap:1px}.v711-permission-options b{color:#4c6072;font-size:10.7px}.v711-permission-options small{color:#9aa6b1;font-family:monospace;font-size:8.5px;direction:ltr;text-align:left}.v711-sticky-save{position:sticky;bottom:10px;z-index:15;margin-right:auto;padding:8px;display:flex;justify-content:flex-end;gap:8px;border:1px solid #dce6ed;border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 10px 25px rgba(44,78,105,.12);backdrop-filter:blur(8px)}
@media(max-width:1180px){.v711-kpi-grid{grid-template-columns:repeat(2,1fr)}.v711-level-grid{grid-template-columns:repeat(2,1fr)}.v711-permission-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.v711-hero{align-items:flex-start;flex-direction:column}.v711-hero-actions{width:100%}.v711-hero-actions .v711-btn{flex:1}.v711-form-layout{grid-template-columns:1fr}.v711-form-grid{grid-template-columns:1fr}.v711-panel-head{align-items:flex-start;flex-direction:column}.v711-panel-head p{text-align:right}.v711-level-name-card{grid-template-columns:1fr}.v711-permission-grid,.v711-level-grid{grid-template-columns:1fr}.v711-level-actions{flex-wrap:wrap}.v711-sticky-save{width:100%;justify-content:stretch}.v711-sticky-save .v711-btn{flex:1}}
@media(max-width:560px){.v711-kpi-grid,.v711-kpi-grid.three{grid-template-columns:1fr}.v711-hero{padding:17px}.v711-hero-actions{display:grid;grid-template-columns:1fr}.v711-level-actions{display:grid;grid-template-columns:1fr}.v711-level-actions form{width:100%}}
@media(prefers-reduced-motion:reduce){.v711-btn,.v711-kpi,.v711-level-card,.v711-permission-options label{transition:none!important}.v711-btn:hover,.v711-kpi:hover,.v711-level-card:hover{transform:none!important}}

/* v7.0.11 — Permission-aware read-only management surfaces */
.v711-readonly-action{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border:1px solid #e2e8ed;border-radius:8px;color:#7a8997;background:#f5f7f9;font-size:10px;font-weight:900;white-space:nowrap}
.v711-readonly-note{margin-top:12px;padding:11px 13px;border:1px solid #dce6ed;border-radius:11px;color:#667b8d;background:#f6fafc;font-size:11px;line-height:1.85;text-align:center}
.v711-readonly-document-status{margin-top:11px;padding:10px;border:1px solid #e2e9ee;border-radius:10px;display:grid;gap:3px;text-align:center;background:#fafcfd}.v711-readonly-document-status span{color:#8493a1;font-size:10px;font-weight:800}.v711-readonly-document-status b{color:#455d72;font-size:11.5px}.v711-readonly-document-status small{color:#8896a4;font-size:10px;line-height:1.7}
.v711-readonly-decision,.v711-readonly-card{border-color:#dfe7ee;background:linear-gradient(180deg,#fff,#f9fbfd)}


/* v7.0.12 — Compact management form typography + Persian validation */
body.theme-management input[type='text'],
body.theme-management input[type='password'],
body.theme-management input[type='email'],
body.theme-management input[type='number'],
body.theme-management input[type='url'],
body.theme-management input[type='tel'],
body.theme-management select,
body.theme-management textarea{
  font-size:13px!important;
  line-height:1.65!important;
}
body.theme-management input::placeholder,
body.theme-management textarea::placeholder{
  font-size:12.5px!important;
  color:#9aa6b2!important;
}
body.theme-management .v711-field .form-control{
  padding-inline:11px!important;
}
body.theme-management .v711-field .errorlist,
body.theme-management .form-error-banner{
  direction:rtl;
  text-align:right;
  font-family:var(--ui-font-family,'RoshanUI',Vazir,Tahoma,Arial,sans-serif)!important;
}

/* v7.0.13 — Project-wide form typography and Persian validation UI */
input[type='text'],
input[type='password'],
input[type='email'],
input[type='number'],
input[type='url'],
input[type='tel'],
input[type='search'],
input[type='date'],
input[type='time'],
select,
textarea{
  font-family:var(--ui-font-family,'RoshanUI',Vazir,Tahoma,Arial,sans-serif)!important;
  font-size:13px!important;
  line-height:1.65!important;
}
input[type='text']::placeholder,
input[type='password']::placeholder,
input[type='email']::placeholder,
input[type='number']::placeholder,
input[type='url']::placeholder,
input[type='tel']::placeholder,
input[type='search']::placeholder,
textarea::placeholder{
  font-size:12.5px!important;
  color:#9aa6b2!important;
  opacity:1!important;
}

/* v7.1.94 — canonical project-wide native select/dropdown visibility.
   Keep browser-native option popups readable even when the OS/browser is in dark mode.
   This is intentionally global so future Django Select widgets and literal <select> elements
   inherit the contract without page-specific classes. */
select{
  color-scheme:light!important;
}
select option,
select optgroup{
  color:#27374f!important;
  background-color:#fff!important;
  font-family:var(--ui-font-family,'RoshanUI',Vazir,Tahoma,Arial,sans-serif)!important;
  font-size:13px!important;
  font-weight:500!important;
}
select optgroup{
  font-weight:800!important;
}
select option:disabled{
  color:#9aa6b2!important;
}

.field-error,
.errorlist,
.form-error-banner,
.form-errors,
.non-field-errors{
  direction:rtl!important;
  text-align:right!important;
  font-family:var(--ui-font-family,'RoshanUI',Vazir,Tahoma,Arial,sans-serif)!important;
}

/* v7.0.14 — Focused KPI motion and cleaner management cross-navigation */
/* Access levels: only the three summary KPI cards move. Role cards below stay visually stable. */
.v711-level-card{transition:box-shadow .18s ease,border-color .18s ease}
.v711-level-card:hover{transform:none;box-shadow:0 8px 20px rgba(44,78,105,.06);border-color:#d8e3eb}

/* SMS panel: the three overview cards use the same subtle enterprise lift. */
.v709-sms-kpi{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.v709-sms-kpi:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(44,78,105,.08);border-color:#d6e2eb}
@media(prefers-reduced-motion:reduce){
  .v709-sms-kpi,.v711-level-card{transition:none!important}
  .v709-sms-kpi:hover,.v711-level-card:hover{transform:none!important}
}


/* v7.0.16 — Dashboard calendar removed; HR and workflow cards expand to the full dashboard row. */


/* v7.0.17 — Bank create/edit actions are consolidated in the bottom save bar. */
.bank-sticky-save-bar{justify-content:flex-start!important}
.bank-save-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
@media(max-width:680px){.bank-sticky-save-bar{align-items:stretch!important}.bank-save-actions{width:100%}.bank-save-actions>*{flex:1}}

/* v7.0.18 — All initial-settings create/edit forms share one bottom action layout. */
.lookup-sticky-save-bar{justify-content:flex-end!important}
.lookup-save-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-right:auto}
@media(max-width:680px){.lookup-sticky-save-bar{align-items:stretch!important}.lookup-save-actions{width:100%;margin-right:0}.lookup-save-actions>*{flex:1}}

@media(max-width:760px){
    .people-status-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
    .people-status-overview{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
    .contract-overview-card{transition:none!important}
    .contract-overview-card:hover,.contract-overview-card.active{transform:none!important}
}


/* v7.0.21 — Reuse the Contracts KPI/filter-card pattern in HR → Correspondence. */
.correspondence-status-overview{
    width:min(720px,100%);
    grid-template-columns:repeat(4,minmax(125px,1fr));
}
.correspondence-overview-card.tone-correspondence-total{color:#456b8a}
.correspondence-overview-card.tone-correspondence-total .contract-overview-icon{background:#eef4f8}
@media(max-width:980px){
    .correspondence-status-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
    .correspondence-status-overview{grid-template-columns:1fr!important}
}


/* v7.0.23 — Reuse the Contracts KPI/filter-card pattern in HR → Employee Requests. */
.request-status-overview{
    width:min(720px,100%);
    grid-template-columns:repeat(4,minmax(125px,1fr));
}
.request-overview-card.tone-request-total{color:#456b8a}
.request-overview-card.tone-request-total .contract-overview-icon{background:#eef4f8}
.request-overview-card.tone-request-review{color:#5870a6}
.request-overview-card.tone-request-review .contract-overview-icon{background:#eef1fb}
@media(max-width:980px){
    .request-status-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
    .request-status-overview{grid-template-columns:1fr!important}
}


/* v7.0.24 — Reuse the Contracts KPI/filter-card pattern in Requests → New Personnel Approvals. */
.membership-status-overview{
    width:min(720px,100%);
    grid-template-columns:repeat(4,minmax(125px,1fr));
}
.membership-overview-card.tone-membership-total{color:#456b8a}
.membership-overview-card.tone-membership-total .contract-overview-icon{background:#eef4f8}
@media(max-width:980px){
    .membership-status-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
    .membership-status-overview{grid-template-columns:1fr!important}
}

/* v7.0.25 — Unified left-anchored fixed-width KPI/filter cards across the five HR/request modules. */
.contract-status-overview,
.people-status-overview,
.correspondence-status-overview,
.request-status-overview,
.membership-status-overview{
    width:min(720px,100%)!important;
    max-width:720px;
    grid-template-columns:repeat(5,136px)!important;
    justify-content:start!important;
    align-content:start;
    direction:ltr;
}
.contract-status-overview>.contract-overview-card,
.people-status-overview>.contract-overview-card,
.correspondence-status-overview>.contract-overview-card,
.request-status-overview>.contract-overview-card,
.membership-status-overview>.contract-overview-card{
    width:136px;
    min-width:136px;
    max-width:136px;
    direction:rtl;
}
@media(max-width:820px){
    .contract-status-overview,
    .people-status-overview,
    .correspondence-status-overview,
    .request-status-overview,
    .membership-status-overview{
        width:100%!important;
        max-width:none;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        direction:rtl;
    }
    .contract-status-overview>.contract-overview-card,
    .people-status-overview>.contract-overview-card,
    .correspondence-status-overview>.contract-overview-card,
    .request-status-overview>.contract-overview-card,
    .membership-status-overview>.contract-overview-card{
        width:auto;
        min-width:0;
        max-width:none;
    }
}


/* v7.0.36 — People table starts with a centered row number that resets after filtering. */
.people-table .people-row-index{
    width:64px;
    min-width:64px;
    max-width:64px;
    padding-inline:8px;
    color:#718097;
    font-weight:900;
    text-align:center!important;
    font-variant-numeric:tabular-nums;
}
@media(max-width:520px){
    .contract-status-overview,
    .people-status-overview,
    .correspondence-status-overview,
    .request-status-overview,
    .membership-status-overview{
        grid-template-columns:1fr!important;
    }
}


/* v7.0.26 — Wider fixed KPI/filter cards for cleaner centered Persian labels across all five modules. */
.contract-status-overview,
.people-status-overview,
.correspondence-status-overview,
.request-status-overview,
.membership-status-overview{
    width:min(832px,100%)!important;
    max-width:832px;
    grid-template-columns:repeat(5,160px)!important;
}
.contract-status-overview>.contract-overview-card,
.people-status-overview>.contract-overview-card,
.correspondence-status-overview>.contract-overview-card,
.request-status-overview>.contract-overview-card,
.membership-status-overview>.contract-overview-card{
    width:160px;
    min-width:160px;
    max-width:160px;
}
@media(max-width:820px){
    .contract-status-overview,
    .people-status-overview,
    .correspondence-status-overview,
    .request-status-overview,
    .membership-status-overview{
        width:100%!important;
        max-width:none;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .contract-status-overview>.contract-overview-card,
    .people-status-overview>.contract-overview-card,
    .correspondence-status-overview>.contract-overview-card,
    .request-status-overview>.contract-overview-card,
    .membership-status-overview>.contract-overview-card{
        width:auto;
        min-width:0;
        max-width:none;
    }
}
@media(max-width:520px){
    .contract-status-overview,
    .people-status-overview,
    .correspondence-status-overview,
    .request-status-overview,
    .membership-status-overview{
        grid-template-columns:1fr!important;
    }
}


/* v7.0.28 — People create/edit section navigator: exactly three equal options, no empty fourth slot. */
.modern-person-form .form-section-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:680px){
    .modern-person-form .form-section-nav{grid-template-columns:1fr!important}
}


/* v7.0.29 — Correspondence register filter alignment: search, selects and actions share one 39px baseline. */
.correspondence-filter .hr-search-box{
    height:39px;
    align-self:center;
}
.correspondence-filter .hr-search-box>span{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    z-index:1;
    line-height:1;
    color:#9aa5b5;
    pointer-events:none;
}
.correspondence-filter .hr-search-box input{
    display:block;
    height:39px;
    margin:0!important;
}
.correspondence-filter .correspondence-filter-btn,
.correspondence-filter .hr-filter-reset{
    min-height:39px;
    height:39px;
    align-self:center;
}
.correspondence-filter .hr-filter-reset{
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:9px;
    color:#66768b;
    background:#fff;
    font-size:12.5px;
    font-weight:800;
    white-space:nowrap;
}
.correspondence-filter .hr-filter-reset:hover{
    color:var(--accent);
    border-color:color-mix(in srgb,var(--accent) 35%,var(--line));
    background:var(--accent-soft);
}


/* v7.0.30 — Contracts archive filter now mirrors Correspondence: full-width bar below the heading. */
.contracts-register-filter .hr-search-box{
    height:39px;
    min-width:360px;
    flex:1 1 520px;
    align-self:center;
}
.contracts-register-filter .hr-search-box>span{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    z-index:1;
    line-height:1;
    color:#9aa5b5;
    pointer-events:none;
}
.contracts-register-filter .hr-search-box input{
    display:block;
    height:39px;
    margin:0!important;
}
.contracts-register-filter .contract-search-btn,
.contracts-register-filter .hr-filter-reset{
    min-height:39px;
    height:39px;
    align-self:center;
}
.contracts-register-filter .hr-filter-reset{
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:9px;
    color:#66768b;
    background:#fff;
    font-size:12.5px;
    font-weight:800;
    white-space:nowrap;
}
.contracts-register-filter .hr-filter-reset:hover{
    color:var(--accent);
    border-color:color-mix(in srgb,var(--accent) 35%,var(--line));
    background:var(--accent-soft);
}
@media(max-width:760px){
    .contracts-register-filter .hr-search-box{min-width:100%;flex-basis:100%}
}


/* v7.0.31 — People table headers and all row values are centered consistently. */
.people-table th,
.people-table td{
    text-align:center!important;
    vertical-align:middle;
}
.people-table .person-cell,
.people-table .table-actions{
    justify-content:center;
}
.people-table .person-cell>div{
    text-align:center;
}


/* v7.0.32 — Contracts archive follows the centered People table presentation. */
.contract-archive-head>span,
.contract-archive-row>.contract-row-employee,
.contract-archive-row>.contract-row-data{
    text-align:center;
}
.contract-archive-row>.contract-row-number,
.contract-archive-row>.contract-row-actions{
    justify-content:center;
}
.contract-archive-row .contract-row-number>div:last-child{
    justify-items:center;
    text-align:center;
}
.contract-archive-row .contract-row-status .status-pill{
    margin-inline:auto;
}
.contract-archive-row>.contract-row-actions>*{
    flex:0 0 auto;
}


/* v7.0.33 — The employees-without-contract table gains headers and centered content. */
.no-contract-head>span,
.no-contract-row>.no-contract-data{
    text-align:center;
}
.no-contract-row>.no-contract-data>span{
    display:none;
}
.no-contract-row>.no-contract-person{
    justify-content:center;
    text-align:center;
}
.no-contract-row>.status-pill{
    justify-self:center;
}
.no-contract-row>.contract-row-actions{
    justify-content:center;
}
.no-contract-row>.contract-row-actions>*{
    flex:0 0 auto;
}


/* v7.0.34 — Every desktop Contracts archive cell is centered as a complete unit. */
@media(min-width:981px){
    .contract-archive-head>span{
        display:flex;
        align-items:center;
        justify-content:center;
        text-align:center!important;
    }
    .contract-archive-row>.contract-row-number,
    .contract-archive-row>.contract-row-employee,
    .contract-archive-row>.contract-row-data,
    .contract-archive-row>.contract-row-status,
    .contract-archive-row>.contract-row-actions{
        min-width:0;
        align-self:stretch;
        text-align:center!important;
    }
    .contract-archive-row>.contract-row-number,
    .contract-archive-row>.contract-row-actions{
        display:flex;
        align-items:center;
        justify-content:center!important;
    }
    .contract-archive-row>.contract-row-employee,
    .contract-archive-row>.contract-row-data,
    .contract-archive-row>.contract-row-status{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
    }
    .contract-archive-row .contract-row-number>div:last-child{
        justify-items:center;
        text-align:center!important;
    }
    .contract-archive-row>.contract-row-actions>*{
        flex:0 0 auto;
    }
}


/* v7.0.35 — Every Contracts table starts with a visible row number that resets after filtering. */
.contract-row-index{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#718097;
    font-size:12.5px;
    font-weight:900;
    text-align:center;
}
.contract-row-index>b{font:inherit;color:inherit}
.contract-row-index:before{display:none;content:attr(data-label)}
@media(max-width:680px){
    .contract-row-index{
        justify-content:space-between;
        padding-bottom:8px;
        border-bottom:1px solid #eef2f6;
    }
    .contract-row-index:before{
        display:block;
        color:#96a0af;
        font-size:11.5px;
        font-weight:800;
    }
}


/* v7.0.37 — Contracts archive separates contract number and status in the requested order. */
.contract-row-status{
    align-self:stretch;
    justify-content:center;
    text-align:center!important;
}


/* v7.0.38 — Contracts archive reuses the People avatar presentation; v7.1.19 renders contract numbers as plain text. */
.contract-archive-row .contract-person-cell{
    min-width:0;
    justify-content:center;
}
.contract-archive-row .contract-person-cell>div{
    min-width:0;
    text-align:center;
}
.contract-archive-row .contract-number-text{
    color:#304158;
    font-size:12.5px;
    font-weight:800;
    white-space:nowrap;
}


/* v7.0.39 — The no-contract table uses the exact 32px circular People avatar. */
.no-contract-row .person-mini-avatar{
    width:32px;
    height:32px;
    flex:0 0 32px;
    border-radius:50%;
}


/* v7.0.40 — Correspondence rows now use the clean centered People-table structure. */
.correspondence-table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}
.correspondence-table{
    min-width:1120px;
    table-layout:fixed;
}
.correspondence-table th,
.correspondence-table td{
    text-align:center!important;
    vertical-align:middle;
}
.correspondence-table th{
    height:45px;
    padding:10px 9px;
    color:#758399;
    background:#f7f9fc;
    font-size:12px;
    font-weight:900;
}
.correspondence-table td{
    height:78px;
    padding:11px 9px;
}
.correspondence-table th:nth-child(1){width:64px}
.correspondence-table th:nth-child(2){width:145px}
.correspondence-table th:nth-child(3){width:190px}
.correspondence-table th:nth-child(4){width:170px}
.correspondence-table th:nth-child(5){width:170px}
.correspondence-table th:nth-child(6){width:105px}
.correspondence-table th:nth-child(7){width:100px}
.correspondence-table th:nth-child(8){width:125px}
.correspondence-table tbody tr{
    transition:background .18s ease,box-shadow .18s ease;
}
.correspondence-table tbody tr:hover{
    background:#fbfdff;
    box-shadow:inset 0 0 0 1px #e7edf4;
}
.correspondence-table .correspondence-row-index{
    color:#718097;
    font-variant-numeric:tabular-nums;
    font-weight:900;
    text-align:center!important;
}
.correspondence-table-row.letter-status-issued td:first-child{box-shadow:inset -4px 0 #10a982}
.correspondence-table-row.letter-status-draft td:first-child{box-shadow:inset -4px 0 #dda21b}
.correspondence-table-row.letter-status-archived td:first-child{box-shadow:inset -4px 0 #78879a}
.letter-number-cell,
.letter-subject-cell,
.letter-recipient-cell,
.letter-register-cell{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.letter-number-cell{gap:6px}
.letter-number-cell small,
.letter-register-cell small{
    display:block;
    color:#929dac;
    font-size:11.5px;
    line-height:1.6;
}
.letter-subject-cell b,
.letter-recipient-cell b,
.letter-register-cell b{
    max-width:100%;
    overflow:hidden;
    color:#304158;
    font-size:12.5px;
    font-weight:900;
    text-overflow:ellipsis;
}
.letter-subject-cell b{
    display:-webkit-box;
    white-space:normal;
    line-height:1.75;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.letter-recipient-cell b,
.letter-register-cell b{
    white-space:nowrap;
}
.letter-recipient-type{
    margin-top:4px;
    padding:0;
    display:block;
    border:0;
    border-radius:0;
    color:#718097;
    background:transparent;
    box-shadow:none;
    font-size:11px;
    font-weight:800;
}
.letter-status-badge,
.letter-file-badge{
    min-height:27px;
    width:max-content;
    max-width:100%;
    margin:0 auto;
    padding:0 8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid transparent;
    border-radius:999px;
    font-size:11.5px;
    font-weight:900;
    white-space:nowrap;
}
.letter-status-badge i,
.letter-file-badge i{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:currentColor;
}
.letter-status-badge.status-issued{
    color:#087a60;
    border-color:#ccece2;
    background:#edf9f5;
}
.letter-status-badge.status-draft{
    color:#9f7000;
    border-color:#f0dfab;
    background:#fff8e7;
}
.letter-status-badge.status-archived{
    color:#65758a;
    border-color:#dfe5eb;
    background:#f3f6f8;
}
.letter-file-badge.is-available{
    color:#2872ca;
    border-color:#d9e5f8;
    background:#f3f7ff;
}
.letter-file-badge.is-missing{
    color:#8793a4;
    border-color:#e2e7ec;
    background:#f6f8fa;
}
.correspondence-table .letter-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex-wrap:wrap;
}
.correspondence-table .letter-view-btn,
.correspondence-table .letter-edit-btn{
    min-height:31px;
    padding:0 9px;
    justify-content:center;
    flex:0 0 auto;
}
.correspondence-empty-row td{
    height:auto;
    padding:12px!important;
    box-shadow:none!important;
}
.correspondence-empty-row:hover{
    background:#fff!important;
    box-shadow:none!important;
}
@media(max-width:680px){
    .correspondence-table{min-width:980px}
}


/* v7.0.41 — Correspondence number/date are separate and the number is plain text. */
.correspondence-table{
    min-width:1200px;
}
.correspondence-table th:nth-child(1){width:64px}
.correspondence-table th:nth-child(2){width:130px}
.correspondence-table th:nth-child(3){width:105px}
.correspondence-table th:nth-child(4){width:185px}
.correspondence-table th:nth-child(5){width:160px}
.correspondence-table th:nth-child(6){width:165px}
.correspondence-table th:nth-child(7){width:100px}
.correspondence-table th:nth-child(8){width:95px}
.correspondence-table th:nth-child(9){width:120px}
.letter-number-text{
    display:block;
    max-width:100%;
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:0;
    color:#304158;
    background:transparent;
    direction:ltr;
    font-size:13px;
    font-weight:900;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.letter-date-cell{
    display:block;
    color:#526178;
    direction:ltr;
    font-size:12.5px;
    font-variant-numeric:tabular-nums;
    font-weight:800;
    white-space:nowrap;
}
@media(max-width:680px){
    .correspondence-table{min-width:1080px}
}


/* v7.0.42 — Correspondence detail is rebuilt as a clear user-friendly workspace. */
.letter-detail-page-v7042{
    display:grid;
    gap:12px;
}
.letter-detail-nav-v7042{
    display:flex;
    align-items:center;
}
.letter-detail-nav-v7042 a{
    min-height:34px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid var(--line);
    border-radius:9px;
    color:#607087;
    background:#fff;
    font-size:12px;
    font-weight:850;
}
.letter-detail-nav-v7042 a>span{
    width:17px;
    height:17px;
    display:grid;
    place-items:center;
}
.letter-detail-nav-v7042 .ui-icon{width:16px;height:16px}
.letter-detail-hero-v7042{
    min-height:142px;
    padding:20px 22px!important;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    overflow:hidden;
    position:relative;
    border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line));
    border-radius:16px;
    background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--accent-soft) 62%,#fff) 100%);
    box-shadow:var(--shadow-sm);
}
.letter-detail-hero-v7042:before{
    content:'';
    position:absolute;
    width:220px;
    height:220px;
    left:-110px;
    top:-125px;
    border-radius:50%;
    background:color-mix(in srgb,var(--accent) 7%,transparent);
}
.letter-detail-identity-v7042{
    min-width:0;
    display:flex;
    align-items:center;
    gap:14px;
    position:relative;
    z-index:1;
}
.letter-detail-hero-v7042 .letter-detail-symbol{
    width:58px;
    height:58px;
    flex:0 0 58px;
    border:1px solid #e5ebf1;
    border-radius:16px;
    color:var(--accent);
    background:#fff;
    box-shadow:0 10px 24px rgba(46,72,101,.08);
}
.letter-detail-hero-v7042 .letter-detail-symbol .ui-icon{width:27px;height:27px}
.letter-detail-hero-v7042 .letter-detail-main{min-width:0}
.letter-detail-hero-v7042 .letter-detail-title-row{
    margin-top:6px;
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}
.letter-detail-hero-v7042 .letter-detail-title-row h2{
    max-width:760px;
    margin:0;
    overflow:hidden;
    color:#23334a;
    font-size:21px;
    font-weight:950;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.letter-detail-hero-v7042 .letter-status-badge{margin:0}
.letter-detail-meta-v7042{
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:8px 18px;
    flex-wrap:wrap;
    color:#7d8a9d;
    font-size:12px;
}
.letter-detail-meta-v7042 span{position:relative}
.letter-detail-meta-v7042 span:not(:last-child):after{
    content:'';
    width:4px;
    height:4px;
    position:absolute;
    left:-11px;
    top:50%;
    transform:translateY(-50%);
    border-radius:50%;
    background:#c2cad4;
}
.letter-detail-meta-v7042 b{color:#4b5b71;font-weight:900}
.letter-detail-actions-v7042{
    max-width:none;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:nowrap;
    white-space:nowrap;
    position:relative;
    z-index:1;
}
.letter-detail-actions-v7042 .letter-file-btn,
.letter-detail-actions-v7042 .letter-edit-btn,
.letter-detail-actions-v7042 .letter-archive-btn{
    min-height:37px;
    padding:0 11px;
    justify-content:center;
    border-radius:9px;
    background:#fff;
}
.letter-detail-actions-v7042 .letter-file-btn{color:#2872ca;border-color:#d9e5f8;background:#f3f7ff}
.letter-detail-actions-v7042 .letter-edit-btn{color:#9f7000;border-color:#f0dfab;background:#fff8e7}
.letter-detail-actions-v7042 .letter-archive-btn{color:#67768a;border-color:#dfe5eb;background:#f4f6f8}
/* v7.0.45 — Correspondence back action sits beside edit/archive with the same compact button shape. */
.letter-detail-actions-v7042 .letter-back-btn-v7045{color:#607087;border-color:#dfe5eb;background:#f4f6f8}
.letter-detail-layout-v7042{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);
    align-items:start;
    gap:12px;
}
.letter-detail-primary-v7042,
.letter-detail-side-v7042{
    min-width:0;
    display:grid;
    gap:12px;
}
.letter-detail-page-v7042 .letter-detail-card{
    padding:17px!important;
    overflow:hidden;
    border-radius:14px!important;
}
.letter-card-head-v7042{
    margin-bottom:13px;
    padding-bottom:12px;
    display:flex;
    align-items:center;
    gap:9px;
    border-bottom:1px solid #edf1f5;
}
.letter-card-head-v7042>span{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:var(--accent);
    background:var(--accent-soft);
}
.letter-card-head-v7042 .ui-icon{width:18px;height:18px}
.letter-card-head-v7042 h3{
    margin:0;
    color:#2b3b52;
    font-size:14px;
    font-weight:950;
}
.letter-card-head-v7042 p{
    margin:3px 0 0;
    color:#919cad;
    font-size:11.5px;
}
.letter-detail-facts-v7042{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.letter-detail-facts-v7042>div{
    min-height:74px;
    padding:11px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid #edf1f5;
    border-radius:10px;
    text-align:center;
    background:#f8fafc;
}
.letter-detail-facts-v7042 span,
.letter-detail-facts-v7042 b{display:block}
.letter-detail-facts-v7042 span{color:#929dac;font-size:11.5px}
.letter-detail-facts-v7042 b{
    max-width:100%;
    margin-top:5px;
    overflow:hidden;
    color:#34445b;
    font-size:12.5px;
    font-weight:900;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.letter-detail-facts-v7042 .plain-letter-number-v7042{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    direction:ltr;
}
.letter-detail-facts-v7042>div:nth-child(2) b{direction:ltr;font-variant-numeric:tabular-nums}
.letter-description-v7042{
    min-height:128px;
    max-width:100%;
    min-width:0;
    padding:15px;
    overflow:hidden;
    border:1px solid #e8edf3;
    border-radius:11px;
    color:#58687d;
    background:#f8fafc;
    font-size:13px;
    line-height:2.05;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.letter-file-state-v7042{
    padding:11px;
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid #e2e8ef;
    border-radius:11px;
    background:#f8fafc;
}
.letter-file-state-v7042>span{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:10px;
}
.letter-file-state-v7042 .ui-icon{width:19px;height:19px}
.letter-file-state-v7042.has-file{border-color:#ccece2;background:#f0faf7}
.letter-file-state-v7042.has-file>span{color:#087a60;background:#def5ed}
.letter-file-state-v7042.no-file>span{color:#7d8999;background:#e9edf2}
.letter-file-state-v7042 b,
.letter-file-state-v7042 small{display:block}
.letter-file-state-v7042 b{color:#34445b;font-size:12.5px;font-weight:900}
.letter-file-state-v7042 small{margin-top:3px;color:#8995a6;font-size:11.5px;line-height:1.8}
.letter-file-primary-v7042{
    width:100%;
    min-height:38px;
    margin-top:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d9e5f8;
    border-radius:9px;
    color:#2872ca;
    background:#f3f7ff;
    font-size:12px;
    font-weight:900;
}
.letter-timeline-v7042{display:grid}
.letter-timeline-v7042>div{
    min-height:55px;
    padding:6px 0;
    display:grid;
    grid-template-columns:14px minmax(0,1fr);
    align-items:start;
    gap:9px;
    position:relative;
}
.letter-timeline-v7042>div:not(:last-child):before{
    content:'';
    width:1px;
    position:absolute;
    right:6px;
    top:19px;
    bottom:-4px;
    background:#dfe5eb;
}
.letter-timeline-v7042 i{
    width:9px;
    height:9px;
    margin-top:5px;
    display:block;
    border:2px solid #fff;
    border-radius:50%;
    background:#aeb8c5;
    box-shadow:0 0 0 2px #dfe5eb;
}
.letter-timeline-v7042 .is-complete i{background:#10a982;box-shadow:0 0 0 2px #ccece2}
.letter-timeline-v7042 span,
.letter-timeline-v7042 b{display:block}
.letter-timeline-v7042 span{color:#8d98a9;font-size:11.5px}
.letter-timeline-v7042 b{margin-top:3px;color:#3d4d63;font-size:12px;font-weight:850;line-height:1.7}
@media(max-width:1100px){
    .letter-detail-layout-v7042{grid-template-columns:1fr}
    .letter-detail-side-v7042{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .letter-detail-hero-v7042{grid-template-columns:1fr}
    .letter-detail-actions-v7042{max-width:none;justify-content:flex-start}
    .letter-detail-facts-v7042{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
    .letter-detail-identity-v7042{align-items:flex-start}
    .letter-detail-hero-v7042 .letter-detail-symbol{width:48px;height:48px;flex-basis:48px}
    .letter-detail-hero-v7042 .letter-detail-title-row h2{font-size:17px;white-space:normal}
    .letter-detail-meta-v7042{align-items:flex-start;flex-direction:column;gap:5px}
    .letter-detail-meta-v7042 span:after{display:none}
    .letter-detail-actions-v7042{align-items:stretch;flex-direction:column}
    .letter-detail-actions-v7042>*{width:100%}
    .letter-detail-facts-v7042,
    .letter-detail-side-v7042{grid-template-columns:1fr}
}

/* v7.0.44 — Contract detail is rebuilt as a clear user-friendly workspace. */
.contract-detail-page-v7044{
    display:grid;
    gap:12px;
}
.contract-detail-nav-v7044{display:flex;align-items:center}
.contract-detail-nav-v7044 a{
    min-height:34px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid var(--line);
    border-radius:9px;
    color:#607087;
    background:#fff;
    font-size:12px;
    font-weight:850;
}
.contract-detail-nav-v7044 a>span{width:17px;height:17px;display:grid;place-items:center}
.contract-detail-nav-v7044 .ui-icon{width:16px;height:16px}
.contract-detail-hero-v7044{
    min-height:142px;
    padding:20px 22px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    overflow:hidden;
    position:relative;
    border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line));
    border-radius:16px;
    background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--accent-soft) 62%,#fff) 100%);
    box-shadow:var(--shadow-sm);
}
.contract-detail-hero-v7044:before{
    content:'';
    width:220px;
    height:220px;
    position:absolute;
    left:-110px;
    top:-125px;
    border-radius:50%;
    background:color-mix(in srgb,var(--accent) 7%,transparent);
}
.contract-detail-identity-v7044{
    min-width:0;
    display:flex;
    align-items:center;
    gap:14px;
    position:relative;
    z-index:1;
}
.contract-detail-symbol-v7044{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:grid;
    place-items:center;
    border:1px solid #e5ebf1;
    border-radius:16px;
    color:var(--accent);
    background:#fff;
    box-shadow:0 10px 24px rgba(46,72,101,.08);
}
.contract-detail-symbol-v7044 .ui-icon{width:27px;height:27px}
.contract-detail-main-v7044{min-width:0}
.contract-detail-title-v7044{
    margin-top:6px;
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}
.contract-detail-title-v7044 h2{
    max-width:760px;
    margin:0;
    overflow:hidden;
    color:#23334a;
    font-size:21px;
    font-weight:950;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.contract-detail-title-v7044 .status-pill{margin:0}
.contract-detail-meta-v7044{
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:8px 18px;
    flex-wrap:wrap;
    color:#7d8a9d;
    font-size:12px;
}
.contract-detail-meta-v7044>span{position:relative}
.contract-detail-meta-v7044>span:not(:last-child):after{
    content:'';
    width:4px;
    height:4px;
    position:absolute;
    left:-11px;
    top:50%;
    transform:translateY(-50%);
    border-radius:50%;
    background:#c2cad4;
}
.contract-detail-meta-v7044 b{color:#4b5b71;font-weight:900}
.contract-detail-person-v7044{display:inline-flex;align-items:center;gap:6px}
.contract-detail-person-v7044 img{
    width:26px;
    height:26px;
    object-fit:cover;
    border:2px solid #fff;
    border-radius:50%;
    box-shadow:0 0 0 1px #dfe6ed;
}
.contract-detail-actions-v7044{
    max-width:290px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
    position:relative;
    z-index:1;
}
.contract-file-action-v7044,
.contract-edit-action-v7044{
    min-height:37px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid;
    border-radius:9px;
    font-size:12px;
    font-weight:900;
}
.contract-file-action-v7044{color:#2872ca;border-color:#d9e5f8;background:#f3f7ff}
.contract-edit-action-v7044{color:#9f7000;border-color:#f0dfab;background:#fff8e7}
.contract-detail-layout-v7044{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);
    align-items:stretch;
    gap:12px;
}
.contract-detail-primary-v7044,
.contract-detail-side-v7044{min-width:0;display:grid;gap:12px}
/* v7.0.46 — Contract actions are unified and system history stretches to the related-contracts card. */
.contract-detail-side-v7044{grid-template-rows:auto minmax(0,1fr)}
.contract-history-card-v7044{height:100%}
.contract-detail-page-v7044 .contract-detail-card-v7044{
    padding:17px!important;
    overflow:hidden;
    border-radius:14px!important;
}
.contract-card-head-v7044{
    margin-bottom:13px;
    padding-bottom:12px;
    display:flex;
    align-items:center;
    gap:9px;
    border-bottom:1px solid #edf1f5;
}
.contract-card-head-v7044>span{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:var(--accent);
    background:var(--accent-soft);
}
.contract-card-head-v7044 .ui-icon{width:18px;height:18px}
.contract-card-head-v7044 h3{margin:0;color:#2b3b52;font-size:14px;font-weight:950}
.contract-card-head-v7044 p{margin:3px 0 0;color:#919cad;font-size:11.5px}
.contract-detail-facts-v7044{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.contract-detail-facts-v7044>div{
    min-height:74px;
    padding:11px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid #edf1f5;
    border-radius:10px;
    text-align:center;
    background:#f8fafc;
}
.contract-detail-facts-v7044 span,
.contract-detail-facts-v7044 b{display:block}
.contract-detail-facts-v7044 span{color:#929dac;font-size:11.5px}
.contract-detail-facts-v7044 b{
    max-width:100%;
    margin-top:5px;
    overflow:hidden;
    color:#34445b;
    font-size:12.5px;
    font-weight:900;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.contract-number-v7044{direction:ltr;font-variant-numeric:tabular-nums}
.contract-period-facts-v7044{grid-template-columns:repeat(3,minmax(0,1fr))}
.contract-period-facts-v7044>div:nth-child(-n+2) b{direction:ltr;font-variant-numeric:tabular-nums}
.contract-notes-v7044{
    min-height:112px;
    max-width:100%;
    min-width:0;
    padding:15px;
    overflow:hidden;
    border:1px solid #e8edf3;
    border-radius:11px;
    color:#58687d;
    background:#f8fafc;
    font-size:13px;
    line-height:2.05;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.contract-file-state-v7044{
    padding:11px;
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid #e2e8ef;
    border-radius:11px;
    background:#f8fafc;
}
.contract-file-state-v7044>span{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:10px;
}
.contract-file-state-v7044 .ui-icon{width:19px;height:19px}
.contract-file-state-v7044.has-file{border-color:#ccece2;background:#f0faf7}
.contract-file-state-v7044.has-file>span{color:#087a60;background:#def5ed}
.contract-file-state-v7044.no-file>span{color:#7d8999;background:#e9edf2}
.contract-file-state-v7044 b,
.contract-file-state-v7044 small{display:block}
.contract-file-state-v7044 b{color:#34445b;font-size:12.5px;font-weight:900}
.contract-file-state-v7044 small{margin-top:3px;color:#8995a6;font-size:11.5px;line-height:1.8}
.contract-file-primary-v7044{
    width:100%;
    min-height:38px;
    margin-top:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d9e5f8;
    border-radius:9px;
    color:#2872ca;
    background:#f3f7ff;
    font-size:12px;
    font-weight:900;
}
.contract-timeline-v7044{display:grid}
.contract-timeline-v7044>div{
    min-height:55px;
    padding:6px 0;
    display:grid;
    grid-template-columns:14px minmax(0,1fr);
    align-items:start;
    gap:9px;
    position:relative;
}
.contract-timeline-v7044>div:not(:last-child):before{
    content:'';
    width:1px;
    position:absolute;
    right:6px;
    top:19px;
    bottom:-4px;
    background:#dfe5eb;
}
.contract-timeline-v7044 i{
    width:9px;
    height:9px;
    margin-top:5px;
    display:block;
    border:2px solid #fff;
    border-radius:50%;
    background:#10a982;
    box-shadow:0 0 0 2px #ccece2;
}
.contract-timeline-v7044 span,
.contract-timeline-v7044 b{display:block}
.contract-timeline-v7044 span{color:#8d98a9;font-size:11.5px}
.contract-timeline-v7044 b{margin-top:3px;color:#3d4d63;font-size:12px;font-weight:850;line-height:1.7}
.contract-related-card-v7044{margin:0!important}
.contract-related-head-v7044{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.contract-related-head-v7044 .contract-card-head-v7044{min-width:0;flex:1}
.contract-add-related-v7044{
    min-height:36px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    color:#fff;
    background:linear-gradient(135deg,var(--accent),var(--accent-dark));
    font-size:12px;
    font-weight:900;
}
.contract-related-list-v7044{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.contract-related-list-v7044>a{
    min-width:0;
    padding:10px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fbfcfe;
    transition:.18s ease;
}
.contract-related-list-v7044>a:hover{transform:translateY(-2px);border-color:#ccd9e5;box-shadow:var(--shadow-sm)}
.contract-related-symbol-v7044{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:var(--accent);
    background:var(--accent-soft);
}
.contract-related-symbol-v7044 .ui-icon{width:18px;height:18px}
.contract-related-list-v7044 b,
.contract-related-list-v7044 small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contract-related-list-v7044 b{color:#34445b;font-size:12.5px;font-weight:900}
.contract-related-list-v7044 small{margin-top:4px;color:#8e99aa;font-size:11.5px}
.contract-related-empty-v7044{
    grid-column:1/-1;
    padding:16px;
    border:1px dashed #d8e2eb;
    border-radius:11px;
    color:#7f8b9d;
    text-align:center;
    background:#fbfcfe;
    font-size:12px;
}
@media(max-width:1100px){
    .contract-detail-layout-v7044{grid-template-columns:1fr}
    .contract-detail-side-v7044{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
    .contract-history-card-v7044{height:auto}
}
@media(max-width:760px){
    .contract-detail-hero-v7044{grid-template-columns:1fr}
    .contract-detail-actions-v7044{max-width:none;justify-content:flex-start}
    .contract-detail-facts-v7044{grid-template-columns:repeat(2,minmax(0,1fr))}
    .contract-period-facts-v7044{grid-template-columns:1fr}
    .contract-related-list-v7044{grid-template-columns:1fr}
}
@media(max-width:520px){
    .contract-detail-identity-v7044{align-items:flex-start}
    .contract-detail-symbol-v7044{width:48px;height:48px;flex-basis:48px}
    .contract-detail-title-v7044 h2{font-size:17px;white-space:normal}
    .contract-detail-meta-v7044{align-items:flex-start;flex-direction:column;gap:5px}
    .contract-detail-meta-v7044>span:after{display:none}
    .contract-detail-actions-v7044{align-items:stretch;flex-direction:column}
    .contract-detail-actions-v7044>*{width:100%}
    .contract-detail-facts-v7044,
    .contract-detail-side-v7044{grid-template-columns:1fr}
    .contract-related-head-v7044{flex-direction:column}
    .contract-add-related-v7044{width:100%}
    .contract-related-list-v7044>a{grid-template-columns:38px minmax(0,1fr)}
    .contract-related-list-v7044 .status-pill{grid-column:2;justify-self:start}
}
@media(prefers-reduced-motion:reduce){
    .contract-related-list-v7044>a{transition:none}
    .contract-related-list-v7044>a:hover{transform:none}
}

/* v7.1.205 — Contract detail header actions stay on one desktop/tablet row. */
.contract-detail-actions-v7044{
    max-width:none;
    flex-wrap:nowrap;
    white-space:nowrap;
}

/* v7.0.47 — Contract back color matches People and the note-free guide fills the form column. */
.contract-detail-actions-v7044 .contract-back-action-v7046{
    color:#5f6f85;
    border-color:var(--line-strong);
    background:#fff;
}
.modern-contract-form .contract-form-layout{align-items:stretch}
.modern-contract-form .contract-form-guide{
    height:100%;
    align-self:stretch;
    display:flex;
    flex-direction:column;
}
.modern-contract-form .contract-form-guide .letter-guide-steps{
    min-height:0;
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:space-evenly;
}
.modern-contract-form .contract-form-guide .letter-guide-step{
    flex:1;
    align-content:center;
}
@media(max-width:980px){
    .modern-contract-form .contract-form-guide{display:none}
}

/* v7.0.48 — Correspondence form removes decorative alerts and fills the guide column. */
.letter-form .letter-form-layout{align-items:stretch}
.letter-form .letter-form-guide{
    height:100%;
    align-self:stretch;
    display:flex;
    flex-direction:column;
}
.letter-form .letter-form-guide .letter-guide-steps{
    min-height:0;
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:space-evenly;
}
.letter-form .letter-form-guide .letter-guide-step{
    flex:1;
    align-content:center;
}
@media(max-width:980px){
    .letter-form .letter-form-guide{display:none}
}

/* v7.1.0 — Structured payroll issuance, access controls and on-demand payslips. */
.payroll-page-head{margin-bottom:18px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e4eaf0;border-radius:16px;background:linear-gradient(135deg,#fff,#f7fafc);box-shadow:var(--shadow-sm)}
.payroll-page-head.compact{padding:18px 22px}.payroll-page-head>div:first-child{min-width:0}.payroll-page-head>div:first-child>span{display:block;margin-bottom:5px;color:var(--accent);font-size:11.5px;font-weight:900}.payroll-page-head h1{margin:0;color:#26384e;font-size:21px;font-weight:950}.payroll-page-head p{margin:5px 0 0;color:#7d8998;font-size:12.5px;line-height:1.9}.payroll-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.payroll-head-actions form{margin:0}.payroll-head-actions .ui-icon,.payroll-page-head>a .ui-icon{width:17px;height:17px}.payroll-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.v76-settings-purpose{display:block;margin-top:7px;color:#536a80;font-size:11px;font-weight:900}
.payroll-danger-btn,.payroll-allow-btn,.payroll-deny-btn{min-height:40px;padding:0 14px;border-radius:10px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.payroll-danger-btn,.payroll-deny-btn{border:1px solid #f0caca;color:#b33c45;background:#fff6f6}.payroll-allow-btn{border:1px solid #bfe6d9;color:#08775c;background:#f0faf7}
.payroll-overview-grid{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payroll-overview-card{min-height:90px;padding:15px 17px;display:flex;flex-direction:column;justify-content:center;border:1px solid #e3e9ef;border-radius:14px;color:#4d5c6f;background:#fff;box-shadow:var(--shadow-sm);transition:.18s ease}.payroll-overview-card:hover,.payroll-overview-card.active{transform:translateY(-2px);border-color:#aac9e2;box-shadow:0 12px 28px rgba(42,78,108,.1)}.payroll-overview-card small,.payroll-overview-card strong{display:block}.payroll-overview-card small{font-size:11.5px;font-weight:800}.payroll-overview-card strong{margin-top:5px;color:#2a4158;font-size:22px;font-weight:950}.payroll-overview-card.draft strong{color:#a47716}.payroll-overview-card.published strong{color:#078065}.payroll-overview-card.suspended strong{color:#b8444e}
.payroll-table-card,.payroll-upload-card,.payroll-import-guide,.payroll-side-card{border:1px solid #e3e9ef;border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.payroll-table-card>header,.payroll-upload-card>header,.payroll-import-guide>header{padding:17px 19px;border-bottom:1px solid #edf1f5}.payroll-table-card>header small,.payroll-upload-card>header small,.payroll-import-guide>header small,.payroll-side-card header small{display:block;color:#8b96a5;font-size:10.5px;font-weight:800}.payroll-table-card>header h2,.payroll-upload-card>header h2,.payroll-import-guide>header h2{margin:3px 0 0;color:#31445a;font-size:14px;font-weight:950}
.payroll-period-table{display:grid;grid-template-columns:54px 1.05fr .9fr .8fr 1.1fr 1.25fr 60px 120px;align-items:center;gap:8px;text-align:center}.payroll-period-head{min-width:920px;padding:10px 16px;color:#7e8998;background:#f6f8fa;font-size:11px;font-weight:900}.payroll-period-rows{min-width:920px}.payroll-period-row{min-height:66px;padding:9px 16px;border-top:1px solid #eef1f4;color:#5c6878;font-size:11.5px}.payroll-period-row:first-child{border-top:0}.payroll-period-row strong{color:#33475d;font-size:12.5px}.payroll-period-row b{color:#31465d;font-size:12px}.payroll-row-action{padding:8px;border:1px solid #d7e2ec;border-radius:8px;color:#2870b8;background:#f7faff;font-size:11px;font-weight:900}.payroll-status{width:max-content;max-width:100%;margin:auto;padding:5px 9px;border-radius:999px;font-size:10.5px;font-weight:900}.payroll-status.status-draft{color:#896514;background:#fff7d9}.payroll-status.status-published{color:#08785f;background:#e6f7f1}.payroll-status.status-suspended{color:#aa3d47;background:#fff0f1}.payroll-empty{padding:45px 20px;text-align:center}.payroll-empty>span{width:54px;height:54px;margin:auto;display:grid;place-items:center;border-radius:16px;color:var(--accent);background:var(--accent-soft)}.payroll-empty .ui-icon{width:25px;height:25px}.payroll-empty h3{margin:12px 0 0;color:#3b4d62;font-size:14px}.payroll-empty p{margin:5px 0 0;color:#8994a3;font-size:12px}.payroll-period-rows,.payroll-people-table-wrap,.payroll-global-rows{overflow-x:auto}
.payroll-upload-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);align-items:stretch;gap:14px}.payroll-upload-card>header,.payroll-import-guide>header{display:flex;align-items:center;gap:11px}.payroll-upload-card>header>span,.payroll-import-guide>header>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:var(--accent-soft)}.payroll-upload-card .ui-icon,.payroll-import-guide .ui-icon{width:19px;height:19px}.payroll-upload-grid{padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.payroll-upload-grid .full-field{grid-column:1/-1}.payroll-file-drop{min-height:140px;padding:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #b9c9d8;border-radius:13px;text-align:center;background:#f8fbfd;cursor:pointer;transition:.18s ease}.payroll-file-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.payroll-file-drop>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:#fff;box-shadow:var(--shadow-sm)}.payroll-file-drop .ui-icon{width:22px;height:22px}.payroll-file-drop b{margin-top:8px;color:#38516b;font-size:13px}.payroll-file-drop small{margin-top:4px;color:#8591a1;font-size:11px;line-height:1.8}.payroll-upload-grid input[type=file]{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0)}.payroll-file-name{margin-top:7px;color:#738296;font-size:11.5px;text-align:center}.payroll-import-guide{display:flex;flex-direction:column}.payroll-import-guide ol{margin:0;padding:16px 42px 8px 18px;display:flex;flex:1;justify-content:space-evenly;flex-direction:column;counter-reset:payroll-step}.payroll-import-guide li{padding:10px 4px;position:relative;list-style:none;counter-increment:payroll-step}.payroll-import-guide li:before{content:counter(payroll-step);width:24px;height:24px;position:absolute;right:-31px;top:10px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:10px;font-weight:950}.payroll-import-guide li b,.payroll-import-guide li span{display:block}.payroll-import-guide li b{color:#43566c;font-size:11.5px}.payroll-import-guide li span{margin-top:3px;color:#8995a4;font-size:10.5px;line-height:1.8}.payroll-storage-note{margin:10px 15px 15px;padding:11px;border-radius:10px;color:#55718b;background:#eef7fb;font-size:10.5px;line-height:1.9}
.payroll-period-summary{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(210px,1.5fr);gap:9px}.payroll-period-summary>div{min-height:86px;padding:14px;display:grid;grid-template-columns:1fr auto;align-items:end;border:1px solid #e5eaf0;border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.payroll-period-summary small{grid-column:1/-1;color:#8a95a3;font-size:10.5px}.payroll-period-summary strong{color:#31485f;font-size:22px;font-weight:950}.payroll-period-summary span{padding-bottom:3px;color:#93a0ad;font-size:10.5px}.payroll-period-summary .positive strong{color:#078063}.payroll-period-summary .zero strong{color:#a47716}.payroll-period-summary .visible strong{color:#2c6fab}.payroll-period-summary .amount strong{font-size:18px}
.payroll-warning-box{margin-bottom:14px;border:1px solid #efdfab;border-radius:12px;background:#fffbeb}.payroll-warning-box summary{padding:12px 15px;display:flex;justify-content:space-between;color:#795e19;font-size:11.5px;cursor:pointer}.payroll-warning-box ul{max-height:220px;margin:0;padding:0 34px 14px 16px;overflow:auto;color:#77683a;font-size:11px;line-height:2}.payroll-period-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:13px}.payroll-period-main{min-width:0}.payroll-period-side{display:grid;gap:11px}.payroll-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.payroll-card-heading p{margin:4px 0 0;color:#8793a2;font-size:10.5px}.payroll-mini-stats{display:flex;gap:6px;flex-wrap:wrap}.payroll-mini-stats span{padding:5px 8px;border-radius:7px;color:#6b7788;background:#f0f3f6;font-size:9.5px;font-weight:800}.payroll-filter-row{padding:11px 14px;display:grid;grid-template-columns:minmax(220px,1fr) 140px 150px auto;align-items:center;gap:7px;border-bottom:1px solid #edf1f4;background:#fbfcfd}.payroll-search-box{min-height:38px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid #dfe5eb;border-radius:9px;background:#fff}.payroll-search-box .ui-icon{width:16px;height:16px;color:#94a0ad}.payroll-search-box input{width:100%;border:0;outline:0;color:#46576a;background:transparent;font:inherit;font-size:11.5px}.payroll-filter-row select{height:38px;padding:0 9px;border:1px solid #dfe5eb;border-radius:9px;color:#5b697a;background:#fff;font:inherit;font-size:10.5px}.payroll-visible-result{color:#8692a1;font-size:10.5px;white-space:nowrap}.payroll-visible-result b{color:#40546b}
.payroll-visibility-modes{margin:0;padding:12px 14px;display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;border:0;border-bottom:1px solid #edf1f5}.payroll-visibility-modes legend{padding:0;align-self:center;color:#566779;font-size:11.5px;font-weight:900}.payroll-visibility-modes>label{min-height:54px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid #e0e6ec;border-radius:9px;cursor:pointer;background:#fff}.payroll-visibility-modes>label:has(input:checked){border-color:#9abed9;background:#f2f8fc}.payroll-visibility-modes input{accent-color:var(--accent)}.payroll-visibility-modes b,.payroll-visibility-modes small{display:block}.payroll-visibility-modes b{color:#45586e;font-size:10.5px}.payroll-visibility-modes small{margin-top:2px;color:#8b97a5;font-size:9px}.payroll-selection-guide{padding:7px 15px;color:#6b7989;background:#f7f9fb;font-size:10px}.payroll-people-grid{min-width:1000px;display:grid;grid-template-columns:45px minmax(190px,1.4fr) 130px 135px 125px 135px 140px;align-items:center;gap:7px;text-align:center}.payroll-people-head{padding:9px 13px;color:#7a8796;background:#f1f4f7;font-size:10px;font-weight:900}.payroll-person-row{min-height:68px;padding:8px 13px;border-top:1px solid #edf1f4;color:#5f6d7d;font-size:10.5px}.payroll-person-row[hidden]{display:none}.payroll-person{text-align:right}.payroll-person strong,.payroll-person small{display:block}.payroll-person strong{color:#34495f;font-size:11.5px;font-weight:900}.payroll-person small{margin-top:3px;color:#8c98a7;font-size:9.5px}.payroll-row-check input,.payroll-people-head input,.payroll-global-actions input,.payroll-global-row input{width:16px;height:16px;accent-color:var(--accent)}.payroll-net{color:#324b63;font-size:11px}.payroll-net small{color:#8995a4;font-size:9px}.payroll-net.is-zero{color:#98731b}.payroll-access-badges span,.payroll-slip-state span,.payroll-access-pill{padding:5px 7px;display:inline-block;border-radius:999px;font-size:9px;font-style:normal;font-weight:900}.payroll-access-badges .denied,.payroll-slip-state .denied,.payroll-access-pill.denied{color:#aa414a;background:#fff0f1}.payroll-access-badges .allowed,.payroll-access-pill.allowed,.payroll-slip-state .ready{color:#08775e;background:#e8f7f2}.payroll-access-badges .inherited{color:#647386;background:#eef2f5}.payroll-slip-state .zero{color:#886815;background:#fff7d9}.payroll-row-actions{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.payroll-row-actions a,.payroll-row-actions button{padding:5px 7px;border:1px solid #dce4eb;border-radius:7px;color:#3d70a0;background:#fff;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.payroll-row-actions button{color:#8b6916;background:#fffbeb}.payroll-filter-empty{padding:30px;text-align:center;color:#8794a3;font-size:11.5px}.payroll-access-save{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e7ecf1;background:#fbfcfd}.payroll-access-save>span{color:#8190a0;font-size:10.5px}
.payroll-side-card{padding:15px}.payroll-side-card header{display:flex;align-items:center;gap:9px}.payroll-side-card header>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.payroll-side-card header .ui-icon{width:18px;height:18px}.payroll-side-card h3{margin:2px 0 0;color:#40536a;font-size:12.5px}.payroll-side-card dl{margin:13px 0 0}.payroll-side-card dl>div{padding:8px 0;display:grid;grid-template-columns:82px minmax(0,1fr);gap:7px;border-top:1px solid #eef1f4}.payroll-side-card dt{color:#8995a4;font-size:9.5px}.payroll-side-card dd{margin:0;overflow-wrap:anywhere;color:#4d5f73;font-size:10px;font-weight:800}.payroll-side-card.privacy{border-color:#cfe5ef;background:#f6fbfd}.payroll-side-card.privacy p,.payroll-side-note{margin:11px 0 0;color:#668094;font-size:10px;line-height:1.9}.payroll-side-note.warning{padding:9px;border-radius:8px;color:#856516;background:#fff8df}.payroll-replace-form{margin-top:12px;display:grid;gap:8px}.payroll-replace-form>label{color:#596b7d;font-size:10.5px;font-weight:800}.payroll-replace-form input[type=file]{width:100%;font:inherit;font-size:9px}.payroll-replace-form>span{color:#8a96a4;font-size:9.5px}
.global-access-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-global-filter{padding:12px 15px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #edf1f4}.payroll-global-filter .payroll-search-box{width:min(480px,100%)}.payroll-global-filter>a{color:#7e8a99;font-size:10.5px}.payroll-global-actions{padding:10px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc}.payroll-global-actions>label{display:flex;align-items:center;gap:6px;color:#596a7d;font-size:10.5px}.payroll-global-actions>div{display:flex;gap:6px}.payroll-global-actions button{min-height:34px;font-size:10px}.payroll-global-grid{min-width:760px;display:grid;grid-template-columns:70px minmax(220px,1.5fr) 160px 160px 120px;align-items:center;gap:8px;text-align:center}.payroll-global-head{padding:9px 15px;color:#7d8998;background:#f1f4f7;font-size:10px;font-weight:900}.payroll-global-row{min-height:64px;padding:8px 15px;border-top:1px solid #edf1f4;color:#607083;font-size:10.5px;cursor:pointer}.payroll-global-row:hover{background:#fbfdff}.payroll-dot{width:7px;height:7px;margin-left:4px;display:inline-block;border-radius:50%;background:#aeb7c1}.payroll-dot.ok{background:#11a17c}
.payroll-slip-card{overflow:hidden;border:1px solid #dce4eb;border-radius:15px;background:#fff;box-shadow:0 12px 32px rgba(35,61,83,.08)}.payroll-slip-head{padding:19px 21px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#fff;background:linear-gradient(135deg,#24465f,#3e6b8a)}.payroll-slip-head span,.payroll-slip-head small{display:block;color:#d6e4ed;font-size:10px}.payroll-slip-head h2{margin:3px 0 0;color:#fff;font-size:18px;font-weight:950}.payroll-slip-code{text-align:left;direction:ltr}.payroll-slip-code b{display:block;margin-top:4px;color:#fff;font-size:11px;letter-spacing:.3px}.payroll-slip-identity{padding:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:#f7f9fb}.payroll-slip-identity>div{min-height:62px;padding:10px;display:flex;justify-content:center;flex-direction:column;border:1px solid #e4e9ee;border-radius:9px;text-align:center;background:#fff}.payroll-slip-identity small,.payroll-slip-identity strong{display:block}.payroll-slip-identity small{color:#8b96a4;font-size:9.5px}.payroll-slip-identity strong{margin-top:5px;color:#384d63;font-size:11px}.payroll-slip-section{margin:13px}.payroll-slip-section>header{padding:7px 10px;display:flex;align-items:center;gap:7px;border-radius:8px 8px 0 0;color:#fff;background:#486d89}.payroll-slip-section>header .ui-icon{width:15px;height:15px}.payroll-slip-section>header h3{margin:0;color:#fff;font-size:10.5px}.payroll-slip-section.deductions>header{background:#687583}.payroll-slip-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e2e7ec;border-top:0}.payroll-slip-items>div{min-height:42px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #edf1f4;color:#596a7c;font-size:10px}.payroll-slip-items>div:nth-child(odd){border-left:1px solid #edf1f4}.payroll-slip-items>div:nth-last-child(-n+2){border-bottom:0}.payroll-slip-items b{color:#314a62;font-size:10px}.payroll-slip-items b small{color:#8b97a5;font-size:8.5px}.payroll-slip-financial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.payroll-slip-financial-grid.single{grid-template-columns:1fr}.payroll-slip-financial-grid .payroll-slip-items{grid-template-columns:1fr}.payroll-slip-financial-grid .payroll-slip-items>div{border-left:0}.payroll-slip-financial-grid .payroll-slip-items>div:last-child{border-bottom:0}.payroll-slip-totals{margin:13px;padding:5px 12px;border:1px solid #dce4ea;border-radius:10px;background:#f7f9fb}.payroll-slip-totals>div{min-height:42px;padding:7px 2px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e7ec;color:#596b7e;font-size:10.5px}.payroll-slip-totals>div:last-child{border-bottom:0}.payroll-slip-totals b{color:#344d65}.payroll-slip-totals .net{margin:3px -5px;padding:10px 8px;border:0;border-radius:8px;background:#e5eff6}.payroll-slip-totals .net strong{color:#204c6c;font-size:14px}.payroll-slip-totals small{font-size:8.5px}.payroll-slip-foot{padding:10px 16px;display:flex;justify-content:space-between;gap:10px;color:#8994a2;background:#f8fafb;font-size:9.5px}.payroll-admin-preview{max-width:940px;margin:auto}
.portal-payroll-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.portal-payroll-download,.portal-payroll-bottom a{min-height:40px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#276c9a,#244e6b);font-size:11px;font-weight:900}.portal-payroll-download .ui-icon{width:17px;height:17px}.portal-payroll-layout{display:grid;grid-template-columns:235px minmax(0,1fr);align-items:start;gap:13px}.portal-payroll-archive{overflow:hidden;border:1px solid #e2e7ec;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.portal-payroll-archive>header{padding:15px;border-bottom:1px solid #edf1f4}.portal-payroll-archive header small{color:#8c97a5;font-size:9.5px}.portal-payroll-archive header h2{margin:3px 0 0;color:#3b5066;font-size:13px}.portal-payroll-archive nav{max-height:520px;overflow:auto}.portal-payroll-archive nav a{padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #edf1f4;color:#5d6e81}.portal-payroll-archive nav a:hover,.portal-payroll-archive nav a.active{background:#f0f7fb}.portal-payroll-archive nav a.active{box-shadow:inset -3px 0 #2b739f}.portal-payroll-archive nav b,.portal-payroll-archive nav small,.portal-payroll-archive nav strong{display:block}.portal-payroll-archive nav b{color:#3a5066;font-size:10.5px}.portal-payroll-archive nav small{margin-top:3px;color:#929daa;font-size:8.5px}.portal-payroll-archive nav strong{color:#275b7d;font-size:9.5px;text-align:left}.portal-payroll-archive>p{margin:0;padding:12px;color:#788a9b;background:#f7fafc;font-size:9px;line-height:1.9}.portal-payroll-bottom{margin-top:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dfe7ed;border-radius:11px;color:#718294;background:#f8fafb;font-size:9.5px}.portal-payroll-bottom a{min-height:35px;font-size:10px}
@media(max-width:1180px){.payroll-period-layout{grid-template-columns:1fr}.payroll-period-side{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-period-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.payroll-period-summary .amount strong{font-size:15px}}
@media(max-width:980px){.payroll-page-head{align-items:flex-start}.payroll-upload-layout{grid-template-columns:1fr}.payroll-import-guide{display:none}.payroll-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-period-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-period-summary .amount{grid-column:span 2}.payroll-filter-row{grid-template-columns:1fr 1fr}.payroll-search-box{grid-column:1/-1}.payroll-visibility-modes{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-visibility-modes legend{grid-column:1/-1}.payroll-slip-identity{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-payroll-layout{grid-template-columns:1fr}.portal-payroll-archive nav{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.portal-payroll-archive nav a:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:760px){.payroll-page-head{padding:17px;flex-direction:column}.payroll-head-actions{width:100%;justify-content:flex-start}.payroll-period-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-period-summary .amount{grid-column:1/-1}.payroll-period-side{grid-template-columns:1fr}.payroll-upload-grid{grid-template-columns:1fr}.payroll-upload-grid .full-field{grid-column:auto}.payroll-visibility-modes{grid-template-columns:1fr}.payroll-filter-row{grid-template-columns:1fr}.payroll-search-box{grid-column:auto}.payroll-access-save,.payroll-global-actions,.portal-payroll-heading,.portal-payroll-bottom{align-items:stretch;flex-direction:column}.payroll-global-actions>div{flex-wrap:wrap}.payroll-slip-financial-grid{grid-template-columns:1fr}.payroll-slip-foot{flex-direction:column}.portal-payroll-download{width:100%}}
@media(max-width:520px){.payroll-overview-grid,.global-access-overview{grid-template-columns:1fr 1fr}.payroll-period-summary{grid-template-columns:1fr 1fr}.payroll-period-summary .amount{grid-column:1/-1}.payroll-head-actions>*{width:100%}.payroll-head-actions form button{width:100%}.payroll-upload-grid{padding:14px}.payroll-slip-head{align-items:flex-start;flex-direction:column}.payroll-slip-code{text-align:right}.payroll-slip-identity{grid-template-columns:1fr 1fr}.payroll-slip-items{grid-template-columns:1fr}.payroll-slip-items>div{border-left:0!important}.payroll-slip-items>div:nth-last-child(2){border-bottom:1px solid #edf1f4}.portal-payroll-archive nav{grid-template-columns:1fr}.portal-payroll-archive nav a{border-bottom:1px solid #edf1f4!important}.portal-payroll-archive nav a:last-child{border-bottom:0!important}.payroll-global-filter{align-items:stretch;flex-direction:column}.payroll-global-filter .payroll-search-box{width:100%}}

/* v7.1.2 — Separate personnel payslip archive and detail view. */
.portal-payslip-list-card{overflow:hidden;border:1px solid #dfe7ee;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(31,57,80,.055)}
.portal-payslip-list-head{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e8edf2;background:linear-gradient(135deg,#fff,#f4f8fb)}
.portal-payslip-list-head small{display:block;color:#2d769e;font-size:10.5px;font-weight:900}.portal-payslip-list-head h2{margin:4px 0 0;color:#30465b;font-size:16px}.portal-payslip-list-head p{max-width:430px;margin:0;color:#7d8b9a;font-size:10.5px;line-height:1.9}
.portal-payslip-table-wrap{overflow-x:auto}.portal-payslip-table{min-width:900px;display:grid;grid-template-columns:54px minmax(155px,1.15fr) minmax(140px,1fr) minmax(140px,1fr) minmax(155px,1.05fr) 126px;align-items:center;gap:8px;text-align:center}
.portal-payslip-table-head{padding:10px 15px;color:#7c8998;background:#f2f5f8;font-size:10.5px;font-weight:900}.portal-payslip-row{min-height:76px;padding:10px 15px;border-top:1px solid #edf1f4;color:#566779}.portal-payslip-list .portal-payslip-row:first-child{border-top:0}.portal-payslip-row:hover{background:#fbfdff}
.portal-payslip-index{width:30px;height:30px;margin:auto;display:grid;place-items:center;border-radius:9px;color:#567189;background:#eef3f7;font-size:10.5px;font-weight:900}.portal-payslip-period b,.portal-payslip-period small{display:block}.portal-payslip-period b{color:#304960;font-size:12px}.portal-payslip-period small{margin-top:4px;color:#98a2ae;font-size:9px}.portal-payslip-row>strong{color:#455c72;font-size:10.5px;font-weight:900}.portal-payslip-row>strong small{color:#8c98a5;font-size:8.5px}.portal-payslip-row>.portal-payslip-net{color:#176b61;font-size:11.5px}
.portal-payslip-action a{min-height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #cfe0eb;border-radius:9px;color:#286d94;background:#f2f8fc;font-size:10.5px;font-weight:900;text-decoration:none;transition:.17s ease}.portal-payslip-action a:hover{color:#fff;border-color:#2d7399;background:#2d7399;transform:translateY(-1px)}.portal-payslip-action .ui-icon{width:15px;height:15px}
.portal-payslip-detail-heading{align-items:center}.portal-payslip-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-payslip-back{min-height:40px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7e0e7;border-radius:10px;color:#5f7082;background:#fff;font-size:11px;font-weight:900;text-decoration:none}.portal-payslip-back:hover{color:#315b77;border-color:#c4d3de;background:#fbfdff}.portal-payslip-view{max-width:920px;margin:0 auto}.portal-payslip-view .payroll-slip-card{direction:rtl}

@media(max-width:900px){
    .portal-payslip-list-head{align-items:flex-start;flex-direction:column}.portal-payslip-table-wrap{overflow:visible}.portal-payslip-table-head{display:none}.portal-payslip-list{padding:10px;display:grid;gap:9px}.portal-payslip-table{min-width:0}.portal-payslip-row{padding:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #e3e9ef!important;border-radius:13px;background:#fff}.portal-payslip-row>*{min-width:0;padding-top:17px;position:relative}.portal-payslip-row>*:before{content:attr(data-label);position:absolute;right:0;top:0;color:#97a2af;font-size:8.5px;font-weight:900}.portal-payslip-index{width:auto;height:auto;margin:0;color:#506b82;background:transparent;place-items:start}.portal-payslip-period{text-align:right}.portal-payslip-row>strong{text-align:right}.portal-payslip-action{text-align:right}.portal-payslip-action a{width:100%}
}
@media(max-width:700px){.portal-payslip-detail-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.portal-payslip-detail-actions a{width:100%}}
@media(max-width:500px){.portal-payslip-row{grid-template-columns:1fr}.portal-payslip-detail-actions{grid-template-columns:1fr}.portal-payslip-list-head p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.payroll-overview-card,.payroll-file-drop{transition:none}.payroll-overview-card:hover,.payroll-overview-card.active{transform:none}}


/* v7.1.7 — Centered tables for Requests admin pages */
.portal-membership-table th,
.portal-membership-table td,
.portal-requests-table th,
.portal-requests-table td{
    text-align:center!important;
}
.portal-membership-table .person-cell,
.portal-membership-table .membership-match-cell,
.portal-membership-table .portal-membership-actions,
.portal-requests-table .request-type-cell,
.portal-requests-table .person-cell,
.portal-requests-table .portal-request-actions{
    justify-content:center;
}
.portal-membership-table .person-cell>div,
.portal-membership-table .membership-match-cell>div,
.portal-membership-table .membership-contact-cell,
.portal-membership-table .membership-date-cell,
.portal-requests-table .request-type-cell>div,
.portal-requests-table .person-cell>div,
.portal-requests-table .request-date-cell,
.portal-requests-table .request-handler-cell{
    text-align:center;
}

/* v7.1.8 — Registration approvals use the requested eight-column layout. */
.portal-membership-table{min-width:1280px}
.portal-membership-table .membership-person-cell{min-width:170px}
.portal-membership-table .membership-username-cell,
.portal-membership-table .membership-national-code-cell,
.portal-membership-table .membership-mobile-cell{
    display:inline-block;
    direction:ltr;
    unicode-bidi:plaintext;
    text-align:center!important;
    white-space:nowrap;
}
.portal-membership-table .membership-username-cell{font-weight:800;color:#53657c}
.portal-membership-table .membership-national-code-cell{min-width:112px}
.portal-membership-table .membership-mobile-cell{font-size:13px;color:#53657c}


/* v7.1.9 — Nine-column registration table and secure read-only admin portal preview. */
.portal-membership-table{min-width:1340px}
.portal-membership-table .membership-row-index-plain{
    display:inline;
    padding:0;
    border:0;
    border-radius:0;
    color:#567189;
    background:transparent;
    box-shadow:none;
    font-size:12px;
    font-weight:900;
}
.portal-membership-table .membership-national-code-cell{
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#53657c;
    font-weight:800;
}
.v719-preview-banner{
    margin:14px 18px 0;
    padding:12px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:1px solid #d7c9ff;
    border-radius:13px;
    color:#4f3b82;
    background:#f7f3ff;
}
.v719-preview-banner>div{min-width:0}.v719-preview-banner strong,.v719-preview-banner span{display:block}
.v719-preview-banner strong{font-size:12px;font-weight:950}.v719-preview-banner span{margin-top:3px;color:#71648e;font-size:10.5px;line-height:1.8}
.v719-preview-banner a{min-height:34px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #cdbdf8;border-radius:9px;color:#5b428f;background:#fff;font-size:10.5px;font-weight:900}
.v719-readonly-chip{min-height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7c9ff;border-radius:10px;color:#5b428f;background:#f7f3ff;font-size:11px;font-weight:900}
@media(max-width:700px){.v719-preview-banner{align-items:stretch;flex-direction:column}.v719-preview-banner a{width:100%}}

/* v7.1.11 — site-wide Vazir enforcement and RTL-aligned preview identity card */

/* v7.1.12 — Modern, task-oriented New Personnel Approval dossier */
.v712-registration-review{display:grid;gap:14px;scroll-behavior:smooth}
.v712-registration-review .v33-membership-review-hero{min-height:190px!important;padding:24px 26px!important;border:1px solid #dfece8;border-radius:22px!important;background:linear-gradient(135deg,#f8fffc 0%,#f4fbff 58%,#fff 100%)!important;box-shadow:0 14px 34px rgba(32,62,80,.06)!important;overflow:hidden}
.v712-registration-review .v33-membership-review-hero:before{opacity:.35}
.v712-registration-review .hr-module-copy h2{margin-top:8px;font-size:24px;line-height:1.55;color:#25394e}
.v712-registration-review .hr-module-copy>p{max-width:760px;margin-top:7px;color:#6f7e90;font-size:13.5px;line-height:2}
.v712-registration-review .v33-review-hero-actions{margin-top:18px}
.v712-registration-review .v33-review-back{min-height:42px;padding:0 15px;border-radius:12px;background:#fff;border-color:#d9e7e3;box-shadow:0 5px 14px rgba(30,65,75,.05)}
.v712-registration-review .v33-review-identity{min-width:305px;max-width:360px;padding:17px 18px;align-items:flex-start;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(28,60,76,.08)}
.v712-registration-review .v33-review-avatar{width:62px;height:62px;flex-basis:62px;border-radius:17px}
.v712-identity-copy{width:100%;text-align:right;direction:rtl}
.v712-identity-copy>small{font-size:11.5px!important}
.v712-identity-copy>strong{margin-top:1px;font-size:16.5px!important}
.v712-identity-username{margin-top:2px;direction:ltr;unicode-bidi:plaintext;text-align:right;color:#6f7d8f!important;font-size:12px!important}
.v712-identity-meta{margin-top:9px;padding-top:9px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;border-top:1px solid #edf1f4}
.v712-identity-meta>span{min-width:0;padding:7px 8px;display:grid!important;gap:2px!important;border-radius:9px;background:#f7fafc;color:#425469!important;font-size:11px!important;line-height:1.6;direction:ltr;text-align:right;overflow-wrap:anywhere}
.v712-identity-meta b{display:block;color:#8a96a5;font-size:10px;font-weight:850;direction:rtl}

.v712-registration-review .v33-review-stats{margin-top:0;gap:12px}
.v712-registration-review .v33-review-stats>article{min-height:88px;padding:14px 15px;border-radius:16px;border-color:#e3ebe9;box-shadow:0 8px 22px rgba(34,58,73,.045);transition:transform .16s ease,box-shadow .16s ease}
.v712-registration-review .v33-review-stats>article:hover{transform:translateY(-1px);box-shadow:0 11px 26px rgba(34,58,73,.07)}
.v712-registration-review .v33-review-stats small{font-size:11.5px}
.v712-registration-review .v33-review-stats b{font-size:13.5px}

.v712-review-nav{padding:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid #e2eae8;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(34,58,73,.05)}
.v712-review-nav>a{min-height:66px;padding:10px 12px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:13px;color:inherit;background:#f9fbfc;text-decoration:none;transition:.17s ease}
.v712-review-nav>a:hover{border-color:#d8e8e4;background:#f3faf7;transform:translateY(-1px)}
.v712-nav-step{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;color:#087a69;background:#e5f7f1;font-size:13px;font-weight:950}
.v712-review-nav>a:nth-child(2) .v712-nav-step{color:#316ed3;background:#edf4ff}
.v712-review-nav>a:nth-child(3) .v712-nav-step{color:#7b4ec7;background:#f4efff}
.v712-review-nav>a>span:last-child{min-width:0;display:grid;gap:3px;text-align:right}
.v712-review-nav b{color:#314357;font-size:13px}
.v712-review-nav small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b97a5;font-size:10.8px}

.v712-review-section{scroll-margin-top:18px!important;margin-top:0!important;border:1px solid #e1e9e7!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 30px rgba(33,58,73,.055)!important;overflow:hidden}
.v712-registration-review .v33-review-workspace,.v712-registration-review .v33-decision-workspace{padding:0!important}
.v712-registration-review .v41-document-review-workspace{padding:0!important}
.v712-registration-review .v33-review-workspace-head{margin:0!important;padding:18px 20px;border-bottom:1px solid #edf1f3;background:linear-gradient(180deg,#fbfdfd,#fff)}
.v712-registration-review .v33-review-workspace-head h3{margin-top:5px!important;color:#293d52!important;font-size:16px!important;line-height:1.7}
.v712-registration-review .v33-review-workspace-head p{margin-top:4px!important;max-width:800px;color:#7f8c9b!important;font-size:11.8px!important;line-height:1.85}
.v712-section-label{display:inline-flex!important;align-items:center;gap:7px!important;color:#0b806e!important}
.v712-section-label i{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:8px;background:#e6f7f2;color:#087a69;font-style:normal;font-size:11px;font-weight:950}
.v712-registration-review #registration-documents .v712-section-label i{color:#316ed3;background:#edf4ff}
.v712-registration-review #registration-decision .v712-section-label i{color:#7b4ec7;background:#f4efff}
.v712-registration-review .hr-record-count{border:1px solid #e0e8ec;background:#f7fafb;color:#677789}

.v712-registration-review .v43-primary-match-card{margin:16px 18px 13px;padding:14px 15px;border-radius:15px;box-shadow:none}
.v712-registration-review .v43-primary-match-card p{font-size:11.8px;line-height:1.85}
.v712-registration-review .v43-comparison-overview{margin:0 18px 14px;gap:10px}
.v712-registration-review .v43-compare-person,.v712-registration-review .v43-compare-summary{border-radius:14px;box-shadow:0 5px 15px rgba(35,60,75,.035)}
.v712-registration-review .v43-comparison-sections{padding:0 18px 18px;gap:11px}
.v712-registration-review .v43-comparison-section{border-radius:15px;border-color:#e5ebf0;box-shadow:0 4px 14px rgba(36,58,72,.025)}
.v712-registration-review .v43-comparison-section>header{min-height:60px;padding:11px 14px;background:#fafcfd}
.v712-registration-review .v43-comparison-table th,.v712-registration-review .v43-comparison-table td{padding:12px 13px}
.v712-registration-review .v43-comparison-table tbody tr{transition:background .12s ease}
.v712-registration-review .v43-comparison-table tbody tr:hover{background:#f8fbfc}
.v712-registration-review .v43-comparison-table tr.state-different:hover{background:#fff7f8}
.v712-registration-review .v43-value{min-height:36px;padding:8px 10px;border-radius:9px}
.v712-registration-review .v43-compare-state{min-height:30px;padding:0 10px}

.v712-registration-review .v41-document-review-form{padding:16px 18px 18px}
.v712-registration-review .v41-admin-document-grid{padding:16px 18px 18px;gap:10px}
.v712-registration-review .v41-document-review-form .v41-admin-document-grid{padding:0 0 14px}
.v712-registration-review .v41-admin-document-card{padding:14px;border-radius:15px;box-shadow:0 4px 14px rgba(36,58,72,.025)}
.v712-registration-review .v41-admin-doc-head{padding-bottom:10px;border-bottom:1px solid #edf1f3}
.v712-registration-review .v41-save-document-review{min-height:44px;border-radius:11px}
.v712-registration-review #registration-documents>.empty-state{margin:16px 18px 18px}
.v712-registration-review .v711-readonly-note{margin:0 18px 18px}

.v712-registration-review .v33-decision-workspace>.hr-workspace-head{padding:18px 20px;margin:0!important;border-bottom:1px solid #edf1f3;background:linear-gradient(180deg,#fcfbff,#fff)}
.v712-registration-review .v33-decision-form-grid{padding:16px 18px 0;gap:10px}
.v712-registration-review .v33-decision-field-card{min-height:144px;border-radius:14px;background:#fcfdfd}
.v712-registration-review .v41-apply-submission-toggle{margin:12px 18px 0}
.v712-registration-review .v33-decision-actions-head{margin:17px 18px 10px;padding-top:15px}
.v712-registration-review .v33-decision-actions{padding:0 18px 18px;gap:10px}
.v712-registration-review .v33-decision-btn{min-height:82px;border-radius:14px;box-shadow:0 4px 14px rgba(36,58,72,.025)}
.v712-registration-review .v33-decision-btn:hover{box-shadow:0 10px 24px rgba(23,52,73,.09)}
.v712-registration-review .v711-readonly-decision{padding:18px!important}
.v712-registration-review .v33-completed-workspace{padding:18px 20px!important;grid-template-columns:56px minmax(0,1fr);border-radius:20px!important}

@media(max-width:1050px){
    .v712-registration-review .v33-membership-review-hero{align-items:flex-start}
    .v712-registration-review .v33-review-identity{min-width:280px}
    .v712-review-nav{grid-template-columns:1fr}
    .v712-review-nav>a{min-height:58px}
}
@media(max-width:780px){
    .v712-registration-review{gap:11px}
    .v712-registration-review .v33-membership-review-hero{padding:18px!important;border-radius:18px!important}
    .v712-registration-review .hr-module-copy h2{font-size:20px}
    .v712-registration-review .v33-review-identity{width:100%;max-width:none;min-width:0}
    .v712-registration-review .v33-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .v712-registration-review .v33-review-workspace-head,.v712-registration-review .v33-decision-workspace>.hr-workspace-head{padding:15px}
    .v712-registration-review .v43-primary-match-card,.v712-registration-review .v43-comparison-overview,.v712-registration-review .v43-no-comparison-record{margin-left:14px;margin-right:14px}
    .v712-registration-review .v43-comparison-sections,.v712-registration-review .v41-admin-document-grid,.v712-registration-review .v41-document-review-form,.v712-registration-review .v33-decision-actions{padding-left:14px;padding-right:14px}
    .v712-registration-review .v33-decision-form-grid{padding-left:14px;padding-right:14px}
}
@media(max-width:520px){
    .v712-registration-review .v33-review-stats{grid-template-columns:1fr}
    .v712-identity-meta{grid-template-columns:1fr}
    .v712-review-nav{padding:6px;border-radius:14px}
    .v712-review-section{border-radius:16px!important}
}


/* v7.1.14 — polished dossier with comparison moved to its own page */
.v714-comparison-launcher{overflow:hidden}
.v714-comparison-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px;padding:16px 18px;border:1px solid #e4e9ed;border-radius:16px;background:linear-gradient(135deg,#fbfcfd,#f7faf9)}
.v714-comparison-summary.is-match{border-color:#d7ece5;background:linear-gradient(135deg,#fbfefd,#f3faf7)}
.v714-comparison-summary.is-different{border-color:#f0dddd;background:linear-gradient(135deg,#fffdfd,#fff7f7)}
.v714-comparison-summary-copy{min-width:0;display:flex;align-items:center;gap:13px}
.v714-comparison-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#eaf5f2;color:#177865}
.v714-comparison-icon svg{width:21px;height:21px}
.v714-comparison-summary-copy>div{min-width:0;display:grid;gap:3px}
.v714-comparison-summary-copy small{color:#8794a1;font-size:10.5px;font-weight:800}
.v714-comparison-summary-copy strong{color:#33495d;font-size:14px;line-height:1.7}
.v714-comparison-summary-copy p{margin:0;color:#7b8997;font-size:10.8px;line-height:1.8}
.v714-open-comparison{flex:0 0 auto;min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border-radius:11px;background:#177865;color:#fff!important;font-size:11px;font-weight:900;text-decoration:none;box-shadow:0 7px 18px rgba(23,120,101,.16);transition:.16s ease}
.v714-open-comparison:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(23,120,101,.22)}
.v714-open-comparison svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v714-comparison-page{display:grid;gap:16px;max-width:1480px;margin:0 auto}
.v714-comparison-page .v43-comparison-workspace{margin:0}
.v714-comparison-page .v43-comparison-table-wrap{max-height:none}
@media(max-width:760px){
  .v714-comparison-summary{align-items:stretch;flex-direction:column;margin:12px}
  .v714-open-comparison{justify-content:center;width:100%}
}


/* v7.1.15 — simplified dossier header, inline comparison modal, one-row decision actions */
.v715-comparison-launcher{overflow:hidden}
.v715-open-comparison-card{
    width:calc(100% - 36px);margin:18px;padding:18px 20px;display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:15px;
    border:1px solid #dbe8e5;border-radius:17px;background:linear-gradient(135deg,#fbfefd,#f5faf8);
    color:inherit;text-align:right;cursor:pointer;box-shadow:0 8px 22px rgba(38,64,78,.06);
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.v715-open-comparison-card:hover{transform:translateY(-2px);border-color:#bfded6;box-shadow:0 12px 28px rgba(25,104,89,.12)}
.v715-open-comparison-card.is-different{border-color:#efd9dc;background:linear-gradient(135deg,#fffdfd,#fff8f8)}
.v715-open-comparison-card.is-neutral{border-color:#e1e7ec;background:linear-gradient(135deg,#fff,#f8fafc)}
.v715-open-comparison-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#e7f5f1;color:#177865}
.v715-open-comparison-icon svg{width:25px;height:25px}
.v715-open-comparison-copy{min-width:0;display:grid;gap:3px}
.v715-open-comparison-copy small{color:#81909e;font-size:11px;font-weight:850}
.v715-open-comparison-copy strong{color:#2f4558;font-size:16px;font-weight:950}
.v715-open-comparison-copy>span{color:#7b8997;font-size:11.5px;line-height:1.8}
.v715-open-comparison-action{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border-radius:11px;background:#177865;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}
.v715-comparison-modal[hidden]{display:none!important}
.v715-comparison-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:28px}
.v715-comparison-modal-backdrop{position:absolute;inset:0;background:rgba(23,35,48,.48);backdrop-filter:blur(5px)}
.v715-comparison-dialog{position:relative;width:min(1280px,96vw);max-height:90vh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #dfe7eb;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(16,35,47,.28)}
.v715-comparison-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e9eef1;background:#fbfcfd}
.v715-comparison-dialog-head small{display:block;color:#8a97a5;font-size:11px;font-weight:800}
.v715-comparison-dialog-head h3{margin:3px 0 0;color:#30445a;font-size:17px}
.v715-comparison-close{width:38px;height:38px;display:grid;place-items:center;border:1px solid #e0e7eb;border-radius:11px;background:#fff;color:#526478;font-size:25px;line-height:1;cursor:pointer}
.v715-comparison-close:hover{background:#f5f8fa;color:#26384b}
.v715-comparison-dialog-body{min-height:0;overflow:auto;padding:14px;background:#f7f9fb}
.v715-modal-table-stack{display:grid;gap:12px}
.v715-modal-table-section{overflow:hidden;border:1px solid #e1e7eb;border-radius:14px;background:#fff}
.v715-modal-table-section>header{padding:11px 13px;border-bottom:1px solid #edf1f4;background:#fbfcfd}
.v715-modal-table-section>header b,.v715-modal-table-section>header small{display:block}
.v715-modal-table-section>header b{color:#35495e;font-size:13px}
.v715-modal-table-section>header small{margin-top:2px;color:#929eaa;font-size:10.5px}
.v715-modal-table-wrap{overflow:auto}
.v715-comparison-table{min-width:760px}
.v715-comparison-table th,.v715-comparison-table td{text-align:center}
.v715-comparison-table tbody th{text-align:right}
html.v715-modal-open,html.v715-modal-open body{overflow:hidden}
.v715-decision-actions{display:flex!important;align-items:stretch;gap:10px;flex-wrap:nowrap}
.v715-decision-actions>.v33-decision-btn{flex:1 1 0;min-width:0}
@media(max-width:980px){
    .v715-decision-actions{flex-wrap:wrap}
    .v715-decision-actions>.v33-decision-btn{flex:1 1 calc(50% - 5px)}
}
@media(max-width:760px){
    .v715-open-comparison-card{width:calc(100% - 24px);margin:12px;padding:15px;grid-template-columns:46px minmax(0,1fr)}
    .v715-open-comparison-icon{width:46px;height:46px}
    .v715-open-comparison-action{grid-column:1/-1;justify-content:center}
    .v715-comparison-modal{padding:10px}
    .v715-comparison-dialog{width:100%;max-height:94vh;border-radius:15px}
    .v715-comparison-dialog-head{padding:13px}
    .v715-comparison-dialog-body{padding:10px}
    .v715-decision-actions{display:grid!important;grid-template-columns:1fr}
    .v715-decision-actions>.v33-decision-btn{min-width:0}
}


/* v7.1.16 — stable dossier hover states and softer comparison action */
.v712-registration-review .v33-review-back{
    transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.v712-registration-review .v33-review-back:hover{
    transform:none!important;
}
.v712-registration-review .v33-review-stats>article{
    transition:box-shadow .16s ease,border-color .16s ease,background-color .16s ease;
}
.v712-registration-review .v33-review-stats>article:hover{
    transform:none!important;
}
.v712-registration-review .v715-open-comparison-action{
    min-width:92px;
    justify-content:center;
    border:1px solid #acd9cd;
    background:#f2fbf8;
    color:#177865;
    box-shadow:none;
}
.v712-registration-review .v715-open-comparison-card:hover .v715-open-comparison-action{
    border-color:#91cbbb;
    background:#eaf8f4;
    color:#126b5b;
}


/* v7.1.17+ — Unified operation buttons across primary HR list tables. */
.hr-table-action{
    min-width:72px!important;
    min-height:34px!important;
    padding:0 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:12.5px!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    transform:none!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease!important;
}
.hr-table-action:hover,.hr-table-action:focus-visible{transform:none!important;text-decoration:none!important}
.hr-table-action-view{color:#fff!important;background:#3977ea!important;border-color:#3977ea!important}
.hr-table-action-view:hover,.hr-table-action-view:focus-visible{color:#fff!important;background:#2f68d3!important;border-color:#2f68d3!important;box-shadow:0 4px 11px rgba(57,119,234,.18)!important}
.hr-table-action-edit{color:#765400!important;background:#ffd965!important;border-color:#edc447!important}
.hr-table-action-edit:hover,.hr-table-action-edit:focus-visible{color:#684900!important;background:#f5ca4e!important;border-color:#e0b53a!important;box-shadow:0 4px 11px rgba(208,160,24,.16)!important}
.hr-table-action-danger{color:#fff!important;background:#df5d68!important;border-color:#df5d68!important}
.hr-table-action-danger:hover,.hr-table-action-danger:focus-visible{color:#fff!important;background:#c94e59!important;border-color:#c94e59!important;box-shadow:0 4px 11px rgba(201,78,89,.16)!important}
.hr-table-action-preview{color:#536273!important;background:#eef1f4!important;border-color:#d8dee5!important}
.hr-table-action-preview:hover,.hr-table-action-preview:focus-visible{color:#445264!important;background:#e2e6eb!important;border-color:#cbd2da!important;box-shadow:0 4px 11px rgba(83,98,115,.11)!important}
.contract-row-actions,.letter-actions,.portal-membership-actions,.portal-request-actions,.people-table .table-actions{align-items:center!important}


/* v7.1.19 — Requested table identifiers render as plain text, not chips. */
.people-table .people-employee-code-text{
    color:#304158;
    font-size:12.5px;
    font-weight:800;
    white-space:nowrap;
}


/* v7.1.20 — Shared management-table standard across People, Contracts, Correspondence and Requests. */
.hr-admin-table-standard{
    --hr-admin-table-font-size:12.5px;
    --hr-admin-table-action-width:76px;
    --hr-admin-table-action-height:36px;
}

/* One centered typography scale for headers and values across all five management tables. */
.hr-admin-table-standard th,
.hr-admin-table-standard td{
    text-align:center!important;
    vertical-align:middle!important;
    font-size:var(--hr-admin-table-font-size)!important;
}
.hr-admin-table-standard th{
    height:46px!important;
    padding:10px 12px!important;
    font-weight:900!important;
}
.hr-admin-table-standard td{
    height:72px;
    padding:10px 12px!important;
}
.hr-admin-table-standard tbody td *,
.hr-admin-grid-table .contract-archive-row *,
.hr-admin-grid-table .no-contract-row *{
    font-size:var(--hr-admin-table-font-size)!important;
}
.hr-admin-table-standard .person-cell,
.hr-admin-table-standard .request-type-cell,
.hr-admin-table-standard .membership-match-cell,
.hr-admin-table-standard .table-actions,
.hr-admin-table-standard .letter-actions,
.hr-admin-table-standard .portal-membership-actions,
.hr-admin-table-standard .portal-request-actions{
    justify-content:center!important;
    text-align:center!important;
}
.hr-admin-table-standard .person-cell>div,
.hr-admin-table-standard .request-type-cell>div,
.hr-admin-table-standard .membership-match-cell>div,
.hr-admin-table-standard .membership-contact-cell,
.hr-admin-table-standard .membership-date-cell,
.hr-admin-table-standard .request-date-cell,
.hr-admin-table-standard .request-handler-cell,
.hr-admin-table-standard .letter-number-cell,
.hr-admin-table-standard .letter-subject-cell,
.hr-admin-table-standard .letter-recipient-cell,
.hr-admin-table-standard .letter-register-cell{
    text-align:center!important;
    justify-items:center!important;
}

/* Contracts use a CSS grid rather than a semantic <table>; keep the same visual metrics. */
.hr-admin-grid-table .contract-archive-head,
.hr-admin-grid-table .no-contract-head{
    min-height:46px!important;
    font-size:var(--hr-admin-table-font-size)!important;
}
.hr-admin-grid-table .contract-archive-head>span,
.hr-admin-grid-table .no-contract-head>span{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center!important;
    font-size:var(--hr-admin-table-font-size)!important;
}
.hr-admin-grid-table .contract-archive-row,
.hr-admin-grid-table .no-contract-row{
    min-height:72px!important;
}
.hr-admin-grid-table .contract-archive-row>*,
.hr-admin-grid-table .no-contract-row>*{
    text-align:center!important;
}
.hr-admin-grid-table .contract-row-number,
.hr-admin-grid-table .contract-row-employee,
.hr-admin-grid-table .contract-row-data,
.hr-admin-grid-table .contract-row-status,
.hr-admin-grid-table .contract-row-actions,
.hr-admin-grid-table .no-contract-person,
.hr-admin-grid-table .no-contract-data{
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
}
.hr-admin-grid-table .contract-person-cell,
.hr-admin-grid-table .contract-person-cell>div,
.hr-admin-grid-table .no-contract-person>div{
    text-align:center!important;
}

/* v7.1.22 — More compact operation buttons and balanced action columns. */
/* Identical operation-button geometry and soft outline palettes. */
.hr-admin-table-standard .hr-table-action,
.hr-admin-grid-table .hr-table-action{
    width:var(--hr-admin-table-action-width)!important;
    min-width:var(--hr-admin-table-action-width)!important;
    max-width:var(--hr-admin-table-action-width)!important;
    height:var(--hr-admin-table-action-height)!important;
    min-height:var(--hr-admin-table-action-height)!important;
    padding:0 6px!important;
    border-width:1px!important;
    border-style:solid!important;
    border-radius:9px!important;
    background:#fff!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    transform:none!important;
}
.hr-admin-table-standard .hr-table-action-view,
.hr-admin-grid-table .hr-table-action-view{
    color:#326dcc!important;
    border-color:#b9cdf0!important;
    background:#f8faff!important;
}
.hr-admin-table-standard .hr-table-action-view:hover,
.hr-admin-table-standard .hr-table-action-view:focus-visible,
.hr-admin-grid-table .hr-table-action-view:hover,
.hr-admin-grid-table .hr-table-action-view:focus-visible{
    color:#285eb6!important;
    border-color:#91afe5!important;
    background:#eef4ff!important;
}
.hr-admin-table-standard .hr-table-action-edit,
.hr-admin-grid-table .hr-table-action-edit{
    color:#896500!important;
    border-color:#e5d18f!important;
    background:#fffdf5!important;
}
.hr-admin-table-standard .hr-table-action-edit:hover,
.hr-admin-table-standard .hr-table-action-edit:focus-visible,
.hr-admin-grid-table .hr-table-action-edit:hover,
.hr-admin-grid-table .hr-table-action-edit:focus-visible{
    color:#745500!important;
    border-color:#d7ba61!important;
    background:#fff8e7!important;
}
.hr-admin-table-standard .hr-table-action-danger,
.hr-admin-grid-table .hr-table-action-danger{
    color:#b54d57!important;
    border-color:#ecc0c5!important;
    background:#fff9f9!important;
}
.hr-admin-table-standard .hr-table-action-danger:hover,
.hr-admin-table-standard .hr-table-action-danger:focus-visible,
.hr-admin-grid-table .hr-table-action-danger:hover,
.hr-admin-grid-table .hr-table-action-danger:focus-visible{
    color:#a13f49!important;
    border-color:#df9fa7!important;
    background:#fff1f2!important;
}
.hr-admin-table-standard .hr-table-action-preview,
.hr-admin-grid-table .hr-table-action-preview{
    color:#5b6878!important;
    border-color:#d3dae2!important;
    background:#fbfcfd!important;
}
.hr-admin-table-standard .hr-table-action-preview:hover,
.hr-admin-table-standard .hr-table-action-preview:focus-visible,
.hr-admin-grid-table .hr-table-action-preview:hover,
.hr-admin-grid-table .hr-table-action-preview:focus-visible{
    color:#4b5868!important;
    border-color:#bcc6d0!important;
    background:#f3f6f8!important;
}
.hr-admin-table-standard .hr-table-action:hover,
.hr-admin-table-standard .hr-table-action:focus-visible,
.hr-admin-grid-table .hr-table-action:hover,
.hr-admin-grid-table .hr-table-action:focus-visible{
    transform:none!important;
    box-shadow:none!important;
}
.hr-admin-table-standard .table-actions,
.hr-admin-table-standard .letter-actions,
.hr-admin-table-standard .portal-membership-actions,
.hr-admin-table-standard .portal-request-actions,
.hr-admin-grid-table .contract-row-actions{
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
}


/* v7.1.22 — Keep action columns compact and prevent Correspondence actions from wrapping. */
.people-table{
    min-width:1148px;
    table-layout:fixed;
}
.people-table th:nth-child(1){width:64px}
.people-table th:nth-child(2){width:210px}
.people-table th:nth-child(3){width:120px}
.people-table th:nth-child(4){width:120px}
.people-table th:nth-child(5){width:150px}
.people-table th:nth-child(6){width:135px}
.people-table th:nth-child(7){width:110px}
.people-table th:nth-child(8){width:239px}
.people-table .table-actions{
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
}
.correspondence-table th:nth-child(9){width:168px}
.correspondence-table .letter-actions{
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
}

/* v7.1.27 — reusable site appearance themes, superuser theme picker, modern themed 404 */
.site-theme-corporate_blue{
    --site-accent:#2f6fdb;--site-accent-2:#16aa91;--site-accent-soft:#edf4ff;
    --site-theme-bg:radial-gradient(circle at 14% 18%,rgba(24,190,164,.38),transparent 29rem),radial-gradient(circle at 86% 78%,rgba(63,112,229,.42),transparent 31rem),linear-gradient(145deg,#07192f 0%,#0d3155 48%,#e8f1f7 48%,#f4f7fa 100%);
}
.site-theme-midnight_glass{
    --site-accent:#6d8cff;--site-accent-2:#35d3c4;--site-accent-soft:#eef1ff;
    --site-theme-bg:radial-gradient(circle at 18% 18%,rgba(67,214,203,.24),transparent 26rem),radial-gradient(circle at 83% 73%,rgba(110,112,255,.30),transparent 29rem),linear-gradient(140deg,#050b18 0%,#0c1730 48%,#17223b 72%,#0b1121 100%);
}
.site-theme-emerald_wave{
    --site-accent:#0f9f79;--site-accent-2:#2d78c9;--site-accent-soft:#e9f8f3;
    --site-theme-bg:radial-gradient(circle at 12% 74%,rgba(30,203,147,.34),transparent 28rem),radial-gradient(circle at 88% 22%,rgba(37,122,185,.34),transparent 28rem),linear-gradient(135deg,#062923 0%,#0a4b42 48%,#dfeee9 48%,#f2f7f5 100%);
}
.site-theme-violet_nova{
    --site-accent:#7856d8;--site-accent-2:#337ed1;--site-accent-soft:#f2edff;
    --site-theme-bg:radial-gradient(circle at 16% 20%,rgba(175,89,255,.32),transparent 28rem),radial-gradient(circle at 86% 76%,rgba(55,136,225,.34),transparent 30rem),linear-gradient(145deg,#160e30 0%,#2e1d59 47%,#ede8f7 47%,#f6f3fa 100%);
}
.site-theme-sunrise_warm{
    --site-accent:#d47731;--site-accent-2:#a9445f;--site-accent-soft:#fff3e9;
    --site-theme-bg:radial-gradient(circle at 14% 18%,rgba(251,174,81,.34),transparent 26rem),radial-gradient(circle at 84% 80%,rgba(188,76,91,.31),transparent 29rem),linear-gradient(142deg,#321713 0%,#6b3028 46%,#f4e9de 46%,#fbf6ef 100%);
}
.site-theme-ocean_depth{
    --site-accent:#087fa0;--site-accent-2:#18b5a4;--site-accent-soft:#e9f7fb;
    --site-theme-bg:radial-gradient(circle at 10% 26%,rgba(20,189,181,.36),transparent 27rem),radial-gradient(circle at 86% 74%,rgba(36,117,211,.36),transparent 31rem),linear-gradient(138deg,#031c31 0%,#064663 49%,#d9eef2 49%,#f3f9fa 100%);
}
.site-theme-graphite{
    --site-accent:#59697c;--site-accent-2:#8698aa;--site-accent-soft:#f0f3f6;
    --site-theme-bg:radial-gradient(circle at 14% 20%,rgba(205,216,228,.17),transparent 25rem),radial-gradient(circle at 84% 78%,rgba(112,139,164,.22),transparent 30rem),linear-gradient(140deg,#14191f 0%,#2c343e 47%,#e7eaed 47%,#f7f8f9 100%);
}
.site-theme-teal_mist{
    --site-accent:#178f93;--site-accent-2:#5a8fc4;--site-accent-soft:#eaf8f8;
    --site-theme-bg:radial-gradient(circle at 18% 18%,rgba(51,189,181,.30),transparent 26rem),radial-gradient(circle at 80% 76%,rgba(101,151,206,.26),transparent 28rem),linear-gradient(145deg,#16484c 0%,#35777a 42%,#d9eeee 42%,#f3f8f8 100%);
}
.site-theme-indigo_cloud{
    --site-accent:#4e69ca;--site-accent-2:#4d9fc7;--site-accent-soft:#eef1ff;
    --site-theme-bg:radial-gradient(circle at 12% 22%,rgba(93,126,230,.31),transparent 28rem),radial-gradient(circle at 86% 80%,rgba(78,171,202,.29),transparent 29rem),linear-gradient(144deg,#111b3b 0%,#263f78 47%,#e5e9f4 47%,#f6f7fb 100%);
}
.site-theme-aurora{
    --site-accent:#4f68d5;--site-accent-2:#13a889;--site-accent-soft:#eef1ff;
    --site-theme-bg:radial-gradient(circle at 13% 21%,rgba(24,200,151,.35),transparent 26rem),radial-gradient(circle at 52% 12%,rgba(74,118,230,.30),transparent 25rem),radial-gradient(circle at 85% 78%,rgba(155,79,207,.28),transparent 28rem),linear-gradient(145deg,#071d2b 0%,#163b54 47%,#e8e9f4 47%,#f6f7fa 100%);
}

.site-auth-themed{
    background:linear-gradient(rgb(3 10 22 / var(--site-theme-overlay)),rgb(3 10 22 / var(--site-theme-overlay))),var(--site-theme-bg)!important;
    background-attachment:fixed!important;
    background-size:cover!important;
}
.site-auth-themed:before{border-color:rgb(255 255 255 / 12%)!important;box-shadow:0 0 100px color-mix(in srgb,var(--site-accent) 18%,transparent)}
.site-auth-themed:after{border-color:color-mix(in srgb,var(--site-accent) 17%,transparent)!important}
.site-auth-themed .v21-auth-card{border-color:rgb(255 255 255 / 64%);background:rgb(255 255 255 / 96%);box-shadow:0 32px 90px rgb(5 16 31 / 28%);transition:transform .24s ease,box-shadow .24s ease}
.site-auth-themed .v21-auth-card:hover{transform:translateY(-4px) scale(1.004);box-shadow:0 38px 98px rgb(5 16 31 / 31%)}
@media (prefers-reduced-motion:reduce){.site-auth-themed .v21-auth-card{transition:none}.site-auth-themed .v21-auth-card:hover{transform:none}}
.site-auth-themed .v21-auth-logo{background:linear-gradient(135deg,var(--site-accent),var(--site-accent-2));box-shadow:0 12px 28px color-mix(in srgb,var(--site-accent) 25%,transparent)}
.site-auth-themed .v21-auth-eyebrow{color:var(--site-accent);background:color-mix(in srgb,var(--site-accent-soft) 80%,#fff)}
.site-auth-themed .v21-auth-eyebrow:before{background:var(--site-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--site-accent) 12%,transparent)}
.site-auth-themed .v21-input-wrap:focus-within{border-color:var(--site-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--site-accent) 11%,transparent)}
.site-auth-themed .v21-auth-submit{background:linear-gradient(135deg,var(--site-accent),var(--site-accent-2));box-shadow:0 13px 28px color-mix(in srgb,var(--site-accent) 24%,transparent)}
.site-auth-themed .v21-auth-submit:hover{box-shadow:0 16px 32px color-mix(in srgb,var(--site-accent) 30%,transparent)}
.site-auth-themed .v701-auth-recovery a,.site-auth-themed .v21-auth-switch a{color:var(--site-accent)}
.site-auth-themed .v21-auth-switch a{background:color-mix(in srgb,var(--site-accent-soft) 85%,#fff)}

.site-settings-page{display:grid;gap:14px}
.site-settings-hero{padding:19px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e0e7ee;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f8fbff 65%,#eef7f5 100%);box-shadow:0 8px 26px rgba(29,50,74,.045)}
.site-settings-hero h2{margin:5px 0 5px;color:#263b54;font-size:21px}.site-settings-hero p{margin:0;color:#7b899b;font-size:12.5px;line-height:1.9}
.site-settings-current{min-width:190px;padding:12px 14px;border:1px solid #dfe7ee;border-radius:13px;background:#fff;text-align:center}.site-settings-current small,.site-settings-current b,.site-settings-current span{display:block}.site-settings-current small{color:#9aa5b2;font-size:10.5px}.site-settings-current b{margin:3px 0;color:#2f4560;font-size:14px}.site-settings-current span{color:#929daa;font-size:10.5px}
.site-settings-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:14px;align-items:start}
.site-preview-panel{border:1px solid #e0e7ee;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(30,50,73,.04)}
.site-theme-panel{display:grid;gap:14px;min-width:0;padding:0;border:0;background:transparent;box-shadow:none}.site-preview-panel{padding:16px;position:sticky;top:14px}
.site-settings-numbered-section{min-width:0;padding:16px;border:1px solid #e0e7ee;border-top:3px solid color-mix(in srgb,var(--accent) 42%,#dfe7ee);border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(30,50,73,.04)}
.site-theme-settings-block{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}
.site-settings-section-head{margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:16px}.site-settings-section-head>div{display:flex;align-items:center;gap:10px}.site-settings-section-head>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft);font-size:11px;font-weight:950}.site-settings-section-head h3{margin:0;color:#2f435b;font-size:15px}.site-settings-section-head p{margin:3px 0 0;color:#8b96a5;font-size:11px}.site-settings-section-head>small{max-width:260px;color:#929eac;font-size:10.5px;line-height:1.8}.site-settings-section-head.compact{margin-bottom:11px}
.site-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.site-theme-card{min-width:0;min-height:112px;padding:9px;display:grid;grid-template-columns:78px minmax(0,1fr) 24px;align-items:center;gap:10px;border:1px solid #e1e8ef;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.site-theme-card:hover{border-color:color-mix(in srgb,var(--site-accent) 28%,#dfe7ee);box-shadow:0 8px 20px rgba(30,50,73,.06)}.site-theme-card.selected{border-color:color-mix(in srgb,var(--site-accent) 55%,#dfe7ee);background:color-mix(in srgb,var(--site-accent-soft) 45%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-accent) 8%,transparent)}
.site-theme-card>input{position:absolute;opacity:0;pointer-events:none}.site-theme-swatch{width:78px;height:84px;display:block;overflow:hidden;border:1px solid rgb(255 255 255 / 45%);border-radius:11px;background:var(--site-theme-bg);background-size:cover;position:relative;box-shadow:inset 0 0 0 1px rgb(0 0 0 / 4%)}.site-theme-swatch:before{content:'';position:absolute;inset:0;background:linear-gradient(rgb(3 10 22 / 11%),rgb(3 10 22 / 11%))}.site-theme-swatch i{width:30px;height:42px;position:absolute;z-index:1;right:9px;bottom:9px;border-radius:7px;background:rgb(255 255 255 / 92%);box-shadow:0 7px 18px rgb(0 0 0 / 17%)}.site-theme-swatch b{width:14px;height:3px;position:absolute;z-index:2;right:17px;bottom:18px;border-radius:3px;background:var(--site-accent)}
.site-theme-card-copy{min-width:0}.site-theme-card-copy strong,.site-theme-card-copy small{display:block}.site-theme-card-copy strong{color:#30445c;font-size:12.75px}.site-theme-card-copy small{margin-top:5px;color:#8b96a4;font-size:10.5px;line-height:1.75}.site-theme-check{width:22px;height:22px;display:grid;place-items:center;border:1px solid #dfe6ed;border-radius:50%;color:transparent;background:#fff;font-size:11px;font-weight:950}.site-theme-card.selected .site-theme-check{border-color:var(--site-accent);color:#fff;background:var(--site-accent)}
.site-login-preview{height:340px;padding:24px;display:grid;place-items:center;overflow:hidden;border-radius:15px;background:linear-gradient(rgb(3 10 22 / var(--site-theme-overlay)),rgb(3 10 22 / var(--site-theme-overlay))),var(--site-theme-bg);background-size:cover;position:relative}.site-login-preview-glow{width:180px;height:180px;position:absolute;left:-60px;bottom:-80px;border:1px solid color-mix(in srgb,var(--site-accent) 27%,transparent);border-radius:50%}
.site-login-preview-card{width:min(268px,92%);padding:15px;border:1px solid rgb(255 255 255 / 62%);border-radius:15px;background:rgb(255 255 255 / 95%);box-shadow:0 18px 44px rgb(5 15 29 / 25%);position:relative;z-index:1}.site-login-preview-brand{display:flex;align-items:center;justify-content:center;gap:7px;text-align:right}.site-login-preview-brand img{width:32px;height:32px;padding:3px;border-radius:9px;background:#fff;object-fit:contain}.site-login-preview-brand b,.site-login-preview-brand small{display:block}.site-login-preview-brand b{color:#26394f;font-size:9.5px}.site-login-preview-brand small{margin-top:1px;color:#929dac;font-size:7px}.site-login-preview-pill{width:max-content;margin:10px auto 0;padding:3px 6px;display:block;border-radius:999px;color:var(--site-accent);background:var(--site-accent-soft);font-size:7px;font-weight:900}.site-login-preview-card h4{margin:5px 0 1px;text-align:center;color:#25374e;font-size:13px}.site-login-preview-card p{margin:0 0 8px;text-align:center;color:#929dab;font-size:7.5px}.site-login-preview-input{height:24px;margin-top:6px;border:1px solid #dfe6ed;border-radius:7px;background:#fff}.site-login-preview-input.short{margin-bottom:7px}.site-login-preview-button{height:28px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;border-radius:7px;color:#fff;background:linear-gradient(135deg,var(--site-accent),var(--site-accent-2));font-size:8px;font-weight:900}.site-login-preview-button b{font-size:12px}
.site-overlay-control{margin-top:12px;padding:13px;border:1px solid #e2e8ef;border-radius:13px;background:#fafbfd}.site-overlay-control-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.site-overlay-control-head b,.site-overlay-control-head small{display:block}.site-overlay-control-head b{color:#354a62;font-size:11.5px}.site-overlay-control-head small{margin-top:2px;color:#919caa;font-size:9.75px}.site-overlay-control-head strong{min-width:40px;text-align:center;color:var(--accent);font-size:12px}.site-overlay-range{width:100%;margin:12px 0 4px;accent-color:var(--accent);cursor:pointer}.site-overlay-scale{display:flex;justify-content:space-between;color:#9ca6b3;font-size:9.5px}
.site-settings-note{margin-top:10px;padding:10px;display:flex;align-items:flex-start;gap:8px;border:1px solid #e1e9ef;border-radius:12px;background:#f7fafc}.site-settings-note>span{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:#fff}.site-settings-note .ui-icon{width:15px;height:15px}.site-settings-note p{margin:0;color:#7f8d9e;font-size:10px;line-height:1.8}
.site-settings-savebar{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dfe7ee;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(31,50,72,.045)}.site-settings-savebar b,.site-settings-savebar span{display:block}.site-settings-savebar b{color:#30445c;font-size:13px}.site-settings-savebar span{margin-top:2px;color:#8b97a6;font-size:10.75px}.site-settings-actions{display:flex;align-items:center;gap:8px}.site-settings-reset,.site-settings-save{min-height:39px;padding:0 13px;border-radius:10px;font-family:inherit;font-size:11.5px;font-weight:900;cursor:pointer}.site-settings-reset{border:1px solid #dce4eb;color:#66768a;background:#fff}.site-settings-save{border:1px solid var(--accent);color:#fff;background:var(--accent)}

.v127-not-found-page{min-height:100vh;margin:0;padding:24px 16px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(rgb(3 10 22 / var(--site-theme-overlay)),rgb(3 10 22 / var(--site-theme-overlay))),var(--site-theme-bg);background-size:cover;position:relative}.v127-not-found-page:before,.v127-not-found-page:after{content:'';position:fixed;border-radius:50%;pointer-events:none}.v127-not-found-page:before{width:520px;height:520px;right:-260px;top:-270px;border:1px solid rgb(255 255 255 / 11%);box-shadow:0 0 120px color-mix(in srgb,var(--site-accent) 16%,transparent)}.v127-not-found-page:after{width:440px;height:440px;left:-230px;bottom:-250px;border:1px solid color-mix(in srgb,var(--site-accent) 18%,transparent)}
.v127-not-found-card{width:min(690px,100%);padding:25px 28px 22px;border:1px solid rgb(255 255 255 / 63%);border-radius:24px;background:rgb(255 255 255 / 96%);box-shadow:0 30px 90px rgb(4 14 29 / 28%);backdrop-filter:blur(16px);position:relative;z-index:1}.v127-not-found-brand{display:flex;align-items:center;justify-content:center;gap:9px;padding-bottom:18px;border-bottom:1px solid #edf1f4;text-align:right}.v127-not-found-brand>span{width:43px;height:43px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 7px 20px color-mix(in srgb,var(--site-accent) 14%,transparent)}.v127-not-found-brand img{width:100%;height:100%;padding:4px;object-fit:contain}.v127-not-found-brand strong,.v127-not-found-brand small{display:block}.v127-not-found-brand strong{color:#273a50;font-size:14px}.v127-not-found-brand small{margin-top:2px;color:#909baa;font-size:10.5px}
.v127-not-found-content{padding:30px 0 24px;text-align:center}.v127-not-found-visual{width:190px;height:102px;margin:0 auto 13px;display:grid;place-items:center;position:relative}.v127-not-found-visual:before{content:'';position:absolute;inset:5px 3px;border:1px solid color-mix(in srgb,var(--site-accent) 16%,#dbe4eb);border-radius:30px;background:linear-gradient(145deg,#fbfcfe,color-mix(in srgb,var(--site-accent-soft) 55%,#f2f5f8));transform:rotate(-2deg)}.v127-not-found-visual b{position:relative;z-index:2;color:var(--site-accent);font-size:60px;line-height:1;font-weight:950;letter-spacing:-3px;text-shadow:0 7px 22px color-mix(in srgb,var(--site-accent) 14%,transparent)}.v127-not-found-visual i,.v127-not-found-visual em{position:absolute;z-index:2;border-radius:50%}.v127-not-found-visual i{width:9px;height:9px;right:14px;top:11px;background:var(--site-accent-2);box-shadow:0 0 0 7px color-mix(in srgb,var(--site-accent-2) 10%,transparent)}.v127-not-found-visual em{width:6px;height:6px;left:17px;bottom:13px;background:var(--site-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--site-accent) 8%,transparent)}.v127-not-found-kicker{display:inline-flex;padding:5px 9px;border-radius:999px;color:var(--site-accent);background:var(--site-accent-soft);font-size:10.5px;font-weight:900}.v127-not-found-content h1{margin:11px 0 6px;color:#25384e;font-size:26px;line-height:1.45}.v127-not-found-content p{max-width:510px;margin:0 auto;color:#7d8b9d;font-size:12.5px;line-height:1.95}.v127-not-found-actions{display:flex;align-items:center;justify-content:center;gap:8px}.v127-not-found-primary,.v127-not-found-secondary{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-family:inherit;font-size:11.5px;font-weight:900;text-decoration:none;cursor:pointer}.v127-not-found-primary{border:1px solid var(--site-accent);color:#fff;background:linear-gradient(135deg,var(--site-accent),var(--site-accent-2));box-shadow:0 9px 22px color-mix(in srgb,var(--site-accent) 20%,transparent)}.v127-not-found-primary b{font-size:15px}.v127-not-found-secondary{border:1px solid #dce4eb;color:#64758a;background:#fff}.v127-not-found-foot{margin-top:20px;padding-top:14px;display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid #edf1f4;color:#96a1af}.v127-not-found-foot>span{width:6px;height:6px;border-radius:50%;background:var(--site-accent)}.v127-not-found-foot small{font-size:9.75px}

@media(max-width:1050px){.site-settings-layout{grid-template-columns:1fr}.site-preview-panel{position:static}.site-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.site-settings-hero,.site-settings-savebar{align-items:stretch;flex-direction:column}.site-settings-current{min-width:0}.site-theme-grid{grid-template-columns:1fr}.site-settings-section-head{align-items:flex-start;flex-direction:column}.site-settings-actions{display:grid;grid-template-columns:1fr 1fr}.site-login-preview{height:310px;padding:15px}.v127-not-found-card{padding:20px 16px;border-radius:20px}.v127-not-found-content h1{font-size:22px}.v127-not-found-actions{align-items:stretch;flex-direction:column}.v127-not-found-primary,.v127-not-found-secondary{width:100%}}

/* v7.1.29 — site-wide themed messages, confirmations and validation notices */
.site-dialog-glass{
    --dialog-surface:rgb(255 255 255 / 88%);--dialog-border:rgb(255 255 255 / 64%);--dialog-shadow:0 26px 70px rgb(7 24 44 / 22%);--dialog-blur:18px;--dialog-radius:22px;--dialog-backdrop:rgb(4 14 28 / 48%);
}
.site-dialog-accent{
    --dialog-surface:#fff;--dialog-border:color-mix(in srgb,var(--site-accent,#2870c7) 24%,#dfe7ee);--dialog-shadow:0 24px 58px rgb(28 48 72 / 16%);--dialog-blur:0px;--dialog-radius:18px;--dialog-backdrop:rgb(12 27 45 / 38%);
}
.site-dialog-floating{
    --dialog-surface:#fff;--dialog-border:transparent;--dialog-shadow:0 28px 72px rgb(31 49 70 / 17%);--dialog-blur:0px;--dialog-radius:28px;--dialog-backdrop:rgb(19 35 52 / 31%);
}
.site-dialog-dark{
    --dialog-surface:rgb(15 25 39 / 95%);--dialog-border:rgb(255 255 255 / 12%);--dialog-shadow:0 28px 74px rgb(0 0 0 / 38%);--dialog-blur:16px;--dialog-radius:22px;--dialog-backdrop:rgb(2 8 17 / 64%);
}
.site-ui-root{position:relative;z-index:5000;font-family:Vazir,Tahoma,Arial,sans-serif}
.site-ui-dialog-open{overflow:hidden!important}
.site-ui-dialog-backdrop{position:fixed;inset:0;z-index:5200;padding:18px;display:grid;place-items:center;background:var(--dialog-backdrop,rgb(4 14 28 / 48%));opacity:0;transition:opacity .17s ease;backdrop-filter:blur(3px)}
.site-ui-dialog-backdrop[hidden]{display:none!important}.site-ui-dialog-backdrop.show{opacity:1}
.site-ui-dialog{width:min(440px,100%);padding:23px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:15px;position:relative;border:1px solid var(--dialog-border,#e1e8ef);border-radius:var(--dialog-radius,20px);background:var(--dialog-surface,#fff);box-shadow:var(--dialog-shadow,0 24px 60px rgb(20 40 65 / 18%));backdrop-filter:blur(var(--dialog-blur,0));transform:translateY(10px) scale(.985);transition:transform .18s ease;color:#273c55}
.site-ui-dialog-backdrop.show .site-ui-dialog{transform:translateY(0) scale(1)}
.site-dialog-dark .site-ui-dialog{color:#edf4fb}.site-dialog-dark .site-ui-dialog-copy p{color:#aebdce}.site-dialog-dark .site-ui-dialog-copy small{color:#8899ab}.site-dialog-dark .site-ui-dialog-cancel{color:#d5deea;background:rgb(255 255 255 / 5%);border-color:rgb(255 255 255 / 14%)}.site-dialog-dark .site-ui-dialog-close{color:#96a5b6}
.site-dialog-accent .site-ui-dialog{overflow:hidden;border-top:5px solid var(--site-accent);box-shadow:0 18px 0 color-mix(in srgb,var(--site-accent-soft) 34%,transparent),var(--dialog-shadow)}.site-dialog-accent .site-ui-dialog-icon{border-radius:10px}.site-dialog-accent .site-ui-dialog-cancel{background:color-mix(in srgb,var(--site-accent-soft) 45%,#fff);border-color:color-mix(in srgb,var(--site-accent) 18%,#dce4eb)}
.site-dialog-floating .site-ui-dialog{border-color:transparent;box-shadow:0 10px 0 color-mix(in srgb,var(--site-accent-soft) 72%,#fff),0 30px 70px rgb(28 48 70 / 18%)}.site-dialog-floating .site-ui-dialog-icon{border-radius:50%;box-shadow:0 8px 18px color-mix(in srgb,var(--site-accent) 13%,transparent)}.site-dialog-floating .site-ui-dialog-actions button{border-radius:999px}.site-dialog-floating .site-ui-dialog-cancel{background:#f7f9fc}
.site-ui-dialog-close{width:32px;height:32px;padding:0;display:grid;place-items:center;position:absolute;left:14px;top:13px;border:0;border-radius:9px;background:transparent;color:#8b98a8;font:700 24px/1 Vazir,Tahoma,Arial,sans-serif;cursor:pointer;transition:background .15s ease,color .15s ease}.site-ui-dialog-close:hover{background:rgb(120 140 160 / 10%);color:#52677f}
.site-ui-dialog-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid color-mix(in srgb,#e4a326 30%,#e1e8ef);border-radius:16px;background:color-mix(in srgb,#f2b537 12%,transparent);color:#b87b00}.site-ui-dialog-icon span{font-size:22px;font-weight:950}
.site-ui-dialog-info .site-ui-dialog-icon{border-color:color-mix(in srgb,var(--site-accent,#2870c7) 30%,#e1e8ef);background:color-mix(in srgb,var(--site-accent,#2870c7) 10%,transparent);color:var(--site-accent,#2870c7)}
.site-ui-dialog-danger .site-ui-dialog-icon{border-color:#f0cfd2;background:#fff2f3;color:#c53d46}
.site-ui-dialog-copy{min-width:0;padding-left:24px}.site-ui-dialog-copy small,.site-ui-dialog-copy h3,.site-ui-dialog-copy p{display:block}.site-ui-dialog-copy small{margin-bottom:4px;color:#8e9aa8;font-size:10.5px;font-weight:850}.site-ui-dialog-copy h3{margin:0;color:inherit;font-size:17px;line-height:1.65}.site-ui-dialog-copy p{margin:7px 0 0;color:#6f7e90;font-size:12px;line-height:1.95;overflow-wrap:anywhere}
.site-ui-dialog-actions{grid-column:1/-1;margin-top:4px;display:flex;justify-content:flex-end;gap:8px}.site-ui-dialog-actions button{min-width:92px;height:39px;padding:0 14px;border-radius:10px;font:850 11.5px/1 Vazir,Tahoma,Arial,sans-serif;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;color .15s ease}.site-ui-dialog-cancel{border:1px solid #dce4eb;background:#fff;color:#647589}.site-ui-dialog-confirm{border:1px solid var(--site-accent,#2870c7);background:var(--site-accent,#2870c7);color:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--site-accent,#2870c7) 22%,transparent)}.site-ui-dialog-danger .site-ui-dialog-confirm{border-color:#c94951;background:#c94951;box-shadow:0 7px 18px rgb(201 73 81 / 20%)}
.site-ui-toast-stack{width:min(390px,calc(100vw - 28px));position:fixed;z-index:5300;top:18px;left:18px;display:grid;gap:8px;pointer-events:none}.site-ui-toast{min-height:68px;padding:11px 11px 11px 10px;display:grid;grid-template-columns:35px minmax(0,1fr) 26px;align-items:center;gap:9px;border:1px solid var(--dialog-border,#dfe7ee);border-radius:calc(var(--dialog-radius,18px) - 4px);background:var(--dialog-surface,#fff);box-shadow:var(--dialog-shadow,0 18px 46px rgb(25 45 70 / 14%));backdrop-filter:blur(var(--dialog-blur,0));color:#31465e;opacity:0;transform:translateY(-8px) scale(.985);transition:opacity .18s ease,transform .18s ease;pointer-events:auto}.site-ui-toast.show{opacity:1;transform:translateY(0) scale(1)}
.site-dialog-dark .site-ui-toast{color:#edf4fb}.site-dialog-dark .site-ui-toast p{color:#aebdce}.site-dialog-accent .site-ui-toast{border-right:4px solid var(--site-accent);border-radius:14px}.site-dialog-floating .site-ui-toast{border-color:transparent;border-radius:22px;box-shadow:0 8px 0 color-mix(in srgb,var(--site-accent-soft) 64%,#fff),0 22px 48px rgb(29 48 70 / 14%)}.site-dialog-floating .site-ui-toast-icon{border-radius:50%}.site-ui-toast-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#edf5ff}.site-ui-toast-icon:before{font-weight:950;font-size:14px;content:'i'}.site-ui-toast>div{min-width:0}.site-ui-toast strong{display:block;font-size:11.5px}.site-ui-toast p{margin:3px 0 0;color:#718094;font-size:10.75px;line-height:1.75;overflow-wrap:anywhere}.site-ui-toast button{width:26px;height:26px;padding:0;border:0;border-radius:8px;background:transparent;color:#8f9cab;font:700 20px/1 Vazir,Tahoma,Arial,sans-serif;cursor:pointer}
.site-ui-toast-success .site-ui-toast-icon{background:#eaf8f3;color:#087b61}.site-ui-toast-success .site-ui-toast-icon:before{content:'✓'}.site-ui-toast-warning .site-ui-toast-icon{background:#fff7e7;color:#a86f00}.site-ui-toast-warning .site-ui-toast-icon:before{content:'!'}.site-ui-toast-error .site-ui-toast-icon{background:#fff0f1;color:#c33f48}.site-ui-toast-error .site-ui-toast-icon:before{content:'×'}.site-ui-toast-info .site-ui-toast-icon{background:color-mix(in srgb,var(--site-accent,#2870c7) 10%,#fff);color:var(--site-accent,#2870c7)}
/* Server-side message cards follow the same selected appearance language. */
.site-dialog-glass .message,.site-dialog-glass .v21-auth-alert,.site-dialog-glass .portal-message-stack .message{backdrop-filter:blur(13px);box-shadow:0 12px 30px rgb(31 53 78 / 9%)}
.site-dialog-accent .message,.site-dialog-accent .v21-auth-alert,.site-dialog-accent .portal-message-stack .message{border-right:4px solid var(--site-accent);border-radius:12px;box-shadow:0 10px 24px rgb(31 52 76 / 8%)}
.site-dialog-floating .message,.site-dialog-floating .v21-auth-alert,.site-dialog-floating .portal-message-stack .message{border-color:transparent;border-radius:20px;box-shadow:0 7px 0 color-mix(in srgb,var(--site-accent-soft) 60%,#fff),0 17px 36px rgb(31 52 76 / 9%)}
.site-dialog-dark .message,.site-dialog-dark .v21-auth-alert,.site-dialog-dark .portal-message-stack .message{background:rgb(18 29 44 / 94%);border-color:rgb(255 255 255 / 10%);color:#e9f1f9}.site-dialog-dark .message.success{color:#72dfbd}.site-dialog-dark .message.warning,.site-dialog-dark .v21-auth-alert.warning{color:#ffd078}.site-dialog-dark .message.error,.site-dialog-dark .v21-auth-alert.error{color:#ff9ca3}
/* Site settings: selectable message/dialog appearance presets. */
.site-dialog-settings-block{margin-top:0;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.site-dialog-settings-head{margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid #e8edf2}
.site-dialog-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.site-dialog-style-card{min-height:170px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) 22px;grid-template-areas:'preview preview' 'copy check';align-items:center;gap:9px 10px;border:1px solid #e1e8ef;border-radius:15px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.site-dialog-style-card:hover{border-color:color-mix(in srgb,var(--site-accent) 28%,#dfe7ee);box-shadow:0 8px 22px rgb(30 50 73 / 6%)}
.site-dialog-style-card.selected{border-color:color-mix(in srgb,var(--site-accent) 58%,#dfe7ee);background:color-mix(in srgb,var(--site-accent-soft) 38%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-accent) 7%,transparent)}
.site-dialog-style-card>input{position:absolute;opacity:0;pointer-events:none}
.site-dialog-style-copy{grid-area:copy;min-width:0}.site-dialog-style-card strong,.site-dialog-style-card small{display:block}.site-dialog-style-card strong{color:#30445c;font-size:11.9px}.site-dialog-style-card small{margin-top:4px;color:#8a96a4;font-size:9.7px;line-height:1.65}
.site-dialog-style-check{grid-area:check;width:20px;height:20px;display:grid!important;place-items:center;border:1px solid #dfe6ed;border-radius:50%;color:transparent;background:#fff;font-size:10px;font-weight:950}.site-dialog-style-card.selected .site-dialog-style-check{border-color:var(--site-accent);color:#fff;background:var(--site-accent)}
.site-dialog-card-preview{grid-area:preview;height:93px;padding:9px;display:block;position:relative;overflow:hidden;border:1px solid #e5ebf0;border-radius:12px;background:#f1f5f8;isolation:isolate}
.site-dialog-mini-modal{width:72%;height:68px;padding:8px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;position:relative;border:1px solid #dfe6ed;border-radius:11px;background:#fff;box-shadow:0 8px 22px rgb(25 45 70 / 13%)}
.site-dialog-mini-modal>i{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--site-accent) 11%,#fff);color:var(--site-accent);font:900 9px/1 Vazir,Tahoma,Arial,sans-serif}
.site-dialog-mini-copy{min-width:0;padding-top:2px}.site-dialog-mini-copy b,.site-dialog-mini-copy em{display:block;border-radius:99px;background:#dfe6ed}.site-dialog-mini-copy b{width:52%;height:5px}.site-dialog-mini-copy em{width:88%;height:4px;margin-top:7px;background:#e9eef2}
.site-dialog-mini-actions{position:absolute;right:8px;left:8px;bottom:7px;display:flex;justify-content:flex-end;gap:4px}.site-dialog-mini-actions u{width:27px;height:8px;border:1px solid #dce4eb;border-radius:4px;background:#fff;text-decoration:none}.site-dialog-mini-actions u:last-child{border-color:var(--site-accent);background:var(--site-accent)}
.site-dialog-mini-toast{width:43%;height:30px;padding:5px 6px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px;position:absolute;left:8px;bottom:8px;border:1px solid #dfe6ed;border-radius:8px;background:#fff;box-shadow:0 7px 18px rgb(25 45 70 / 10%)}
.site-dialog-mini-toast i{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:#eaf8f3;color:#087b61;font:900 8px/1 Vazir,Tahoma,Arial,sans-serif}.site-dialog-mini-toast b{width:78%;height:4px;border-radius:99px;background:#dfe6ed}
.site-dialog-style-card.site-dialog-glass .site-dialog-card-preview{background:linear-gradient(135deg,#e8f5ff,#edf1f7)}.site-dialog-style-card.site-dialog-glass .site-dialog-mini-modal,.site-dialog-style-card.site-dialog-glass .site-dialog-mini-toast{background:rgb(255 255 255 / 72%);backdrop-filter:blur(7px)}
.site-dialog-style-card.site-dialog-accent .site-dialog-card-preview{background:linear-gradient(135deg,color-mix(in srgb,var(--site-accent-soft) 72%,#fff),#f8fbfd)}.site-dialog-style-card.site-dialog-accent .site-dialog-mini-modal{border-top:4px solid var(--site-accent);border-radius:8px;box-shadow:0 5px 0 color-mix(in srgb,var(--site-accent-soft) 65%,#fff),0 10px 20px rgb(25 45 70 / 9%)}.site-dialog-style-card.site-dialog-accent .site-dialog-mini-toast{border-right:3px solid var(--site-accent);border-radius:7px;box-shadow:0 6px 14px rgb(25 45 70 / 8%)}.site-dialog-style-card.site-dialog-accent .site-dialog-mini-actions u{border-radius:3px}
.site-dialog-style-card.site-dialog-floating .site-dialog-card-preview{background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--site-accent-soft) 72%,#fff) 0 20%,transparent 21%),linear-gradient(135deg,#fbfcff,#f2f6fa)}.site-dialog-style-card.site-dialog-floating .site-dialog-mini-modal{border-color:transparent;border-radius:17px;box-shadow:6px 6px 0 color-mix(in srgb,var(--site-accent-soft) 72%,#fff),0 12px 24px rgb(25 45 70 / 11%)}.site-dialog-style-card.site-dialog-floating .site-dialog-mini-modal>i{border-radius:50%}.site-dialog-style-card.site-dialog-floating .site-dialog-mini-actions u{border-radius:999px}.site-dialog-style-card.site-dialog-floating .site-dialog-mini-toast{border-color:transparent;border-radius:999px;box-shadow:4px 4px 0 color-mix(in srgb,var(--site-accent-soft) 65%,#fff),0 8px 18px rgb(25 45 70 / 9%)}.site-dialog-style-card.site-dialog-floating .site-dialog-mini-toast i{border-radius:50%}
.site-dialog-style-card.site-dialog-dark .site-dialog-card-preview{background:#152133;border-color:#28384c}.site-dialog-style-card.site-dialog-dark .site-dialog-mini-modal,.site-dialog-style-card.site-dialog-dark .site-dialog-mini-toast{background:#202d40;border-color:#35445a;box-shadow:0 8px 22px rgb(0 0 0 / 22%)}.site-dialog-style-card.site-dialog-dark .site-dialog-mini-copy b{background:#74859a}.site-dialog-style-card.site-dialog-dark .site-dialog-mini-copy em,.site-dialog-style-card.site-dialog-dark .site-dialog-mini-toast b{background:#4e5e72}.site-dialog-style-card.site-dialog-dark .site-dialog-mini-actions u{background:#27364a;border-color:#435169}.site-dialog-style-card.site-dialog-dark .site-dialog-mini-actions u:last-child{background:var(--site-accent);border-color:var(--site-accent)}
@media(max-width:720px){.site-ui-toast-stack{top:12px;left:14px}.site-ui-dialog{padding:20px 16px;grid-template-columns:44px minmax(0,1fr);gap:12px}.site-ui-dialog-icon{width:44px;height:44px;border-radius:13px}.site-ui-dialog-copy{padding-left:20px}.site-ui-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.site-ui-dialog-actions button{width:100%;min-width:0}.site-dialog-style-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-ui-dialog-backdrop,.site-ui-dialog,.site-ui-toast{transition:none!important}}
body[data-dialog-style="glass"] .message,body[data-dialog-style="glass"] .v21-auth-alert,body[data-dialog-style="glass"] .portal-message-stack .message{backdrop-filter:blur(13px);box-shadow:0 12px 30px rgb(31 53 78 / 9%)}
body[data-dialog-style="accent"] .message,body[data-dialog-style="accent"] .v21-auth-alert,body[data-dialog-style="accent"] .portal-message-stack .message{border-right:4px solid var(--site-accent);border-radius:12px;box-shadow:0 10px 24px rgb(31 52 76 / 8%)}
body[data-dialog-style="floating"] .message,body[data-dialog-style="floating"] .v21-auth-alert,body[data-dialog-style="floating"] .portal-message-stack .message{border-color:transparent;border-radius:20px;box-shadow:0 7px 0 color-mix(in srgb,var(--site-accent-soft) 60%,#fff),0 17px 36px rgb(31 52 76 / 9%)}
body[data-dialog-style="dark"] .message,body[data-dialog-style="dark"] .v21-auth-alert,body[data-dialog-style="dark"] .portal-message-stack .message{background:rgb(18 29 44 / 94%);border-color:rgb(255 255 255 / 10%);color:#e9f1f9}
body[data-dialog-style="dark"] .message.success{color:#72dfbd}body[data-dialog-style="dark"] .message.warning,body[data-dialog-style="dark"] .v21-auth-alert.warning{color:#ffd078}body[data-dialog-style="dark"] .message.error,body[data-dialog-style="dark"] .v21-auth-alert.error{color:#ff9ca3}

/* v7.1.32 — Finance / Payslip Issuance adopts the shared management-table standard. */
.payroll-page-head>div:first-child>span{font-size:12px}
.payroll-page-head h1{font-size:25px}
.payroll-page-head p{font-size:13px}

.payroll-overview-card{
    min-height:92px;
    padding:14px 16px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:12px;
}
.payroll-overview-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid #dce7f2;
    border-radius:12px;
    color:#3674bf;
    background:#f3f8ff;
}
.payroll-overview-icon .ui-icon{width:20px;height:20px}
.payroll-overview-copy{min-width:0;display:block;text-align:right}
.payroll-overview-card small{font-size:12.5px}
.payroll-overview-card strong{margin-top:4px;font-size:22px}
.payroll-overview-card.draft .payroll-overview-icon{color:#8d6710;border-color:#ead9a1;background:#fff9e7}
.payroll-overview-card.published .payroll-overview-icon{color:#08785f;border-color:#bfe5d8;background:#edf9f5}
.payroll-overview-card.suspended .payroll-overview-icon{color:#aa3d47;border-color:#efc5ca;background:#fff4f5}

.payroll-management-table{
    --hr-admin-table-font-size:12.5px;
    --hr-admin-table-action-width:76px;
    --hr-admin-table-action-height:36px;
}
.payroll-management-table>header small{font-size:12px}
.payroll-management-table>header h2{font-size:17px}
.payroll-management-table .payroll-period-table{
    grid-template-columns:54px 1.05fr .9fr .8fr 1.1fr 1.25fr 60px 92px;
    text-align:center;
}
.payroll-management-table .payroll-period-head{
    min-height:46px;
    padding:10px 16px;
    font-size:var(--hr-admin-table-font-size)!important;
}
.payroll-management-table .payroll-period-row{
    min-height:72px;
    padding:10px 16px;
    font-size:var(--hr-admin-table-font-size)!important;
}
.payroll-management-table .payroll-period-table>*{
    min-width:0;
    font-size:var(--hr-admin-table-font-size)!important;
    text-align:center!important;
}
.payroll-management-table .payroll-status{
    font-size:var(--hr-admin-table-font-size)!important;
}
.payroll-management-table .payroll-row-action{
    margin:auto;
    font-size:12px!important;
}
@media(max-width:760px){
    .payroll-overview-copy{text-align:center}
    .payroll-overview-card{grid-template-columns:1fr;justify-items:center;text-align:center}
}

/* v7.1.33 — Search and status filtering for the payroll-period archive. */
.payroll-period-list-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.payroll-period-result-count{
    min-height:30px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dfe7ee;
    border-radius:9px;
    color:#607286;
    background:#f8fafc;
    font-size:11.5px;
    font-weight:900;
    white-space:nowrap;
}
.payroll-period-register-filter{
    margin:12px 14px 14px!important;
}
.payroll-period-register-filter .hr-search-box{
    min-width:280px;
}
.payroll-period-register-filter select{
    min-width:170px;
}
@media(max-width:760px){
    .payroll-period-list-head{align-items:flex-start;flex-direction:column}
    .payroll-period-register-filter{align-items:stretch!important;flex-direction:column!important}
    .payroll-period-register-filter .hr-search-box,.payroll-period-register-filter select{width:100%;min-width:0}
    .payroll-period-register-filter .filter-submit-btn,.payroll-period-register-filter .hr-filter-reset{width:100%}
}

/* v7.1.34 — Shared management overview/filter-card standard + Finance payslip adoption. */
.hr-overview-filter-standard{
    width:min(832px,100%)!important;
    max-width:832px;
    display:grid!important;
    grid-template-columns:repeat(5,160px)!important;
    gap:8px!important;
    justify-content:start!important;
    align-content:start;
    direction:ltr;
}
.hr-overview-filter-standard>.hr-overview-filter-card{
    width:160px;
    min-width:160px;
    max-width:160px;
    min-height:112px;
    direction:rtl;
}
.hr-overview-filter-card .contract-overview-icon .ui-icon{
    width:18px;
    height:18px;
}
.finance-payroll-hero-actions{
    margin-top:16px;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.finance-payroll-hero-actions .hr-primary-action{margin-top:0}
.finance-payroll-secondary-action{
    min-height:39px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d7e2ec;
    border-radius:10px;
    color:#52667d;
    background:rgba(255,255,255,.86);
    font-size:12.5px;
    font-weight:900;
    transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
.finance-payroll-secondary-action:hover{
    border-color:#bdd0e1;
    color:#315d88;
    background:#fff;
}
@media(max-width:820px){
    .hr-overview-filter-standard{
        width:100%!important;
        max-width:none;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        direction:rtl;
    }
    .hr-overview-filter-standard>.hr-overview-filter-card{
        width:auto;
        min-width:0;
        max-width:none;
    }
}
@media(max-width:520px){
    .hr-overview-filter-standard{grid-template-columns:1fr!important}
    .finance-payroll-hero-actions{align-items:stretch;flex-direction:column}
    .finance-payroll-hero-actions>a{width:100%}
}

/* v7.1.35 — Finance period detail visual standard and cleaner control layout. */
.payroll-period-detail-standard{
    font-size:12.5px;
}
.payroll-period-detail-standard .payroll-page-head>div:first-child>span,
.payroll-period-detail-standard .payroll-page-head p,
.payroll-period-detail-standard .payroll-card-heading p,
.payroll-period-detail-standard .payroll-mini-stats span,
.payroll-period-detail-standard .payroll-visible-result,
.payroll-period-detail-standard .payroll-selection-guide,
.payroll-period-detail-standard .payroll-access-save>span,
.payroll-period-detail-standard .payroll-side-card header small,
.payroll-period-detail-standard .payroll-side-card dt,
.payroll-period-detail-standard .payroll-replace-form>label,
.payroll-period-detail-standard .payroll-replace-form>span,
.payroll-period-detail-standard .payroll-filter-empty{
    font-size:11.5px!important;
}
.payroll-period-detail-standard .payroll-filter-row select,
.payroll-period-detail-standard .payroll-search-box input,
.payroll-period-detail-standard .payroll-side-card dd,
.payroll-period-detail-standard .payroll-person-row,
.payroll-period-detail-standard .payroll-person strong,
.payroll-period-detail-standard .payroll-person small,
.payroll-period-detail-standard .payroll-net,
.payroll-period-detail-standard .payroll-net small,
.payroll-period-detail-standard .payroll-access-badges span,
.payroll-period-detail-standard .payroll-slip-state span,
.payroll-period-detail-standard .payroll-row-actions a,
.payroll-period-detail-standard .payroll-row-actions button,
.payroll-period-detail-standard .payroll-visibility-modes b,
.payroll-period-detail-standard .payroll-visibility-modes small{
    font-size:12.5px!important;
}
.payroll-period-detail-standard .payroll-people-head{
    font-size:12.5px!important;
}
.payroll-period-detail-standard .payroll-period-layout{
    grid-template-columns:minmax(0,1fr) 288px;
    gap:15px;
}
.payroll-period-detail-standard .payroll-period-side{
    gap:13px;
}
.payroll-period-detail-standard .payroll-side-card{
    padding:17px;
}
.payroll-period-detail-standard .payroll-side-card h3{
    font-size:14px;
}
.payroll-period-detail-standard .payroll-side-card header>span{
    width:39px;
    height:39px;
}
.payroll-period-detail-standard .payroll-filter-row{
    grid-template-columns:minmax(230px,1fr) 140px 150px 88px auto;
}
.payroll-filter-clear{
    height:38px;
    padding:0 13px;
    border:1px solid #d5dde5;
    border-radius:9px;
    color:#647487;
    background:#fff;
    font-family:inherit;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.payroll-filter-clear:hover,
.payroll-filter-clear:focus-visible{
    border-color:#b9c7d4;
    color:#40566d;
    background:#f5f8fa;
    outline:none;
}
.payroll-period-detail-standard .payroll-visibility-modes{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    padding:14px;
}
.payroll-period-detail-standard .payroll-visibility-modes legend{
    grid-column:1/-1;
    width:100%;
    margin:0 0 2px;
    font-size:12.5px;
}
.payroll-period-detail-standard .payroll-visibility-modes>label{
    min-width:0;
    min-height:66px;
    justify-content:center;
    padding:10px 12px;
}
.payroll-period-detail-standard .payroll-visibility-modes>label>span{
    min-width:0;
}
@media(max-width:1180px){
    .payroll-period-detail-standard .payroll-period-layout{grid-template-columns:1fr}
    .payroll-period-detail-standard .payroll-period-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
    .payroll-period-detail-standard .payroll-filter-row{grid-template-columns:1fr 1fr}
    .payroll-period-detail-standard .payroll-search-box{grid-column:1/-1}
    .payroll-period-detail-standard .payroll-filter-clear{width:100%}
    .payroll-period-detail-standard .payroll-visible-result{justify-self:end}
}
@media(max-width:760px){
    .payroll-period-detail-standard .payroll-filter-row{grid-template-columns:1fr}
    .payroll-period-detail-standard .payroll-search-box{grid-column:auto}
    .payroll-period-detail-standard .payroll-visible-result{justify-self:start}
    .payroll-period-detail-standard .payroll-period-side{grid-template-columns:1fr}
    .payroll-period-detail-standard .payroll-visibility-modes{grid-template-columns:1fr}
}

/* v7.1.36 — Payroll period detail icon cards, compact file picker and header result metric. */
.payroll-period-detail-standard .payroll-period-summary>div{
    grid-template-columns:42px minmax(0,1fr) auto;
    grid-template-rows:auto 1fr;
    column-gap:10px;
    min-height:92px;
    padding:14px 15px;
}
.payroll-period-detail-standard .payroll-period-summary .payroll-summary-icon{
    grid-column:1;
    grid-row:1/3;
    align-self:center;
    width:38px;
    height:38px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#4d6f91;
    background:#edf4fa;
}
.payroll-period-detail-standard .payroll-period-summary .payroll-summary-icon .ui-icon{
    width:19px;
    height:19px;
}
.payroll-period-detail-standard .payroll-period-summary small{
    grid-column:2/4;
    grid-row:1;
}
.payroll-period-detail-standard .payroll-period-summary strong{
    grid-column:2;
    grid-row:2;
}
.payroll-period-detail-standard .payroll-period-summary .payroll-summary-unit{
    grid-column:3;
    grid-row:2;
    padding-bottom:3px;
}
.payroll-period-detail-standard .payroll-period-summary .positive .payroll-summary-icon{
    color:#0a8066;
    background:#e7f7f1;
}
.payroll-period-detail-standard .payroll-period-summary .zero .payroll-summary-icon{
    color:#a27417;
    background:#fff5dc;
}
.payroll-period-detail-standard .payroll-period-summary .visible .payroll-summary-icon{
    color:#2d6fa8;
    background:#eaf3fb;
}
.payroll-period-detail-standard .payroll-period-summary .amount .payroll-summary-icon{
    color:#6a59a6;
    background:#f0ecfb;
}
.payroll-period-detail-standard .payroll-period-layout{
    grid-template-columns:minmax(0,1fr) 306px;
}
.payroll-period-detail-standard .payroll-filter-row{
    grid-template-columns:minmax(230px,1fr) 140px 150px 88px;
}
.payroll-period-detail-standard .payroll-mini-stats{
    align-items:center;
}
.payroll-period-detail-standard .payroll-mini-stats .payroll-visible-result{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#53677d;
    background:#edf3f8;
}
.payroll-period-detail-standard .payroll-mini-stats .payroll-visible-result b{
    color:#315b80;
    font:inherit;
    font-weight:950;
}
.payroll-period-detail-standard .payroll-replace-file{
    min-width:0;
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    align-items:center;
    gap:8px;
}
.payroll-period-detail-standard .payroll-replace-file input[type=file]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
    opacity:0!important;
}
.payroll-period-detail-standard .payroll-file-picker{
    width:104px;
    min-height:36px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid #c9d9e6;
    border-radius:9px;
    color:#3e6d97;
    background:#f5f9fc;
    font-size:11.5px!important;
    font-weight:900!important;
    cursor:pointer;
    transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
}
.payroll-period-detail-standard .payroll-file-picker:hover,
.payroll-period-detail-standard .payroll-file-picker:focus-visible{
    border-color:#9ebbd2;
    color:#285e8d;
    background:#edf5fb;
    box-shadow:0 4px 12px rgba(48,95,134,.08);
    outline:none;
}
.payroll-period-detail-standard .payroll-file-picker .ui-icon{
    width:15px;
    height:15px;
}
.payroll-period-detail-standard .payroll-file-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#7b8998;
    font-size:10.5px!important;
}
.payroll-period-detail-standard .payroll-file-help{
    color:#94a0ad;
    font-size:10px!important;
    line-height:1.8;
}
@media(max-width:1180px){
    .payroll-period-detail-standard .payroll-period-layout{grid-template-columns:1fr}
}
@media(max-width:980px){
    .payroll-period-detail-standard .payroll-filter-row{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .payroll-period-detail-standard .payroll-filter-row{grid-template-columns:1fr}
    .payroll-period-detail-standard .payroll-replace-file{grid-template-columns:1fr}
    .payroll-period-detail-standard .payroll-file-picker{width:100%}
}

/* v7.1.37 — Payroll sample-download guide + management-standard period slip table. */
.payroll-sample-guide{
    overflow:hidden;
}
.payroll-sample-download{
    padding:18px;
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:11px 12px;
    align-items:center;
}
.payroll-sample-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:13px;
    color:var(--accent);
    background:var(--accent-soft);
}
.payroll-sample-icon .ui-icon{
    width:22px;
    height:22px;
}
.payroll-sample-download>div{
    min-width:0;
}
.payroll-sample-download b{
    display:block;
    color:#344b61;
    font-size:13px;
    font-weight:950;
}
.payroll-sample-download p{
    margin:4px 0 0;
    color:#7e8d9c;
    font-size:11.5px;
    line-height:1.9;
}
.payroll-sample-download-btn{
    grid-column:1/-1;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #bcd2e3;
    border-radius:10px;
    color:#326d9a;
    background:#f6fafd;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
    transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.payroll-sample-download-btn:hover,
.payroll-sample-download-btn:focus-visible{
    border-color:#91b7d3;
    color:#285f89;
    background:#edf6fb;
    outline:none;
}
.payroll-sample-points{
    margin:0;
    padding:0 20px 18px 18px;
    display:grid;
    gap:8px;
    list-style:none;
}
.payroll-sample-points li{
    position:relative;
    padding-right:15px;
    color:#6e7f90;
    font-size:11px;
    line-height:1.85;
}
.payroll-sample-points li:before{
    content:"";
    position:absolute;
    right:0;
    top:.8em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--accent);
}

.payroll-period-detail-standard .payroll-slip-management-table{
    min-width:1120px;
    width:100%;
    table-layout:fixed;
}
.payroll-period-detail-standard .payroll-slip-management-table th,
.payroll-period-detail-standard .payroll-slip-management-table td{
    text-align:center!important;
    vertical-align:middle!important;
}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(1),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(1){width:58px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(2),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(2){width:58px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(3),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(3){width:108px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(4),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(4){width:180px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(5),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(5){width:130px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(6),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(6){width:145px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(7),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(7){width:125px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(8),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(8){width:145px}
.payroll-period-detail-standard .payroll-slip-management-table th:nth-child(9),
.payroll-period-detail-standard .payroll-slip-management-table td:nth-child(9){width:190px}
.payroll-period-detail-standard .payroll-slip-management-table .payroll-person{
    display:grid;
    justify-items:center;
    text-align:center!important;
}
.payroll-period-detail-standard .payroll-slip-management-table .payroll-person strong{
    margin:0;
    text-align:center!important;
}
.payroll-period-detail-standard .payroll-slip-management-table .payroll-row-check,
.payroll-period-detail-standard .payroll-slip-management-table .payroll-select-all-box{
    display:flex;
    align-items:center;
    justify-content:center;
}
.payroll-period-detail-standard .payroll-slip-management-table .payroll-row-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex-wrap:nowrap;
    white-space:nowrap;
}
.payroll-period-detail-standard .payroll-slip-management-table .payroll-net{
    display:inline-flex;
    align-items:baseline;
    justify-content:center;
    gap:4px;
}
.payroll-period-detail-standard .payroll-slip-management-table .payroll-access-badges,
.payroll-period-detail-standard .payroll-slip-management-table .payroll-slip-state{
    display:flex;
    justify-content:center;
}
.payroll-period-detail-standard .payroll-slip-management-table .hr-table-action{
    margin:0!important;
}
@media(max-width:980px){
    .payroll-sample-guide{display:block}
}


/* v7.1.38 — Payroll sample card polish, larger replacement picker, static global-access metrics. */
.payroll-sample-guide .payroll-sample-download{
    padding:17px 18px 15px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);
    border-bottom:1px solid #edf2f6;
}
.payroll-sample-guide .payroll-sample-copy{
    min-width:0;
    padding:0 2px;
}
.payroll-sample-guide .payroll-sample-copy b{
    display:block;
    color:#344b61;
    font-size:13px;
    font-weight:950;
}
.payroll-sample-guide .payroll-sample-copy p{
    margin:5px 0 0;
    color:#7e8d9c;
    font-size:11.5px;
    line-height:1.9;
}
.payroll-sample-guide .payroll-sample-download-btn{
    width:100%;
    min-height:42px;
    grid-column:auto;
}

.payroll-period-detail-standard .payroll-replace-file{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:7px;
}
.payroll-period-detail-standard .payroll-file-picker{
    width:100%;
    min-height:46px;
    padding:0 14px;
}
.payroll-period-detail-standard .payroll-file-name{
    width:100%;
    min-height:24px;
    padding:2px 3px 0;
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:right;
}

.global-access-overview{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.global-access-overview .global-access-stat{
    min-height:58px;
    padding:0 16px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    transform:none!important;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
    cursor:default;
    user-select:none;
}
.global-access-overview .global-access-stat:hover,
.global-access-overview .global-access-stat:focus,
.global-access-overview .global-access-stat:active{
    transform:none!important;
    border-color:#e3e9ef;
    background:#fff;
    box-shadow:var(--shadow-sm);
}
.global-access-overview .global-access-stat small,
.global-access-overview .global-access-stat strong{
    margin:0;
    display:inline;
    line-height:1.35;
    white-space:nowrap;
}
.global-access-overview .global-access-stat small{
    color:#5e6e80;
    font-size:12.5px;
}
.global-access-overview .global-access-stat strong{
    font-size:18px;
}
@media(max-width:720px){
    .global-access-overview{grid-template-columns:1fr}
}


/* v7.1.39 — Standardized global payslip-access page. */
.payroll-global-access-standard{
    font-size:12.5px;
}
.payroll-global-access-standard .payroll-page-head>div>span{
    font-size:12.5px;
}
.payroll-global-access-standard .payroll-page-head h1{
    font-size:22px;
}
.payroll-global-access-standard .payroll-page-head p{
    font-size:12.5px;
    line-height:1.9;
}
.payroll-global-access-standard .global-access-summary-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.payroll-global-access-standard .global-access-summary-cards>div{
    grid-template-columns:42px minmax(0,1fr) auto;
    grid-template-rows:auto 1fr;
    column-gap:10px;
    min-height:92px;
    padding:14px 15px;
    cursor:default;
    transform:none!important;
}
.payroll-global-access-standard .global-access-summary-cards>div:hover{
    transform:none!important;
}
.payroll-global-access-standard .global-access-summary-cards .payroll-summary-icon{
    grid-column:1;
    grid-row:1/3;
    align-self:center;
    width:38px;
    height:38px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#4d6f91;
    background:#edf4fa;
}
.payroll-global-access-standard .global-access-summary-cards .payroll-summary-icon .ui-icon{
    width:19px;
    height:19px;
}
.payroll-global-access-standard .global-access-summary-cards small{
    grid-column:2/4;
    grid-row:1;
    font-size:11.5px;
}
.payroll-global-access-standard .global-access-summary-cards strong{
    grid-column:2;
    grid-row:2;
    font-size:22px;
}
.payroll-global-access-standard .global-access-summary-cards .payroll-summary-unit{
    grid-column:3;
    grid-row:2;
    padding-bottom:3px;
    font-size:10.5px;
}
.payroll-global-access-standard .global-access-summary-cards .positive .payroll-summary-icon{
    color:#0a8066;
    background:#e7f7f1;
}
.payroll-global-access-standard .global-access-summary-cards .suspended .payroll-summary-icon{
    color:#b84b55;
    background:#fff0f1;
}
.payroll-global-access-standard .payroll-card-heading small{
    font-size:12px;
}
.payroll-global-access-standard .payroll-card-heading h2{
    font-size:16px;
}
.payroll-global-access-standard .payroll-global-search-standard{
    margin:0!important;
    border-width:0 0 1px!important;
    border-radius:0!important;
    background:#fbfcfd!important;
}
.payroll-global-access-standard .payroll-global-search-standard .search-control input{
    font-size:12.5px!important;
}
.payroll-global-access-standard .payroll-global-search-standard .filter-submit-btn,
.payroll-global-access-standard .payroll-global-search-standard .filter-reset{
    min-width:92px;
    min-height:39px;
    font-size:12.5px!important;
}
.payroll-global-access-standard .payroll-global-actions{
    font-size:12.5px;
}
.payroll-global-access-standard .payroll-global-actions>label,
.payroll-global-access-standard .payroll-global-actions button{
    font-size:12.5px;
}
.payroll-global-access-standard .payroll-global-table-wrap{
    overflow-x:auto;
}
.payroll-global-access-standard .payroll-global-management-table{
    min-width:1040px;
    table-layout:fixed;
}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(1){width:64px}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(2){width:64px}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(3){width:130px}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(4){width:190px}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(5){width:132px}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(6){width:150px}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(7){width:150px}
.payroll-global-access-standard .payroll-global-management-table th:nth-child(8){width:110px}
.payroll-global-access-standard .payroll-global-management-table .payroll-global-person{
    justify-content:center!important;
    text-align:center!important;
}
.payroll-global-access-standard .payroll-global-management-table .payroll-global-person strong{
    font-size:12.5px!important;
}
.payroll-global-access-standard .payroll-portal-state{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    white-space:nowrap;
}
.payroll-global-access-standard .payroll-global-row-actions{
    justify-content:center!important;
    flex-wrap:nowrap!important;
}
.payroll-global-access-standard .payroll-global-management-table .hr-table-action{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:36px!important;
}
@media(max-width:820px){
    .payroll-global-access-standard .global-access-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .payroll-global-access-standard .global-access-summary-cards>div:last-child{grid-column:1/-1}
    .payroll-global-access-standard .payroll-global-search-standard{align-items:stretch!important;flex-wrap:wrap!important}
    .payroll-global-access-standard .payroll-global-search-standard .search-control{width:100%;min-width:0}
}
@media(max-width:520px){
    .payroll-global-access-standard .global-access-summary-cards{grid-template-columns:1fr}
    .payroll-global-access-standard .global-access-summary-cards>div:last-child{grid-column:auto}
    .payroll-global-access-standard .payroll-global-search-standard .filter-submit-btn,
    .payroll-global-access-standard .payroll-global-search-standard .filter-reset{flex:1}
}


/* v7.1.40 — minor polish for payroll sample copy and global-access toolbar. */
.payroll-global-access-standard .payroll-global-access-card{
    overflow:hidden;
}
.payroll-global-access-standard .payroll-global-access-card>.payroll-card-heading{
    background:#f8fafc;
}
.payroll-global-access-standard .payroll-global-search-standard .filter-submit-btn{
    min-height:38px!important;
    padding:0 12px!important;
    border:1px solid var(--line-strong)!important;
    border-radius:10px!important;
    color:#5f6f85!important;
    background:#fff!important;
    box-shadow:none!important;
    font-size:12.5px!important;
    font-weight:800!important;
}
.payroll-global-access-standard .payroll-global-search-standard .filter-submit-btn:hover,
.payroll-global-access-standard .payroll-global-search-standard .filter-submit-btn:focus-visible{
    color:#4f6178!important;
    background:#f8fafc!important;
    transform:none!important;
}
.payroll-global-access-standard .payroll-global-actions{
    background:#fff!important;
    border-bottom:1px solid #edf1f4;
}
.payroll-global-access-standard .payroll-global-table-wrap{
    border-radius:0 0 14px 14px;
    overflow:auto;
}
.payroll-global-access-standard .payroll-global-management-table .payroll-global-person span{
    color:#33475d;
    font-size:12.5px!important;
    font-weight:500!important;
}

/* v7.1.45 — larger browser preview; the exact same canonical A5 raster is still embedded in the PDF. */
.payroll-slip-card.payroll-slip-a5{
    width:min(100%,860px);
    aspect-ratio:148/210;
    margin:0 auto;
    overflow:hidden;
    border:1px solid #d7e0e7;
    border-radius:14px;
    background:#fff;
    box-shadow:0 14px 36px rgba(35,61,83,.11);
}
.payroll-slip-a5 .payroll-slip-rendered{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    background:#f3f6f8;
}
.payroll-slip-semantic{
    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;
}
.portal-payslip-view,.payroll-admin-preview{
    max-width:1040px;
    margin-inline:auto;
}
@media(max-width:900px){
    .payroll-slip-card.payroll-slip-a5{width:min(100%,780px)}
}
@media(max-width:760px){
    .payroll-slip-card.payroll-slip-a5{width:100%;border-radius:9px}
}

/* v7.1.46 — modern payslip presentation and dedicated payslip settings. */
.finance-payroll-settings-action{
    gap:7px;
}
.finance-payroll-action-icon{
    width:17px;
    height:17px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.finance-payroll-action-icon .ui-icon{
    width:17px;
    height:17px;
}
.payroll-slip-card.payroll-slip-a5{
    width:min(100%,940px);
}
.portal-payslip-view,.payroll-admin-preview{
    max-width:1160px;
}

.payroll-settings-page{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    gap:18px;
}
.payroll-settings-hero{
    min-height:152px;
    padding:24px 26px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    border:1px solid #dce5ec;
    border-radius:18px;
    background:linear-gradient(135deg,#fff,#f7fafc);
    box-shadow:0 12px 30px rgba(38,61,82,.06);
}
.payroll-settings-hero h1{
    margin:7px 0 6px;
    color:#263f56;
    font-size:25px;
    font-weight:950;
}
.payroll-settings-hero p{
    max-width:760px;
    margin:0;
    color:#718093;
    font-size:13px;
    line-height:1.95;
}
.payroll-settings-form{
    display:grid;
    gap:16px;
}
.payroll-settings-card{
    overflow:hidden;
    border:1px solid #dbe4eb;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(38,61,82,.055);
}
.payroll-settings-card-head{
    padding:20px 22px;
    display:flex;
    align-items:center;
    gap:14px;
    border-bottom:1px solid #e7edf2;
    background:#f9fbfc;
}
.payroll-settings-step{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #c8ddd8;
    border-radius:13px;
    background:#edf7f5;
    color:#2c756c;
    font-size:13px;
    font-weight:950;
    direction:ltr;
}
.payroll-settings-card-head h2{
    margin:0 0 3px;
    color:#2d455b;
    font-size:16px;
    font-weight:950;
}
.payroll-settings-card-head p{
    margin:0;
    color:#7a8897;
    font-size:12.5px;
    line-height:1.8;
}
.payroll-section-order-grid{
    padding:20px 22px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.payroll-order-field{
    min-width:0;
    padding:14px;
    display:grid;
    gap:10px;
    border:1px solid #dde6ed;
    border-radius:14px;
    background:#fbfcfd;
}
.payroll-order-field>span{
    display:grid;
    gap:3px;
}
.payroll-order-field b{
    color:#354d63;
    font-size:13px;
    font-weight:950;
}
.payroll-order-field small{
    color:#8995a2;
    font-size:11.5px;
    line-height:1.65;
}
.payroll-section-order-select{
    width:100%;
    min-height:42px;
    border:1px solid #ccd9e3!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#344b61!important;
    font-size:12.5px!important;
    font-weight:850!important;
}
.payroll-order-preview{
    margin:0 22px 22px;
    padding:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border:1px solid #d7e5e2;
    border-radius:14px;
    background:#f4faf8;
}
.payroll-order-preview-label{
    display:flex;
    align-items:center;
    gap:10px;
}
.payroll-order-preview-label>span{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#e3f2ef;
    color:#30746b;
}
.payroll-order-preview-label .ui-icon{
    width:18px;
    height:18px;
}
.payroll-order-preview-label>div{
    display:grid;
    gap:2px;
}
.payroll-order-preview-label b{
    color:#355166;
    font-size:12.5px;
}
.payroll-order-preview-label small{
    color:#81909d;
    font-size:11px;
}
.payroll-order-preview-items{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.payroll-order-preview-items>span{
    min-height:34px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid #cfe0dc;
    border-radius:10px;
    background:#fff;
    color:#3e5669;
    font-size:12px;
    font-weight:900;
}
.payroll-order-preview-items i{
    width:21px;
    height:21px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:#edf5f3;
    color:#34776e;
    font-style:normal;
    font-size:10px;
    direction:ltr;
}
.payroll-settings-rule-card{
    padding:18px 20px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    border:1px solid #d7e7df;
    border-radius:16px;
    background:#f8fcfa;
}
.payroll-settings-rule-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#e5f4ed;
    color:#2d7a5f;
}
.payroll-settings-rule-icon .ui-icon{
    width:20px;
    height:20px;
}
.payroll-settings-rule-card h3{
    margin:0 0 3px;
    color:#345246;
    font-size:14px;
    font-weight:950;
}
.payroll-settings-rule-card p{
    margin:0;
    color:#72857b;
    font-size:12px;
    line-height:1.85;
}
.payroll-settings-rule-state{
    min-width:58px;
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #bfdfce;
    border-radius:999px;
    background:#e9f7f0;
    color:#257154;
    font-size:11.5px;
    font-weight:950;
}
.payroll-settings-savebar{
    padding:14px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border:1px solid #dce5eb;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 22px rgba(38,61,82,.05);
}
.payroll-settings-savebar>div{
    display:grid;
    gap:2px;
}
.payroll-settings-savebar b{
    color:#344c62;
    font-size:12.5px;
}
.payroll-settings-savebar span{
    color:#8793a0;
    font-size:11.5px;
}
.payroll-settings-savebar .primary-btn{
    min-width:150px;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}
.payroll-settings-savebar .primary-btn .ui-icon{
    width:17px;
    height:17px;
}
@media(max-width:900px){
    .payroll-slip-card.payroll-slip-a5{width:min(100%,860px)}
    .payroll-section-order-grid{grid-template-columns:1fr}
    .payroll-order-preview{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
    .payroll-settings-hero{align-items:stretch;flex-direction:column}
    .payroll-settings-hero .ghost-btn{width:100%;justify-content:center}
    .payroll-settings-rule-card{grid-template-columns:auto minmax(0,1fr)}
    .payroll-settings-rule-state{grid-column:1/-1;justify-self:start}
    .payroll-settings-savebar{align-items:stretch;flex-direction:column}
    .payroll-settings-savebar .primary-btn{width:100%}
}
@media(max-width:760px){
    .payroll-slip-card.payroll-slip-a5{width:100%;border-radius:9px}
}

/* v7.1.47 — robust payslip ordering + presentation-only labels */
.payroll-settings-inline-error{
    margin:14px 22px 0;
    padding:10px 12px;
    border:1px solid #efc8c8;
    border-radius:10px;
    background:#fff7f7;
    color:#a04444;
    font-size:12px;
    font-weight:800;
}
.payroll-sort-list{
    display:grid;
    gap:9px;
}
.payroll-section-sort-list{
    padding:20px 22px 22px;
}
.payroll-sort-row{
    position:relative;
    min-width:0;
    display:grid;
    grid-template-columns:34px 24px minmax(0,1fr) auto;
    align-items:center;
    gap:11px;
    border:1px solid #dce5eb;
    border-radius:13px;
    background:#fff;
    transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;
}
.payroll-section-sort-row{
    min-height:66px;
    padding:10px 12px;
    background:#fbfcfd;
}
.payroll-sort-row:hover{
    border-color:#cbd9e2;
    box-shadow:0 6px 16px rgba(35,61,82,.055);
}
.payroll-sort-row.is-dragging{
    opacity:.55;
    border-style:dashed;
}
.payroll-sort-priority{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #cde0dc;
    border-radius:9px;
    background:#edf7f5;
    color:#31786f;
    font-size:11px;
    font-weight:950;
    direction:ltr;
}
.payroll-drag-handle{
    color:#94a2ae;
    font-size:20px;
    font-weight:900;
    line-height:1;
    cursor:grab;
    user-select:none;
    text-align:center;
}
.payroll-drag-handle:active{cursor:grabbing}
.payroll-sort-copy{
    min-width:0;
    display:grid;
    gap:2px;
}
.payroll-sort-copy b{
    color:#344d62;
    font-size:13px;
    font-weight:950;
}
.payroll-sort-copy small{
    color:#8996a2;
    font-size:11px;
}
.payroll-sort-actions{
    display:flex;
    align-items:center;
    gap:6px;
    direction:rtl;
}
.payroll-sort-actions button{
    min-width:63px;
    height:34px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid #d4dfe7;
    border-radius:9px;
    background:#fff;
    color:#52697b;
    font:inherit;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}
.payroll-sort-actions button:hover:not(:disabled){
    border-color:#b9d2cd;
    background:#f3f9f7;
    color:#2f746b;
}
.payroll-sort-actions button:disabled{
    opacity:.35;
    cursor:not-allowed;
}
.payroll-items-settings-card{overflow:visible}
.payroll-item-sections{
    padding:18px 22px 22px;
    display:grid;
    gap:16px;
}
.payroll-item-section{
    overflow:hidden;
    border:1px solid #dbe4ea;
    border-radius:15px;
    background:#fbfcfd;
}
.payroll-item-section-head{
    min-height:66px;
    padding:13px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border-bottom:1px solid #e4ebf0;
    background:#f5f8fa;
}
.payroll-item-section-head>div{
    display:grid;
    gap:2px;
}
.payroll-item-section-head h3{
    margin:0;
    color:#324b60;
    font-size:14px;
    font-weight:950;
}
.payroll-item-section-head p{
    margin:0;
    color:#82909d;
    font-size:11.5px;
}
.payroll-item-section-head>span{
    min-width:60px;
    min-height:29px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d3e2df;
    border-radius:999px;
    background:#fff;
    color:#46746d;
    font-size:10.5px;
    font-weight:900;
    white-space:nowrap;
}
.payroll-item-sort-list{
    padding:12px;
}
.payroll-item-sort-row{
    min-height:94px;
    padding:10px 11px;
    grid-template-columns:34px 24px minmax(0,1fr) auto;
}
.payroll-item-labels{
    min-width:0;
    display:grid;
    grid-template-columns:minmax(150px,.72fr) minmax(260px,1.28fr);
    align-items:center;
    gap:14px;
}
.payroll-system-label{
    min-width:0;
    display:grid;
    gap:3px;
}
.payroll-system-label small,
.payroll-display-label-field>span{
    color:#8a97a3;
    font-size:10.5px;
    font-weight:750;
}
.payroll-system-label b{
    overflow:hidden;
    color:#3b5266;
    font-size:12.5px;
    font-weight:950;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.payroll-display-label-field{
    min-width:0;
    display:grid;
    gap:5px;
}
.payroll-display-label-field>div{
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
}
.payroll-display-label-input{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 11px!important;
    border:1px solid #cddae3!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#2f485e!important;
    font-size:12px!important;
    font-weight:850!important;
}
.payroll-display-label-input:focus{
    border-color:#78afa5!important;
    box-shadow:0 0 0 3px rgba(87,184,167,.10)!important;
}
.payroll-label-reset{
    min-width:68px;
    height:38px;
    padding:0 9px;
    border:1px solid #d8e1e8;
    border-radius:9px;
    background:#f8fafb;
    color:#697b8b;
    font:inherit;
    font-size:10.5px;
    font-weight:900;
    cursor:pointer;
}
.payroll-label-reset:hover{
    border-color:#c5d5df;
    background:#fff;
    color:#3e6178;
}
.payroll-display-label-field .field-error{
    color:#b24d4d;
    font-size:10.5px;
    font-style:normal;
}
.payroll-settings-safety-card{
    border-color:#d8e2ec;
    background:#f8fafc;
}
.payroll-settings-safety-card .payroll-settings-rule-icon{
    background:#e9f0f7;
    color:#496c8a;
}
.payroll-settings-safety-card .payroll-settings-rule-state{
    border-color:#cbdbe8;
    background:#edf4f9;
    color:#426681;
}
@media(max-width:900px){
    .payroll-item-labels{grid-template-columns:1fr}
    .payroll-item-sort-row{align-items:start}
}
@media(max-width:700px){
    .payroll-sort-row,
    .payroll-item-sort-row{
        grid-template-columns:32px 20px minmax(0,1fr);
    }
    .payroll-sort-actions{
        grid-column:1/-1;
        justify-content:flex-end;
        border-top:1px solid #edf1f4;
        padding-top:8px;
    }
    .payroll-sort-actions button{flex:1;max-width:120px}
    .payroll-item-section-head{align-items:flex-start}
}

/* v7.1.48 — fixed formal payslip geometry + section-card settings navigation. */
.payroll-slip-card.payroll-slip-a5{
    width:min(100%,1000px);
    border-color:#cbd6df;
    border-radius:12px;
    box-shadow:0 12px 30px rgba(32,55,73,.10);
}
.portal-payslip-view,.payroll-admin-preview{
    max-width:1220px;
}

.payroll-settings-hub .payroll-settings-priority-card{overflow:hidden}
.payroll-settings-section-cards{
    padding:22px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    direction:rtl;
}
.payroll-settings-section-card{
    min-width:0;
    min-height:148px;
    padding:18px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    grid-template-rows:1fr auto;
    align-items:center;
    gap:10px 13px;
    border:1px solid #d8e2e9;
    border-radius:15px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    box-shadow:0 7px 18px rgba(38,61,82,.045);
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.payroll-settings-section-card:hover{
    border-color:#bdd3d0;
    background:#fbfdfd;
    box-shadow:0 9px 22px rgba(38,61,82,.065);
    transform:none;
}
.payroll-settings-section-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #cfe0dd;
    border-radius:13px;
    background:#edf7f5;
    color:#32766d;
}
.payroll-settings-section-icon .ui-icon{width:23px;height:23px}
.payroll-settings-section-card--work .payroll-settings-section-icon{background:#eef4f8;border-color:#d4e0e8;color:#3d6685}
.payroll-settings-section-card--deductions .payroll-settings-section-icon{background:#f3f5f7;border-color:#dde3e8;color:#5c6e7c}
.payroll-settings-section-copy{
    min-width:0;
    display:grid;
    gap:5px;
}
.payroll-settings-section-copy b{
    color:#30495e;
    font-size:15px;
    font-weight:950;
}
.payroll-settings-section-copy small{
    color:#7e8c99;
    font-size:11.5px;
    line-height:1.8;
}
.payroll-settings-section-open{
    grid-column:1/-1;
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-top:1px solid #edf1f4;
    color:#3d6e68;
    font-size:11.5px;
    font-weight:950;
}
.payroll-settings-fixed-layout{
    padding:18px 20px 20px;
    display:grid;
    gap:16px;
    border:1px solid #d9e3ea;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 22px rgba(38,61,82,.045);
}
.payroll-settings-fixed-layout-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:13px;
}
.payroll-settings-fixed-layout-head h3{
    margin:0 0 3px;
    color:#334d62;
    font-size:14px;
    font-weight:950;
}
.payroll-settings-fixed-layout-head p{
    margin:0;
    color:#7c8996;
    font-size:12px;
    line-height:1.85;
}
.payroll-settings-layout-preview{
    max-width:620px;
    width:100%;
    margin:0 auto;
    padding:12px;
    display:grid;
    gap:9px;
    border:1px solid #dce5eb;
    border-radius:13px;
    background:#f8fafb;
}
.payroll-settings-layout-work,
.payroll-settings-layout-columns>div{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #cfdae2;
    border-radius:9px;
    background:#fff;
    color:#3c566b;
    font-size:12.5px;
    font-weight:950;
}
.payroll-settings-layout-work{border-top:4px solid #3d6888}
.payroll-settings-layout-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    direction:rtl;
}
.payroll-settings-layout-columns>div:first-child{border-top:4px solid #2f746d}
.payroll-settings-layout-columns>div:last-child{border-top:4px solid #5d6f7d}
.payroll-settings-subpage-hero{min-height:142px}
.payroll-single-section-card .payroll-item-sort-list{padding:14px}
.payroll-single-item-sort-list{gap:10px}
.payroll-single-section-card .payroll-item-sort-row{
    min-height:92px;
    background:#fff;
}
@media(max-width:900px){
    .payroll-slip-card.payroll-slip-a5{width:min(100%,900px)}
    .payroll-settings-section-cards{grid-template-columns:1fr}
    .payroll-settings-section-card{min-height:118px}
}
@media(max-width:700px){
    .payroll-settings-section-cards{padding:14px}
    .payroll-settings-fixed-layout{padding:15px}
    .payroll-settings-layout-columns{grid-template-columns:1fr}
}

/* v7.1.50 — dynamic payroll schema registry */
.payroll-schema-entry-body{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.payroll-schema-metrics{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;flex:1}.payroll-schema-metrics span,.payroll-schema-summary>div{background:#f7f9fb;border:1px solid #e1e7ed;border-radius:12px;padding:12px 14px;text-align:center}.payroll-schema-metrics b,.payroll-schema-summary strong{display:block;font-size:20px;color:#24465f}.payroll-schema-metrics small,.payroll-schema-summary small{display:block;margin-top:3px;color:#6b7887}.payroll-schema-entry-actions,.payroll-schema-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.payroll-schema-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:18px 0}.payroll-schema-table-card .payroll-card-heading p{max-width:640px;margin:0;color:#667585;font-size:12.5px}.payroll-schema-table td,.payroll-schema-table th{text-align:center;vertical-align:middle}.payroll-schema-table tr.is-inactive{opacity:.58}.payroll-schema-title{display:flex;flex-direction:column;gap:4px;align-items:center}.payroll-schema-title small{font-size:10px;color:#8793a0}.payroll-schema-order{display:flex;align-items:center;justify-content:center;gap:8px}.payroll-schema-order>div{display:flex;gap:3px}.payroll-schema-order form{margin:0}.payroll-schema-order button{width:28px;height:28px;border:1px solid #d4dde6;border-radius:7px;background:#fff;cursor:pointer}.payroll-schema-order button:disabled{opacity:.3;cursor:default}.payroll-schema-group{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 9px;border-radius:999px;border:1px solid #d8e0e8;background:#f7f9fb;font-size:11px}.payroll-schema-group--work{background:#eef6fb;border-color:#cbddea}.payroll-schema-group--earnings{background:#edf7f4;border-color:#c9e1da}.payroll-schema-group--deductions{background:#fbf1f3;border-color:#e8ced4}.payroll-schema-group--system,.payroll-schema-group--summary{background:#f1f2f5;border-color:#d6d9df}.payroll-schema-yes{color:#2f7c73;font-weight:700}.payroll-schema-no{color:#98a2ad}.payroll-schema-lock{display:block;margin-top:4px;color:#7a8490;font-size:10px}.payroll-schema-actions{justify-content:center;align-items:center;flex-wrap:nowrap}.payroll-schema-actions form{margin:0}.payroll-schema-key-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f6f8fa;border:1px solid #e1e6eb;border-radius:10px;padding:11px 13px;margin-bottom:16px}.payroll-schema-key-note span{color:#6c7885}.payroll-schema-key-note b{font-size:12px}.payroll-schema-key-note em{font-style:normal;background:#e8edf2;border-radius:999px;padding:3px 8px;font-size:10px}.payroll-schema-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.payroll-schema-form-grid .field-box{display:flex;flex-direction:column;gap:7px}.payroll-schema-form-grid .field-box>small{color:#758292;line-height:1.8}.payroll-schema-check-field{justify-content:flex-end;border:1px solid #e3e8ed;border-radius:10px;padding:12px}.payroll-schema-check-field input{width:auto}.payroll-schema-check-field label{order:2}.payroll-schema-check-field input{order:1}.payroll-schema-edit-form .payroll-settings-card{margin-bottom:18px}
@media(max-width:900px){.payroll-schema-summary{grid-template-columns:repeat(2,1fr)}.payroll-schema-metrics{grid-template-columns:repeat(2,1fr)}.payroll-schema-form-grid{grid-template-columns:1fr}.payroll-schema-head-actions{width:100%}}
@media(max-width:560px){.payroll-schema-summary,.payroll-schema-metrics{grid-template-columns:1fr}.payroll-schema-entry-actions{width:100%}.payroll-schema-entry-actions a{flex:1;text-align:center}}

/* v7.1.51 — payroll schema UI polish + spacious settings/form layout */
.payroll-schema-entry-card--refined{
    overflow:hidden;
    border-color:#d8e2e9;
    box-shadow:0 12px 30px rgba(38,61,82,.055);
}
.payroll-schema-entry-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:22px 24px;
}
.payroll-schema-entry-heading-copy{min-width:0}
.payroll-schema-entry-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--accent) 22%,#dce5ec);
    border-radius:14px;
    color:var(--accent);
    background:color-mix(in srgb,var(--accent-soft) 72%,#fff);
}
.payroll-schema-entry-icon .ui-icon{width:22px;height:22px}
.payroll-schema-entry-content{
    padding:22px 24px 24px;
    display:grid;
    gap:16px;
    background:#fff;
}
.payroll-schema-entry-intro{
    display:grid;
    gap:4px;
    max-width:760px;
}
.payroll-schema-entry-intro b{
    color:#334c61;
    font-size:13px;
    font-weight:950;
}
.payroll-schema-entry-intro span{
    color:#82909e;
    font-size:11.8px;
    line-height:1.9;
}
.payroll-schema-entry-card--refined .payroll-schema-metrics{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.payroll-schema-entry-card--refined .payroll-schema-metrics span{
    min-height:86px;
    padding:15px 14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid #dde6ed;
    border-radius:14px;
    background:linear-gradient(180deg,#fbfcfd 0%,#f6f9fb 100%);
}
.payroll-schema-entry-card--refined .payroll-schema-metrics b{
    color:#2f4e66;
    font-size:21px;
    line-height:1;
}
.payroll-schema-entry-card--refined .payroll-schema-metrics small{
    margin-top:8px;
    color:#7d8b99;
    font-size:11.5px;
    font-weight:800;
}
.payroll-schema-entry-footer{
    padding:17px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border-top:1px solid #e5ebf0;
    background:#f8fafc;
}
.payroll-schema-entry-footer-copy{
    min-width:0;
    display:grid;
    gap:3px;
}
.payroll-schema-entry-footer-copy b{
    color:#415a70;
    font-size:12px;
    font-weight:950;
}
.payroll-schema-entry-footer-copy span{
    color:#8a96a3;
    font-size:11.2px;
    line-height:1.75;
}
.payroll-schema-entry-card--refined .payroll-schema-entry-actions{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0;
}
.payroll-schema-entry-card--refined .payroll-schema-entry-actions a{
    min-width:164px;
    justify-content:center;
}

.payroll-schema-page,
.payroll-schema-form-page{
    max-width:1220px;
    margin:0 auto;
}
.payroll-schema-page{
    display:grid;
    gap:16px;
}
.payroll-schema-page .payroll-settings-hero{margin-bottom:0}
.payroll-schema-page .payroll-schema-summary{
    margin:0;
    gap:11px;
}
.payroll-schema-page .payroll-schema-summary>div{
    min-height:78px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:linear-gradient(180deg,#fff,#f7f9fb);
}
.payroll-schema-table-card{
    overflow:hidden;
    border-radius:16px;
}
.payroll-schema-table-heading{
    min-height:68px;
    padding:16px 18px!important;
    align-items:center!important;
}
.payroll-schema-table-heading>div{display:grid;gap:2px}
.payroll-schema-table-heading small{color:#8a96a3;font-size:10.8px}
.payroll-schema-table-heading h2{margin:0;color:#344e63;font-size:15px}
.payroll-schema-table-card .modern-table-wrap{border-top:1px solid #e8edf2}
.payroll-schema-table th{white-space:nowrap}
.payroll-schema-table td{padding-top:11px!important;padding-bottom:11px!important}

.payroll-schema-form-page{
    display:grid;
    gap:16px;
}
.payroll-schema-edit-form{
    display:grid;
    gap:14px;
}
.payroll-schema-key-note--refined{
    margin:0;
    min-height:70px;
    padding:13px 16px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid #dfe7ed;
    border-radius:14px;
    background:linear-gradient(180deg,#fbfcfd,#f7f9fb);
    box-shadow:0 5px 16px rgba(38,61,82,.035);
}
.payroll-schema-key-icon{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:var(--accent);
    background:var(--accent-soft);
}
.payroll-schema-key-icon .ui-icon{width:19px;height:19px}
.payroll-schema-key-note--refined>div{
    min-width:0;
    display:grid;
    gap:3px;
}
.payroll-schema-key-note--refined small{
    color:#8b97a4;
    font-size:10.8px;
}
.payroll-schema-key-note--refined b{
    color:#334d62;
    font-size:12.5px;
    overflow-wrap:anywhere;
}
.payroll-schema-key-note--refined em{
    margin-inline-start:auto;
    padding:5px 10px;
    border:1px solid #d8e0e7;
    border-radius:999px;
    color:#687786;
    background:#fff;
    font-size:10.5px;
    font-style:normal;
    font-weight:900;
}
.payroll-schema-form-section{
    margin:0!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    border-radius:16px!important;
}
.payroll-schema-form-section .section-side{
    padding:20px!important;
}
.payroll-schema-form-section .form-section-body{
    padding:22px!important;
}
.payroll-schema-main-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
}
.payroll-schema-display-grid{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;
    gap:16px!important;
}
.payroll-schema-form-section .field-box{
    min-width:0;
}
.payroll-schema-form-section .field-box label{
    margin-bottom:7px;
    color:#4d6175;
    font-size:11.8px;
}
.payroll-schema-form-section .field-box input,
.payroll-schema-form-section .field-box select,
.payroll-schema-form-section .field-box textarea{
    min-height:44px;
    border-color:#d6e0e8!important;
    border-radius:10px!important;
}
.payroll-schema-form-section .field-box textarea{
    min-height:104px;
    padding:11px 12px;
    line-height:1.9;
}
.payroll-schema-field-help{
    display:block;
    margin-top:6px;
    color:#8b97a4!important;
    font-size:10.8px;
    line-height:1.8!important;
}
.payroll-schema-toggle-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.payroll-schema-toggle-card{
    min-width:0;
    min-height:112px;
    padding:14px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:flex-start;
    gap:11px;
    border:1px solid #dfe7ed;
    border-radius:13px;
    background:#fbfcfd;
    cursor:pointer;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.payroll-schema-toggle-card:hover{
    border-color:color-mix(in srgb,var(--accent) 28%,#dfe7ed);
    background:#fff;
    box-shadow:0 6px 16px rgba(38,61,82,.04);
}
.payroll-schema-toggle-control{
    padding-top:1px;
}
.payroll-schema-toggle-input{
    width:19px!important;
    height:19px!important;
    min-height:19px!important;
    margin:0!important;
    accent-color:var(--accent);
    cursor:pointer;
}
.payroll-schema-toggle-copy{
    min-width:0;
    display:grid;
    gap:5px;
}
.payroll-schema-toggle-copy b{
    color:#40586d;
    font-size:11.8px;
    font-weight:950;
}
.payroll-schema-toggle-copy small{
    color:#8794a1;
    font-size:10.6px;
    line-height:1.8;
}
.payroll-schema-toggle-error{grid-column:1/-1}
.payroll-schema-savebar{
    margin-top:2px;
}

@media(max-width:980px){
    .payroll-schema-entry-card--refined .payroll-schema-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .payroll-schema-form-section{grid-template-columns:180px minmax(0,1fr)!important}
    .payroll-schema-main-grid{grid-template-columns:1fr 1fr!important}
    .payroll-schema-main-grid .field-box:first-child{grid-column:1/-1}
    .payroll-schema-toggle-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .payroll-schema-entry-head{grid-template-columns:auto minmax(0,1fr);padding:18px}
    .payroll-schema-entry-icon{display:none}
    .payroll-schema-entry-content{padding:18px}
    .payroll-schema-entry-footer{padding:16px 18px;align-items:stretch;flex-direction:column}
    .payroll-schema-entry-card--refined .payroll-schema-entry-actions{width:100%;display:grid;grid-template-columns:1fr}
    .payroll-schema-entry-card--refined .payroll-schema-entry-actions a{width:100%;min-width:0}
    .payroll-schema-form-section{grid-template-columns:1fr!important}
    .payroll-schema-form-section .section-side{border-left:0!important;border-bottom:1px solid var(--line)!important}
    .payroll-schema-main-grid,
    .payroll-schema-display-grid{grid-template-columns:1fr!important}
    .payroll-schema-main-grid .field-box:first-child{grid-column:auto}
}
@media(max-width:520px){
    .payroll-schema-entry-card--refined .payroll-schema-metrics{grid-template-columns:1fr 1fr}
    .payroll-schema-entry-card--refined .payroll-schema-metrics span{min-height:76px;padding:12px 10px}
    .payroll-schema-entry-card--refined .payroll-schema-metrics b{font-size:19px}
}


/* v7.1.52 — simplified payroll schema editor + single management action */
.payroll-schema-entry-card--refined .payroll-schema-entry-actions{min-width:196px}
.payroll-schema-entry-card--refined .payroll-schema-entry-actions .payroll-schema-manage-btn{
    width:100%;min-width:196px;min-height:42px;justify-content:center;background:#fff;border-color:#d2dde6;color:#456176;box-shadow:none;
}
.payroll-schema-entry-card--refined .payroll-schema-entry-actions .payroll-schema-manage-btn:hover{background:#f8fafc;border-color:#bdccd8;color:#314e65}
.payroll-schema-form-page--simple{display:grid;gap:16px}
.payroll-schema-editor-form{display:block}
.payroll-schema-editor-card{overflow:hidden;border:1px solid #dbe4eb;border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(38,61,82,.055)}
.payroll-schema-editor-head{min-height:92px;padding:20px 22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid #e5ebf0;background:linear-gradient(180deg,#fbfcfd 0%,#f7fafc 100%)}
.payroll-schema-editor-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 20%,#dbe4eb);border-radius:14px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 75%,#fff)}
.payroll-schema-editor-icon .ui-icon{width:21px;height:21px}
.payroll-schema-editor-title{min-width:0;display:grid;gap:5px}
.payroll-schema-editor-title h2{margin:0;color:#344f65;font-size:15px;font-weight:950}
.payroll-schema-editor-title p{margin:0;color:#7f8d9a;font-size:11.5px;line-height:1.9}
.payroll-schema-editor-key{max-width:250px;min-width:150px;padding:9px 12px;display:grid;gap:2px;border:1px solid #dfe7ed;border-radius:11px;background:#fff}
.payroll-schema-editor-key small{color:#909ba6;font-size:10px}.payroll-schema-editor-key b{color:#405a70;font-size:11.5px;overflow-wrap:anywhere}
.payroll-schema-editor-key em{width:max-content;margin-top:3px;padding:2px 7px;border-radius:999px;color:#6e7b87;background:#eef2f5;font-size:9.5px;font-style:normal;font-weight:900}
.payroll-schema-editor-body{padding:4px 22px}
.payroll-schema-editor-section{padding:22px 0 24px;display:grid;gap:18px;border-bottom:1px solid #edf1f4}.payroll-schema-editor-section--last{border-bottom:0}
.payroll-schema-editor-section-head{display:flex;align-items:flex-start;gap:10px}
.payroll-schema-editor-section-head>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;color:var(--accent);background:var(--accent-soft);font-size:10.5px;font-weight:950}
.payroll-schema-editor-section-head>div{display:grid;gap:3px;min-width:0}.payroll-schema-editor-section-head h3{margin:0;color:#3c566c;font-size:13px;font-weight:950}.payroll-schema-editor-section-head p{margin:0;color:#8a96a2;font-size:10.8px;line-height:1.8}
.payroll-schema-editor-grid{display:grid;gap:14px}.payroll-schema-editor-grid--three{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,.9fr)}.payroll-schema-editor-grid--four{grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr) minmax(0,.85fr) minmax(0,.85fr)}.payroll-schema-editor-grid--display{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.payroll-schema-editor-field{min-width:0;display:flex;flex-direction:column;gap:7px}.payroll-schema-editor-field label{color:#4d6275;font-size:11.5px;font-weight:900}
.payroll-schema-editor-field input,.payroll-schema-editor-field select,.payroll-schema-editor-field textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid #d7e1e8!important;border-radius:10px!important;color:#344e63;background:#fff;box-shadow:0 1px 0 rgba(38,61,82,.015);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.payroll-schema-editor-field input:focus,.payroll-schema-editor-field select:focus,.payroll-schema-editor-field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,#d7e1e8)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-soft) 60%,transparent)}
.payroll-schema-editor-field input:disabled,.payroll-schema-editor-field select:disabled,.payroll-schema-editor-field textarea:disabled{color:#778591;background:#f3f6f8;cursor:not-allowed}
.payroll-schema-editor-field textarea{min-height:92px;resize:vertical;line-height:1.9}.payroll-schema-editor-field small{color:#919ca7;font-size:10.4px;line-height:1.75}
.payroll-schema-editor-field.has-error input,.payroll-schema-editor-field.has-error select,.payroll-schema-editor-field.has-error textarea{border-color:#d99aa3!important}
.payroll-schema-editor-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.payroll-schema-editor-toggle{min-width:0;min-height:98px;padding:14px;display:flex;align-items:flex-start;gap:11px;border:1px solid #dfe7ed;border-radius:13px;background:#fafcfd;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.payroll-schema-editor-toggle:hover{border-color:color-mix(in srgb,var(--accent) 30%,#dfe7ed);background:#fff;box-shadow:0 7px 18px rgba(38,61,82,.04)}
.payroll-schema-editor-toggle-control{padding-top:1px;flex:0 0 auto}.payroll-schema-editor-toggle-copy{min-width:0;display:grid;gap:5px}.payroll-schema-editor-toggle-copy b{color:#40596e;font-size:11.6px;font-weight:950}.payroll-schema-editor-toggle-copy small{color:#8795a2;font-size:10.3px;line-height:1.75}.payroll-schema-editor-toggle-error{grid-column:1/-1}
.payroll-schema-editor-footer{min-height:76px;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e5ebf0;background:#f8fafc}
.payroll-schema-editor-footer>div:first-child{min-width:0;display:grid;gap:3px}.payroll-schema-editor-footer b{color:#435c71;font-size:11.8px;font-weight:950}.payroll-schema-editor-footer span{color:#8a96a3;font-size:10.7px;line-height:1.7}
.payroll-schema-editor-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.payroll-schema-editor-actions .ghost-btn,.payroll-schema-editor-actions .primary-btn{min-width:116px;justify-content:center}
@media(max-width:1050px){.payroll-schema-editor-grid--four{grid-template-columns:1fr 1fr}.payroll-schema-editor-grid--four .payroll-schema-internal-key,.payroll-schema-editor-grid--four .payroll-schema-editor-field:nth-child(2){grid-column:span 1}}
@media(max-width:900px){.payroll-schema-editor-head{grid-template-columns:auto minmax(0,1fr)}.payroll-schema-editor-key{grid-column:1/-1;max-width:none;margin-inline-start:60px}.payroll-schema-editor-grid--three{grid-template-columns:1fr 1fr}.payroll-schema-editor-grid--three .payroll-schema-editor-field:first-child{grid-column:1/-1}.payroll-schema-editor-toggles{grid-template-columns:1fr}}
@media(max-width:680px){.payroll-schema-editor-head{padding:17px}.payroll-schema-editor-body{padding:2px 17px}.payroll-schema-editor-section{padding:18px 0 20px}.payroll-schema-editor-key{margin-inline-start:0}.payroll-schema-editor-grid--three,.payroll-schema-editor-grid--four,.payroll-schema-editor-grid--display{grid-template-columns:1fr}.payroll-schema-editor-grid--three .payroll-schema-editor-field:first-child{grid-column:auto}.payroll-schema-editor-footer{padding:15px 17px;align-items:stretch;flex-direction:column}.payroll-schema-editor-actions{width:100%}.payroll-schema-editor-actions .ghost-btn,.payroll-schema-editor-actions .primary-btn{flex:1;min-width:0}.payroll-schema-entry-card--refined .payroll-schema-entry-actions{width:100%;min-width:0}.payroll-schema-entry-card--refined .payroll-schema-entry-actions .payroll-schema-manage-btn{min-width:0;width:100%}}

/* v7.1.53 — draggable payroll schema order + matching settings-card icon */
.payroll-settings-priority-card--refined{overflow:hidden}
.payroll-settings-priority-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
}
.payroll-settings-priority-heading-copy{min-width:0}
.payroll-settings-priority-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--accent) 22%,#dce5ec);
    border-radius:14px;
    color:var(--accent);
    background:color-mix(in srgb,var(--accent-soft) 72%,#fff);
}
.payroll-settings-priority-icon .ui-icon{width:22px;height:22px}
.payroll-schema-table-heading{align-items:center;justify-content:space-between;gap:16px}
.payroll-schema-table-heading>div{min-width:0}
.payroll-schema-table-heading p{margin-top:5px!important;font-size:11.2px!important;line-height:1.8}
.payroll-schema-order-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.payroll-schema-reorder-form,.payroll-schema-reset-form{flex:0 0 auto;margin:0}
.payroll-schema-save-order{min-width:132px;justify-content:center;gap:6px}
.payroll-schema-save-order .ui-icon{width:16px;height:16px}
.payroll-schema-save-order:disabled{opacity:.42;cursor:default;pointer-events:none}
.payroll-schema-table tbody tr[data-schema-row]{transition:opacity .14s ease,box-shadow .14s ease,background .14s ease}
.payroll-schema-table tbody tr[data-schema-row].is-dragging{opacity:.52;background:#f4faf8;box-shadow:0 8px 20px rgba(42,78,72,.08)}
.payroll-schema-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:20px;color:#98a6b2;font-size:18px;font-weight:950;line-height:1;cursor:grab;user-select:none}
.payroll-schema-drag-handle:active{cursor:grabbing}
@media(max-width:760px){
    .payroll-settings-priority-head{grid-template-columns:auto minmax(0,1fr)}
    .payroll-settings-priority-icon{display:none}
    .payroll-schema-table-heading{align-items:stretch;flex-direction:column}
    .payroll-schema-order-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
    .payroll-schema-reorder-form,.payroll-schema-reset-form,.payroll-schema-save-order,.payroll-schema-reset{width:100%}
}


/* v7.1.54 — payroll value-type guidance */
.payroll-schema-type-hint{min-height:22px;padding:5px 9px;display:flex;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 14%,#e4eaef);border-radius:8px;color:#6f8191!important;background:color-mix(in srgb,var(--accent-soft) 38%,#fff);font-size:10.3px!important;font-weight:800;line-height:1.55!important}

/* v7.1.55 — payroll source reconciliation */
.payroll-reconciliation-btn{min-height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d9e2e8;border-radius:10px;background:#fff;color:#526578;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease}.payroll-reconciliation-btn .ui-icon{width:16px;height:16px}.payroll-reconciliation-btn b{min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#edf2f5;color:inherit;font-size:9.5px}.payroll-reconciliation-btn.is-warning{border-color:#e7cf83;background:#fffbeb;color:#795e19}.payroll-reconciliation-btn.is-warning b{background:#f7e9b9}.payroll-reconciliation-btn.is-danger{border-color:#e5b2b2;background:#fff5f5;color:#9d3e3e}.payroll-reconciliation-btn.is-danger b{background:#f6dada}.payroll-reconciliation-btn.is-clean:hover{border-color:#9eb9c9;background:#f7fafc;color:#2f5870}.payroll-modal-open{overflow:hidden}.payroll-reconciliation-modal[hidden]{display:none!important}.payroll-reconciliation-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:28px}.payroll-reconciliation-backdrop{position:absolute;inset:0;background:rgba(21,37,50,.56);backdrop-filter:blur(3px)}.payroll-reconciliation-dialog{position:relative;width:min(1120px,96vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d5dfe6;border-radius:18px;background:#fff;box-shadow:0 26px 75px rgba(19,39,54,.22)}.payroll-reconciliation-head{padding:20px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #e7edf1;background:linear-gradient(180deg,#fbfcfd,#f6f9fb)}.payroll-reconciliation-head small{display:block;margin-bottom:5px;color:#7890a1;font-size:10.5px;font-weight:800}.payroll-reconciliation-head h3{margin:0;color:#29475d;font-size:18px}.payroll-reconciliation-head p{margin:7px 0 0;color:#7c8b97;font-size:10.5px}.payroll-reconciliation-close{width:36px;height:36px;flex:0 0 36px;border:1px solid #dce4e9;border-radius:10px;background:#fff;color:#6a7a87;font:inherit;font-size:22px;line-height:1;cursor:pointer}.payroll-reconciliation-body{padding:18px;overflow:auto}.payroll-reconciliation-summary{margin-bottom:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payroll-reconciliation-summary span{padding:7px 10px;border-radius:9px;background:#f1f5f7;color:#667985;font-size:10px;font-weight:800}.payroll-reconciliation-summary span.warning{background:#fffae8;color:#84681d}.payroll-reconciliation-summary span.danger{background:#fff0f0;color:#a14545}.payroll-reconciliation-table-wrap{overflow:auto;border:1px solid #e1e8ed;border-radius:13px}.payroll-reconciliation-table{width:100%;min-width:880px;border-collapse:collapse;text-align:center;font-size:11px}.payroll-reconciliation-table th{height:42px;padding:8px 10px;background:#f3f6f8;color:#526779;font-weight:900;border-bottom:1px solid #dfe7ec;white-space:nowrap}.payroll-reconciliation-table td{height:46px;padding:8px 10px;color:#516272;border-bottom:1px solid #edf1f3;vertical-align:middle}.payroll-reconciliation-table tr:last-child td{border-bottom:0}.payroll-reconciliation-table tr.is-warning td{background:#fffdf4}.payroll-reconciliation-table tr.is-warning td:first-child{box-shadow:inset -3px 0 #e1b94f}.payroll-reconciliation-table tr.is-danger td{background:#fff7f7}.payroll-reconciliation-table tr.is-danger td:first-child{box-shadow:inset -3px 0 #cf6363}.payroll-reconciliation-table td strong{color:#3d5261}.payroll-reconciliation-table tr.is-danger td strong{color:#a13f3f}.payroll-reconciliation-table small{font-size:9px;color:#8795a0}.payroll-reconciliation-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #bfd5cf;border-radius:14px;background:#f5fbf9;color:#4d726a;text-align:center}.payroll-reconciliation-empty .ui-icon{width:30px;height:30px}.payroll-reconciliation-empty strong{font-size:14px}.payroll-reconciliation-empty span{font-size:10.5px;color:#7d918c}@media(max-width:720px){.payroll-reconciliation-modal{padding:12px}.payroll-reconciliation-dialog{width:100%;max-height:92vh;border-radius:14px}.payroll-reconciliation-head{padding:16px}.payroll-reconciliation-body{padding:12px}.payroll-reconciliation-btn{width:100%}}

/* =========================================================
   v7.1.64 — Canonical management typography standard
   Applies to every admin menu/page. Layout, spacing and geometry are intentionally untouched.
   Scale: page title 25 / card title 16 / section title 14 / body 12.5 / helper 11.5.
   Weights: page+card 900 / section 800 / body 500-600 / helper 500.
   ========================================================= */
:root{
  --mgmt-type-page-title:25px;
  --mgmt-type-card-title:16px;
  --mgmt-type-section-title:14px;
  --mgmt-type-body:12.5px;
  --mgmt-type-helper:11.5px;
  --mgmt-type-kicker:12px;
  --mgmt-weight-page:900;
  --mgmt-weight-card:900;
  --mgmt-weight-section:800;
  --mgmt-weight-body:500;
  --mgmt-weight-strong:600;
  --mgmt-weight-control:800;
}

/* Default text contract for the management workspace only. */
.v20-admin .v20-content{
  font-size:var(--mgmt-type-body);
  font-weight:var(--mgmt-weight-body);
}
.v20-admin .v20-main input,
.v20-admin .v20-main select,
.v20-admin .v20-main textarea{
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-body)!important;
}

/* Page titles: all top-level menu pages and their create/detail/settings pages. */
.v20-admin .v20-main h1,
.v20-admin .v20-main .v20-welcome-row h1,
.v20-admin .v20-main .hr-module-copy>h2,
.v20-admin .v20-main .management-hero-copy>h2,
.v20-admin .v20-main .hr-review-hero h2,
.v20-admin .v20-main .form-command-header h2,
.v20-admin .v20-main .contract-form-hero h2,
.v20-admin .v20-main .hr-form-hero h2,
.v20-admin .v20-main .form-hero h2,
.v20-admin .v20-main .site-settings-hero h2,
.v20-admin .v20-main .v38-person-identity h2,
.v20-admin .v20-main .contract-detail-title-v7044 h2,
.v20-admin .v20-main .letter-detail-title-row h2{
  font-size:var(--mgmt-type-page-title)!important;
  font-weight:var(--mgmt-weight-page)!important;
}

/* Default card and panel titles. Page-title H2 selectors above intentionally override this. */
.v20-admin .v20-main h2{
  font-size:var(--mgmt-type-card-title)!important;
  font-weight:var(--mgmt-weight-card)!important;
}
.v20-admin .v20-main h3,
.v20-admin .v20-main h4{
  font-size:var(--mgmt-type-section-title)!important;
  font-weight:var(--mgmt-weight-section)!important;
}

/* Eyebrows / kickers / compact section labels. */
.v20-admin .v20-main :is(
  .v20-welcome-kicker,
  .hr-module-kicker,
  .management-kicker,
  .workspace-kicker,
  .hr-review-kicker,
  .hr-section-label,
  .v71-admin-eyebrow,
  .v711-eyebrow,
  .v709-sms-kicker,
  .v77-lookup-eyebrow,
  .v77-panel-kicker,
  .v76-group-kicker,
  .v62-section-kicker
){
  font-size:var(--mgmt-type-kicker)!important;
  font-weight:var(--mgmt-weight-card)!important;
}

/* Primary descriptive copy and ordinary data labels. */
.v20-admin .v20-main :is(
  .v20-welcome-row p,
  .hr-module-copy>p,
  .management-hero-copy>p,
  .hr-review-hero p,
  .v20-module-banner-copy>p,
  .form-command-header p,
  .contract-form-hero p,
  .hr-form-hero p,
  .form-hero p,
  .payroll-page-head p,
  .payroll-settings-hero p,
  .site-settings-hero p,
  .v71-admin-hero-copy p,
  .v711-hero-copy p,
  .v709-sms-hero-copy p,
  .v77-lookup-hero p,
  .v76-settings-hero p,
  .v77-panel-head p,
  .hr-workspace-head p,
  .v38-section-heading p,
  .contract-card-head-v7044 p,
  .letter-card-head-v7042 p
){
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-body)!important;
}

/* Form labels and standard body values. */
.v20-admin .v20-main :is(
  .field-box label,
  .form-field label,
  .v709-field label,
  .payroll-field label,
  .payroll-schema-form-grid label,
  .filter-label
){
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-control)!important;
}
.v20-admin .v20-main :is(
  .field-box dd,
  .form-field dd,
  .detail-card dd,
  .v38-info-grid dd,
  .contract-detail-facts-v7044 b,
  .letter-detail-facts-v7042 b
){
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-strong)!important;
}

/* Helper, hint and secondary copy. */
.v20-admin .v20-main :is(
  .field-help,
  .field-box>small,
  .form-field>small,
  .v709-field-help,
  .v62-field-hint,
  .payroll-file-help,
  .payroll-schema-form-grid .field-box>small,
  .payroll-schema-lock,
  .payroll-schema-title small,
  .v38-info-grid dt,
  .v38-bank-card dt,
  .v38-doc-item small,
  .contract-detail-facts-v7044 span,
  .contract-timeline-v7044 span,
  .letter-detail-facts-v7042 span,
  .v71-card-heading p,
  .v709-sms-card-head p,
  .site-settings-section-head p,
  .payroll-settings-card-head p,
  .payroll-settings-section-copy small,
  .payroll-schema-entry-intro span,
  .payroll-schema-entry-footer-copy span
){
  font-size:var(--mgmt-type-helper)!important;
  font-weight:var(--mgmt-weight-body)!important;
}

/* Shared tables — all management tables use one textual scale. */
.v20-admin .v20-main :is(.data-table,.v77-table,.payroll-reconciliation-table) th{
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-control)!important;
}
.v20-admin .v20-main :is(.data-table,.v77-table,.payroll-reconciliation-table) td{
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-body)!important;
}
.v20-admin .v20-main .hr-admin-table-standard,
.v20-admin .v20-main .payroll-management-table{
  --hr-admin-table-font-size:var(--mgmt-type-body)!important;
}

/* Buttons and table actions — one size/weight, geometry untouched. */
.v20-admin .v20-main :is(
  .primary-btn,.ghost-btn,.warning-btn,.danger-btn,.success-btn,
  .hr-primary-action,.filter-submit-btn,.filter-reset,.hr-submit-btn,
  .management-submit-btn,.registration-submit,.contract-submit-btn,
  .membership-main-action,.membership-secondary-action,.request-main-action,
  .hr-request-save-btn,.hr-review-back,.portal-preview-return,
  .hr-table-action,.action-chip,.letter-view-btn,.letter-edit-btn,.letter-file-btn,.letter-archive-btn,
  .v71-btn,.v711-btn,.v77-btn,.v77-action,.v709-sms-submit,.v709-sms-secondary,
  .payroll-row-action,.payroll-allow-btn,.payroll-deny-btn,.payroll-danger-btn,
  .payroll-reconciliation-btn,.payroll-sample-download-btn,.payroll-label-reset,
  .payroll-schema-order button,.payroll-settings-section-open
){
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-control)!important;
}

/* Pills, badges and counters keep a compact but consistent helper scale. */
.v20-admin .v20-main :is(
  .status-pill,.v20-status,.v77-status,.v62-status-pill,
  .payroll-status,.payroll-schema-group,.v71-summary-label,
  .v20-soft-label,.form-required-note,.hr-record-count,
  .payroll-period-result-count,.v77-visible-count
){
  font-size:var(--mgmt-type-helper)!important;
  font-weight:var(--mgmt-weight-control)!important;
}

/* Dashboard/card titles and common content labels. */
.v20-admin .v20-main :is(
  .v20-card-head h2,
  .hr-workspace-head h3,
  .payroll-card-heading h2,
  .payroll-settings-card-head h2,
  .v71-card-heading h2,
  .v77-panel-head h2,
  .v709-sms-card-head h2
){
  font-size:var(--mgmt-type-card-title)!important;
  font-weight:var(--mgmt-weight-card)!important;
}
.v20-admin .v20-main :is(
  .section-side h3,
  .contract-panel-head h3,
  .letter-panel-head h3,
  .company-panel-head h3,
  .site-settings-section-head h3,
  .payroll-side-card h3,
  .payroll-settings-rule-card h3,
  .v62-announcement-title-row h3,
  .v77-empty-state strong
){
  font-size:var(--mgmt-type-section-title)!important;
  font-weight:var(--mgmt-weight-section)!important;
}

/* Standard form/control text should never fall back to the browser's 16px default. */
.v20-admin .v20-main :is(
  .smart-filter input,.smart-filter select,
  .hr-filter-bar input,.hr-filter-bar select,
  .contract-filter input,.contract-filter select,
  .correspondence-filter input,.correspondence-filter select,
  .membership-filter input,.membership-filter select,
  .requests-filter input,.requests-filter select,
  .v77-search-box input,
  .payroll-schema-form-grid input,.payroll-schema-form-grid select,.payroll-schema-form-grid textarea
){
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-body)!important;
}

/* Responsive typography keeps the hierarchy but does not alter any layout rule. */
@media(max-width:620px){
  .v20-admin .v20-main h1,
  .v20-admin .v20-main .v20-welcome-row h1,
  .v20-admin .v20-main .hr-module-copy>h2,
  .v20-admin .v20-main .management-hero-copy>h2,
  .v20-admin .v20-main .hr-review-hero h2,
  .v20-admin .v20-main .form-command-header h2,
  .v20-admin .v20-main .contract-form-hero h2,
  .v20-admin .v20-main .hr-form-hero h2,
  .v20-admin .v20-main .form-hero h2,
  .v20-admin .v20-main .site-settings-hero h2,
  .v20-admin .v20-main .v38-person-identity h2,
  .v20-admin .v20-main .contract-detail-title-v7044 h2,
  .v20-admin .v20-main .letter-detail-title-row h2{
    font-size:22px!important;
  }
}

/* Semantic fallbacks make future management pages inherit the same typography automatically. */
.v20-admin .v20-main p{
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-body)!important;
}
.v20-admin .v20-main small{
  font-size:var(--mgmt-type-helper)!important;
  font-weight:var(--mgmt-weight-body)!important;
}
.v20-admin .v20-main label{
  font-size:var(--mgmt-type-body)!important;
}
.v20-admin .v20-main table th{
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-control)!important;
}
.v20-admin .v20-main table td{
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-body)!important;
}
.v20-admin .v20-main dt{
  font-size:var(--mgmt-type-helper)!important;
  font-weight:var(--mgmt-weight-body)!important;
}
.v20-admin .v20-main dd{
  font-size:var(--mgmt-type-body)!important;
  font-weight:var(--mgmt-weight-strong)!important;
}

/* v7.1.66 — Secretariat numbering, direction and permanent number register. */
.secretariat-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.secretariat-hero-actions form{margin:0}
.secretariat-hero-actions .hr-primary-action{margin-top:0}
.secretariat-number-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px}
.secretariat-number-preview{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(180px,1fr) minmax(220px,1.35fr);align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #dfe8f2;border-radius:13px;background:#f8fbff}
.secretariat-number-preview>span{color:#607087;font-weight:800}.secretariat-number-preview>b{direction:ltr;text-align:right;font-size:14px}.secretariat-number-preview>small{color:#6e7c8d;line-height:1.8}
.secretariat-number-preview.is-reserved{border-color:#bfe4cf;background:#f4fbf7}.secretariat-number-preview.is-used{border-color:#d9e0e8;background:#f8f9fb}
.field-help{display:block;margin-top:5px;color:#7a8795}
.source-letter-number{display:block;margin-top:4px;color:#7a8795;font-size:11.5px!important;direction:rtl}
.secretariat-direction-badge,.secretariat-number-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 9px;border-radius:999px;border:1px solid #dfe5eb;background:#f7f9fb;white-space:nowrap;font-weight:800}
.secretariat-direction-badge.direction-incoming{color:#1d6b52;border-color:#bee0d3;background:#f1faf6}.secretariat-direction-badge.direction-outgoing{color:#315f9d;border-color:#c9daf1;background:#f3f7fc}.secretariat-direction-badge.direction-internal{color:#775a24;border-color:#ead9b8;background:#fff9ed}
.secretariat-number-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.secretariat-number-summary{display:grid;grid-template-columns:repeat(3,128px);gap:10px;direction:ltr}
.secretariat-number-summary>div{direction:rtl;min-height:88px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.secretariat-number-summary small{color:#708096}.secretariat-number-summary b{font-size:22px}
.secretariat-number-filter .hr-search-box{min-width:340px;flex:1}.secretariat-number-table th,.secretariat-number-table td{text-align:center!important;vertical-align:middle}.secretariat-number-table .letter-actions{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.secretariat-number-status.status-reserved{color:#8a6500;border-color:#eddcae;background:#fff9e9}.secretariat-number-status.status-used{color:#176847;border-color:#bde2cf;background:#effaf5}.secretariat-number-status.status-cancelled{color:#9a3f45;border-color:#efc8cc;background:#fff4f5}
.secretariat-related-letter{font-weight:800;color:#2f5f9e}.secretariat-cancel-reason{display:block;max-width:320px;margin:auto;white-space:normal;overflow-wrap:anywhere;color:#7b4b4f}.muted-text{color:#9aa5b2}
.secretariat-cancel-form{max-width:760px;margin:18px auto 0;padding:22px}.secretariat-cancel-form .save-bar-actions{margin-top:18px;justify-content:flex-end}.secretariat-cancel-submit{background:#a83f49;border-color:#a83f49}
@media(max-width:900px){.secretariat-number-hero{display:block}.secretariat-number-summary{margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.secretariat-number-preview{grid-template-columns:1fr}}
@media(max-width:620px){.secretariat-number-summary{grid-template-columns:1fr}.secretariat-number-filter .hr-search-box{min-width:100%}}

/* v7.1.67 — Secretariat daily numbering and form alignment refinements. */
.secretariat-issue-form{display:flex;align-items:center;gap:7px;min-width:min(100%,560px)}
.secretariat-issue-label{flex:0 0 auto;color:#6f7e91;font-size:11.5px;font-weight:900;white-space:nowrap}
.secretariat-issue-form input{width:min(270px,42vw);height:39px;margin:0;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#2c3a4f}
.secretariat-number-format-note{margin-top:9px;color:#758398;font-size:11.5px;line-height:1.8}.secretariat-number-format-note b{color:#4a5b72}.secretariat-number-format-note span{display:inline-block;font-weight:900;color:#315f9d}
.secretariat-number-filter{align-items:stretch!important;flex-wrap:nowrap!important}
.secretariat-number-filter .hr-search-box{min-width:0!important;flex:1 1 340px;height:39px;margin:0;position:relative}
.secretariat-number-filter .hr-search-box>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:1;color:#9aa5b5;line-height:1}
.secretariat-number-filter .hr-search-box input{height:39px!important;margin:0!important}
.secretariat-number-filter select{flex:0 0 170px;width:170px;height:39px!important;margin:0!important}
.secretariat-number-filter .filter-submit-btn{flex:0 0 auto;height:39px!important;min-height:39px!important;margin:0!important;white-space:nowrap}
.secretariat-number-filter .hr-filter-reset{flex:0 0 auto;height:39px!important;min-height:39px!important;margin:0!important;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:#68778c;font-weight:800;white-space:nowrap}
.secretariat-reservation-note{display:block;max-width:230px;margin:auto;white-space:normal;overflow-wrap:anywhere;color:#596a80;line-height:1.8}
[data-source-number-field].is-disabled{opacity:.58}
[data-source-number-field].is-disabled input{cursor:not-allowed;background:#f1f4f7!important;color:#8b97a6!important}
@media(max-width:900px){.secretariat-number-filter{flex-wrap:wrap!important}.secretariat-number-filter .hr-search-box{flex:1 1 100%;min-width:100%!important}.secretariat-number-filter select{flex:1 1 180px;width:auto}.secretariat-issue-form{min-width:100%;flex-wrap:wrap}.secretariat-issue-form input{flex:1 1 260px;width:auto}}
@media(max-width:620px){.secretariat-number-filter select,.secretariat-number-filter .filter-submit-btn,.secretariat-number-filter .hr-filter-reset{width:100%;flex:1 1 100%}.secretariat-issue-label{width:100%}.secretariat-issue-form input,.secretariat-issue-form .hr-primary-action{width:100%;flex:1 1 100%}}

/* v7.1.68 — Secretariat modal reservation note and balanced correspondence register. */
.site-ui-dialog-field{margin-top:13px;display:grid;gap:6px}
.site-ui-dialog-field[hidden]{display:none!important}
.site-ui-dialog-field label{color:#56677d;font-size:11.5px;font-weight:900}
.site-ui-dialog-field input{width:100%;height:41px;margin:0;padding:0 11px;border:1px solid #dbe3eb;border-radius:10px;background:#fff;color:#2d3e54;font:800 12px/1 Vazir,Tahoma,Arial,sans-serif;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.site-ui-dialog-field input:focus{border-color:color-mix(in srgb,var(--site-accent,#2870c7) 60%,#dbe3eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-accent,#2870c7) 10%,transparent)}
.site-ui-dialog-field>small{margin:0!important;color:#b64b55!important;font-size:11px!important;font-weight:800!important;line-height:1.7!important}
.site-dialog-dark .site-ui-dialog-field label{color:#d5deea}.site-dialog-dark .site-ui-dialog-field input{border-color:rgb(255 255 255 / 14%);background:rgb(255 255 255 / 7%);color:#f5f8fb}

/* The number is collected in the dialog; keep only the launch action in the hero. */
.secretariat-issue-form{min-width:0!important}
.secretariat-issue-form>input[type="hidden"]{display:none!important}

/* Correspondence register: all content centered, dates stay on one line, and every column has an explicit balanced width. */
.correspondence-table{min-width:1310px!important;table-layout:fixed!important}
.correspondence-table th,.correspondence-table td{text-align:center!important;vertical-align:middle!important}
.correspondence-table th:nth-child(1){width:62px!important}
.correspondence-table th:nth-child(2){width:145px!important}
.correspondence-table th:nth-child(3){width:108px!important}
.correspondence-table th:nth-child(4){width:95px!important}
.correspondence-table th:nth-child(5){width:185px!important}
.correspondence-table th:nth-child(6){width:165px!important}
.correspondence-table th:nth-child(7){width:190px!important}
.correspondence-table th:nth-child(8){width:105px!important}
.correspondence-table th:nth-child(9){width:105px!important}
.correspondence-table th:nth-child(10){width:170px!important}
.correspondence-table .letter-number-cell,
.correspondence-table .letter-subject-cell,
.correspondence-table .letter-recipient-cell,
.correspondence-table .letter-register-cell,
.correspondence-table .letter-actions{align-items:center!important;justify-content:center!important;text-align:center!important}
.correspondence-table .letter-register-cell{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:6px!important;white-space:nowrap!important}
.correspondence-table .letter-register-cell b,
.correspondence-table .letter-register-cell small{display:inline-block!important;max-width:none!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;line-height:1.5!important}
.correspondence-table .letter-register-divider{display:inline-block;color:#b1bac6;font-size:11px;line-height:1}
.correspondence-table .letter-actions{flex-wrap:nowrap!important;white-space:nowrap!important}
@media(max-width:680px){.correspondence-table{min-width:1310px!important}}

/* =========================================================
   v7.1.72 — Canonical Employee Portal typography standard
   Scope: all pages rendered through core/portal/base.html.
   Layout/spacing/geometry are intentionally unchanged.
   Scale: page 24 / card 16 / section 14 / body 13 / label 12.5 / helper 11.5 / kicker 12 / button 13.
   ========================================================= */
:root{
  --portal-type-page-title:24px;
  --portal-type-card-title:16px;
  --portal-type-section-title:14px;
  --portal-type-body:13px;
  --portal-type-label:12.5px;
  --portal-type-helper:11.5px;
  --portal-type-kicker:12px;
  --portal-type-button:13px;
  --portal-weight-page:900;
  --portal-weight-card:900;
  --portal-weight-section:800;
  --portal-weight-body:500;
  --portal-weight-strong:700;
  --portal-weight-control:800;
  --portal-line-body:1.8;
}

/* Portal-wide text contract. */
.v46-portal-body .v46-portal-content{
  font-size:var(--portal-type-body);
  font-weight:var(--portal-weight-body);
  line-height:var(--portal-line-body);
}
.v46-portal-body .v46-portal-content h1{
  font-size:var(--portal-type-page-title)!important;
  font-weight:var(--portal-weight-page)!important;
}
.v46-portal-body .v46-portal-content h2{
  font-size:var(--portal-type-card-title)!important;
  font-weight:var(--portal-weight-card)!important;
}
.v46-portal-body .v46-portal-content h3,
.v46-portal-body .v46-portal-content h4{
  font-size:var(--portal-type-section-title)!important;
  font-weight:var(--portal-weight-section)!important;
}
.v46-portal-body .v46-portal-content p,
.v46-portal-body .v46-portal-content dd,
.v46-portal-body .v46-portal-content li{
  font-size:var(--portal-type-body)!important;
  line-height:var(--portal-line-body)!important;
}

/* Kicker / eyebrow labels used by all four current portal menus. */
.v46-portal-body .v46-portal-content :is(
  .v46-portal-hero>div:first-child>span,
  .v46-section-heading>div>span,
  .portal-panel-head>div>small,
  .portal-payslip-list-head small
){
  font-size:var(--portal-type-kicker)!important;
  font-weight:900!important;
}

/* Form labels and controls: readable end-user scale. */
.v46-portal-body .v46-portal-content :is(.form-field label,.field-box label){
  font-size:var(--portal-type-label)!important;
  font-weight:var(--portal-weight-control)!important;
}
.v46-portal-body .v46-portal-content :is(input,select,textarea){
  font-size:var(--portal-type-body)!important;
  font-weight:var(--portal-weight-body)!important;
}
.v46-portal-body .v46-portal-content :is(.field-error,.field-help,.form-field>small,.field-box>small){
  font-size:var(--portal-type-helper)!important;
  line-height:1.7!important;
}

/* Profile / identity values. */
.v46-portal-body .v46-portal-content .v41-info-grid dt{
  font-size:var(--portal-type-helper)!important;
  font-weight:var(--portal-weight-body)!important;
}
.v46-portal-body .v46-portal-content .v41-info-grid dd{
  font-size:var(--portal-type-body)!important;
  font-weight:var(--portal-weight-strong)!important;
}
.v46-portal-body .v46-portal-content :is(
  .v41-portal-info-card header b,
  .v41-portal-doc-head b,
  .v46-action-alert-head b,
  .v46-quick-card b,
  .v46-request-details b
){
  font-size:var(--portal-type-section-title)!important;
  font-weight:var(--portal-weight-section)!important;
}
.v46-portal-body .v46-portal-content :is(
  .v41-portal-info-card header small,
  .v41-portal-doc-head small,
  .v41-document-review-note,
  .v41-waiting-hint,
  .v41-approved-hint,
  .v46-action-alert-head small,
  .v46-action-document-list small,
  .v46-request-meta small,
  .v46-announcement-date small,
  .v46-announcement-list article>div:last-child>small,
  .v46-summary-card small,
  .v46-quick-card>small
){
  font-size:var(--portal-type-helper)!important;
  line-height:1.7!important;
}

/* Requests + payslip archive data use one readable table/list scale. */
.v46-portal-body .v46-portal-content .v46-request-main h3,
.v46-portal-body .v46-portal-content .portal-payslip-period b{
  font-size:var(--portal-type-body)!important;
  font-weight:var(--portal-weight-strong)!important;
}
.v46-portal-body .v46-portal-content .v46-request-main p,
.v46-portal-body .v46-portal-content .v46-request-meta b,
.v46-portal-body .v46-portal-content .portal-payslip-table-head,
.v46-portal-body .v46-portal-content .portal-payslip-row>strong,
.v46-portal-body .v46-portal-content .portal-payslip-row>.portal-payslip-net{
  font-size:var(--portal-type-label)!important;
}
.v46-portal-body .v46-portal-content .portal-payslip-period small,
.v46-portal-body .v46-portal-content .portal-payslip-row>strong small,
.v46-portal-body .v46-portal-content .portal-payslip-row>*:before{
  font-size:var(--portal-type-helper)!important;
}

/* Badges and statuses remain compact but never drop below the helper scale. */
.v46-portal-body .v46-portal-content :is(
  .request-status,
  .request-status-badge,
  .verified-chip,
  .v41-doc-status,
  .v719-readonly-chip
){
  font-size:var(--portal-type-helper)!important;
  font-weight:var(--portal-weight-control)!important;
}

/* All end-user actions share a consistent text scale; component geometry is preserved. */
.v46-portal-body .v46-portal-content :is(
  button,
  .v46-primary-action,
  .v46-secondary-action,
  .v46-summary-card>a,
  .v46-quick-card>a,
  .v46-action-document-list a,
  .v41-document-status-row a,
  .v41-resubmit-form button,
  .v46-portal-empty a,
  .portal-payslip-action a,
  .portal-payslip-back,
  .portal-payroll-download
){
  font-size:var(--portal-type-button)!important;
  font-weight:var(--portal-weight-control)!important;
}

/* Navigation chrome: same typography across Dashboard/Profile/Requests/Payslips. */
.v46-portal-body .v46-portal-menu a b,
.v46-portal-body .v46-preview-menu-item b{
  font-size:13px!important;
  font-weight:850!important;
}
.v46-portal-body .v46-portal-topbar-title strong{font-size:16px!important;font-weight:900!important}
.v46-portal-body .v46-portal-topbar-title small,
.v46-portal-body .v46-portal-user-card small,
.v46-portal-body .v47-portal-top-account .v46-portal-topbar-user small{font-size:var(--portal-type-helper)!important}

/* Employee portal interaction contract: hover may recolor/shadow but must not move. */
.v46-portal-body :is(a,button,[role="button"]):hover{
  transform:none!important;
}

@media(max-width:620px){
  .v46-portal-body .v46-portal-content h1{font-size:21px!important}
}


/* v7.1.73 — Employee Portal dashboard information hierarchy */
.v7173-dashboard-announcements{margin-top:14px;width:100%}
.v7173-dashboard-action-card{min-height:188px}
.v7173-latest-request{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:9px;border-top:1px solid #edf1f4}
.v7173-latest-request>span{color:#8c98a7;font-size:11.5px;font-weight:800}
.v7173-account-status{margin-top:auto;padding-top:11px;color:#316ed3;font-size:13px;font-weight:800}


/* v7.1.74 — Read-only personnel account card. */
.account-card-page{display:grid;gap:18px}
.account-card-hero{margin-bottom:0}
.account-card-search-card,.account-card-identity-card,.account-card-details-card,.account-card-history-card,.account-card-empty{background:#fff;border:1px solid #e7e7f0;border-radius:18px;box-shadow:0 10px 28px rgba(30,23,70,.05)}
.account-card-search-card,.account-card-details-card,.account-card-history-card{padding:20px}
.account-card-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.account-card-section-head small{display:block;color:#746b90;font-size:11.5px;font-weight:800;margin-bottom:3px}
.account-card-section-head h2{margin:0;color:#241c3f;font-size:16px;font-weight:900}
.account-card-section-head p{margin:4px 0 0;color:#817a92;font-size:12.5px}
.account-card-section-head>span{min-width:82px;text-align:center;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);padding:7px 12px;font-size:11.5px;font-weight:900}
.account-card-search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:start;gap:10px;margin-bottom:16px}
.account-card-search-field{position:relative;min-width:0}.account-card-search-input{height:42px;border:1px solid #dcd8e8;border-radius:11px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px}
.account-card-search-input svg{width:18px;height:18px;color:#756b93;flex:0 0 auto}
.account-card-search-input input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:12.5px;color:#2d2840}
.account-card-search-row .primary-btn,.account-card-search-row .ghost-btn{height:42px;min-width:88px;display:inline-flex;align-items:center;justify-content:center;margin:0}.account-card-suggestions{position:absolute;z-index:40;top:48px;right:0;left:0;max-height:330px;overflow:auto;padding:6px;background:#fff;border:1px solid #ddd7ea;border-radius:12px;box-shadow:0 16px 34px rgba(38,29,67,.14)}.account-card-suggestions[hidden]{display:none}.account-card-suggestion-item{width:100%;border:0;background:#fff;border-radius:9px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:right;cursor:pointer;font:inherit;color:#342d47}.account-card-suggestion-item:hover,.account-card-suggestion-item:focus{background:#f7f4fc;outline:0}.account-card-suggestion-main{display:grid;gap:3px;min-width:0}.account-card-suggestion-main strong{font-size:12.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-card-suggestion-main small,.account-card-suggestion-meta{font-size:11.5px;color:#81798f}.account-card-suggestion-meta{flex:0 0 auto;max-width:38%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-card-people-table th,.account-card-people-table td,.account-card-history-table th,.account-card-history-table td{text-align:center!important;vertical-align:middle!important}.account-card-people-table td>*:not(.hr-table-action),.account-card-history-table td>*:not(.hr-table-action){margin-left:auto;margin-right:auto}.account-card-people-table .hr-table-action,.account-card-history-table .hr-table-action{display:inline-flex}
.account-card-people-table th:nth-child(1){width:56px}.account-card-people-table th:nth-child(2){width:105px}.account-card-people-table th:nth-child(4){width:112px}.account-card-people-table th:nth-child(6){width:84px}.account-card-people-table th:nth-child(7){width:84px}.account-card-people-table th:nth-child(8){width:96px}
.account-card-people-table tr.is-selected td{background:#faf8ff}
.account-card-avatar-cell img,.account-card-avatar-placeholder{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;object-fit:cover;border:1px solid #e4dff0;background:#f5f1ff;color:var(--accent-dark);font-size:12px;font-weight:900}
.account-card-state,.account-card-period-status{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:5px 9px;border-radius:999px;font-size:11.5px;font-weight:800;white-space:nowrap}
.account-card-state.active,.account-card-period-status.status-published{background:#ecfdf3;color:#167443;border:1px solid #c8f0da}
.account-card-state.inactive,.account-card-period-status.status-suspended{background:#fff1f2;color:#b42337;border:1px solid #ffd5db}
.account-card-period-status.status-draft{background:#fff8e7;color:#946200;border:1px solid #f7df9c}
.account-card-identity-card{padding:20px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:22px;align-items:center}
.account-card-profile{display:flex;align-items:center;gap:16px;min-width:0}
.account-card-profile-photo{width:86px;height:102px;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#f6f2ff,#ece6fb);border:1px solid #e0d9ef;display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--accent-dark);font-size:22px;font-weight:900}
.account-card-profile-photo img{width:100%;height:100%;object-fit:cover}
.account-card-profile-main{min-width:0}.account-card-profile-main>small{color:#756b90;font-size:11.5px;font-weight:800}.account-card-profile-main h2{font-size:20px;font-weight:900;color:#231d35;margin:4px 0 10px}
.account-card-profile-tags{display:flex;flex-wrap:wrap;gap:7px}.account-card-profile-tags span{background:#f7f5fb;border:1px solid #e8e3f0;border-radius:9px;padding:6px 9px;color:#625b73;font-size:11.5px}.account-card-profile-tags b{color:#31294b}
.account-card-profile-meta{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.account-card-profile-meta div{border:1px solid #ece8f2;background:#fbfaff;border-radius:11px;padding:10px 12px}.account-card-profile-meta dt{font-size:11.5px;color:#847d94;margin-bottom:4px}.account-card-profile-meta dd{margin:0;color:#332b48;font-size:12.5px;font-weight:800}
.account-card-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.account-card-summary-grid article{background:#fff;border:1px solid #e6e1ee;border-radius:16px;padding:17px;text-align:center;box-shadow:0 7px 22px rgba(37,28,74,.04)}.account-card-summary-grid small{display:block;color:#7f778f;font-size:11.5px;font-weight:800;margin-bottom:8px}.account-card-summary-grid strong{display:block;color:#2c2441;font-size:19px;font-weight:900;direction:ltr}.account-card-summary-grid span{display:block;margin-top:4px;color:#91899e;font-size:11.5px}
.account-card-history-table th:nth-child(1){width:58px}.account-card-history-table th:nth-child(2){width:132px}.account-card-history-table th:nth-child(3){width:105px}.account-card-history-table th:nth-child(7){width:110px}.account-card-history-table th:nth-child(8){width:96px}
.account-card-history-table small{font-size:10.5px;color:#8c849a}.account-card-empty{padding:34px;text-align:center;display:grid;gap:7px}.account-card-empty strong{font-size:15px;color:#342c47}.account-card-empty span{font-size:12.5px;color:#81798d}.account-card-empty-inline{padding:24px;color:#81798d;font-size:12.5px}.account-card-select-empty{margin-top:0}
.account-card-slip-head{margin-bottom:18px}.account-card-slip-modal{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px}.account-card-slip-modal[hidden]{display:none}.account-card-slip-modal-backdrop{position:absolute;inset:0;background:rgba(25,20,38,.62);backdrop-filter:blur(2px)}.account-card-slip-modal-dialog{position:relative;z-index:1;width:min(900px,calc(100vw - 48px));max-height:92vh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#f7f7fb;border:1px solid rgba(255,255,255,.48);border-radius:18px;box-shadow:0 28px 70px rgba(18,13,31,.28)}.account-card-slip-modal-dialog>header{min-height:60px;padding:10px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid #e6e2ed}.account-card-slip-modal-dialog>header small{display:block;color:#81798f;font-size:11.5px;font-weight:800}.account-card-slip-modal-dialog>header h2{margin:2px 0 0;color:#2f2842;font-size:16px;font-weight:900}.account-card-slip-modal-close{width:38px;height:38px;border:1px solid #dfdae8;border-radius:10px;background:#fff;color:#514966;font-size:23px;line-height:1;cursor:pointer}.account-card-slip-modal-close:hover{background:#f5f2f9}.account-card-slip-modal-body{overflow:auto;padding:18px}.account-card-slip-modal-body .payroll-admin-preview{max-width:820px}.account-card-slip-modal-body .payroll-slip-card.payroll-slip-a5{width:min(100%,780px);margin:auto}.account-card-slip-loading{min-height:240px;display:flex;align-items:center;justify-content:center;color:#746d82;font-size:13px;font-weight:800}.account-card-modal-open{overflow:hidden}
@media(max-width:980px){.account-card-identity-card{grid-template-columns:1fr}.account-card-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.account-card-search-row{grid-template-columns:1fr 1fr}.account-card-search-field{grid-column:1/-1}.account-card-search-input{grid-column:auto}.account-card-people-wrap{overflow-x:auto}.account-card-people-table{min-width:920px}.account-card-history-table{min-width:850px}.account-card-profile-meta{grid-template-columns:1fr}.account-card-profile{align-items:flex-start}.account-card-section-head{align-items:flex-start}}
@media(max-width:520px){.account-card-slip-modal{padding:10px}.account-card-slip-modal-dialog{width:calc(100vw - 20px);max-height:95vh;border-radius:13px}.account-card-slip-modal-body{padding:10px}.account-card-summary-grid{grid-template-columns:1fr}.account-card-search-card,.account-card-details-card,.account-card-history-card,.account-card-identity-card{padding:15px}.account-card-search-row{grid-template-columns:1fr}.account-card-search-input{grid-column:auto}.account-card-search-row .primary-btn,.account-card-search-row .ghost-btn{width:100%}.account-card-profile-photo{width:72px;height:88px}.account-card-profile-main h2{font-size:18px}}


/* v7.1.75 — Search-first personnel account card and complete selected-employee details. */
.account-card-search-empty{border:1px dashed #ded8ea;border-radius:12px;background:#fbfaff;text-align:center;margin-top:2px}
.account-card-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.account-card-details-grid>article{border:1px solid #ece8f2;background:#fbfaff;border-radius:14px;padding:14px;min-width:0}
.account-card-details-grid h3{margin:0 0 11px;color:#2f2842;font-size:14px;font-weight:900}
.account-card-details-grid dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.account-card-details-grid dl>div{background:#fff;border:1px solid #eeeaf4;border-radius:10px;padding:9px 10px;min-width:0}
.account-card-details-grid dl>div.wide{grid-column:1/-1}
.account-card-details-grid dt{font-size:11.5px;color:#877f96;margin-bottom:4px}
.account-card-details-grid dd{margin:0;color:#342d47;font-size:12.5px;font-weight:800;overflow-wrap:anywhere}
@media(max-width:1100px){.account-card-details-grid{grid-template-columns:1fr 1fr}.account-card-details-grid>article:last-child{grid-column:1/-1}}
@media(max-width:700px){.account-card-details-grid{grid-template-columns:1fr}.account-card-details-grid>article:last-child{grid-column:auto}}
@media(max-width:520px){.account-card-details-grid dl{grid-template-columns:1fr}.account-card-details-grid dl>div.wide{grid-column:auto}}

/* v7.1.77 — Account-card direct autocomplete selection, balanced payroll history and payslip zoom toolbar. */
.account-card-history-table{width:100%;min-width:940px;table-layout:fixed}
.account-card-history-table th,.account-card-history-table td{padding-left:8px!important;padding-right:8px!important;white-space:nowrap}
.account-card-history-table th:nth-child(1){width:6%}
.account-card-history-table th:nth-child(2){width:12%}
.account-card-history-table th:nth-child(3){width:12%}
.account-card-history-table th:nth-child(4){width:17%}
.account-card-history-table th:nth-child(5){width:14%}
.account-card-history-table th:nth-child(6){width:17%}
.account-card-history-table th:nth-child(7){width:13%}
.account-card-history-table th:nth-child(8){width:9%}
.account-card-slip-modal-dialog>header{position:relative;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(42px,1fr);align-items:center}
.account-card-slip-modal-heading{min-width:0;justify-self:start}
.account-card-slip-modal-tools{display:inline-flex;align-items:center;justify-content:center;gap:5px;justify-self:center;direction:ltr}
.account-card-slip-tool{width:36px;height:36px;border:1px solid #dfdae8;border-radius:9px;background:#fff;color:#514966;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:800 11px/1 Vazir,Tahoma,sans-serif;transition:background .16s ease,border-color .16s ease,color .16s ease}
.account-card-slip-tool svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-card-slip-tool:hover:not(:disabled){background:#f5f2f9;border-color:#cfc7dc;color:var(--accent-dark)}
.account-card-slip-tool:disabled{opacity:.38;cursor:default}
.account-card-slip-zoom-value{width:52px;font-variant-numeric:tabular-nums}
.account-card-slip-modal-close{justify-self:end}
.account-card-slip-modal-body .account-card-slip-fragment{width:max-content;min-width:100%;margin:auto;display:flex;justify-content:center}
.account-card-slip-modal-body .payroll-admin-preview{width:max-content;max-width:none!important;margin:auto}
.account-card-slip-modal-body .payroll-slip-card.payroll-slip-a5{max-width:none!important;flex:0 0 auto}
@media(max-width:700px){.account-card-slip-modal-dialog>header{grid-template-columns:minmax(0,1fr) auto}.account-card-slip-modal-heading{display:none}.account-card-slip-modal-tools{justify-self:start}.account-card-slip-modal-close{justify-self:end}}
@media(max-width:520px){.account-card-slip-modal-tools{gap:3px}.account-card-slip-tool{width:32px;height:32px}.account-card-slip-zoom-value{width:46px;font-size:10px}}


/* v7.1.78 — Account-card entry identity and 100% default payslip viewer. */
.account-card-search-card{position:relative;border-color:#ded8eb;background:linear-gradient(180deg,#fff 0%,#fdfcff 100%);box-shadow:0 14px 34px rgba(45,34,81,.065)}
.account-card-search-head{margin-bottom:14px}
.account-card-search-heading{display:flex;align-items:center;gap:12px;min-width:0}
.account-card-search-symbol{width:44px;height:44px;flex:0 0 auto;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--accent-soft),#fff);border:1px solid #ddd5ed;color:var(--accent-dark)}
.account-card-search-symbol svg{width:22px;height:22px}
.account-card-search-heading>div{min-width:0}.account-card-search-heading p{margin:4px 0 0;color:#817a92;font-size:12.5px;line-height:1.75}
.account-card-search-row{padding:12px;border:1px solid #e7e2ef;border-radius:14px;background:#fbfaff;margin-bottom:14px}
.account-card-search-input{background:#fff;border-color:#d8d1e4;box-shadow:0 3px 10px rgba(47,38,75,.025)}
.account-card-start-state{min-height:180px;border:1px dashed #d9d1e7;border-radius:15px;background:linear-gradient(145deg,#fbf9ff,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 20px;gap:7px}
.account-card-start-icon{width:58px;height:58px;border-radius:17px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);border:1px solid #ddd4ee;color:var(--accent-dark);margin-bottom:3px}
.account-card-start-icon svg{width:28px;height:28px}
.account-card-start-state>strong{color:#302845;font-size:15px;font-weight:900}
.account-card-start-state>span:not(.account-card-start-icon){max-width:590px;color:#81798f;font-size:12.5px;line-height:1.8}
.account-card-search-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:8px}
.account-card-search-hints span{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #e7e1ef;color:#716a80;font-size:11.5px;font-weight:800}
@media(max-width:700px){.account-card-search-heading{align-items:flex-start}.account-card-search-symbol{width:40px;height:40px}.account-card-start-state{min-height:160px;padding:22px 14px}}
@media(max-width:520px){.account-card-search-row{padding:10px}.account-card-search-head{gap:10px}.account-card-search-heading p{font-size:11.5px}.account-card-search-hints{gap:5px}.account-card-search-hints span{padding:5px 8px}}

/* v7.1.79 — Account-card selected-name sync and 10-row payroll-history pagination. */

/* v7.1.80 — Canonical Roshan HR table pagination standard (10/20 rows). */
.hr-table-pagination-footer{margin-top:14px;padding-top:12px;border-top:1px solid #edf0f4;display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;gap:14px;color:#748094;font-size:11.5px;font-weight:800}
.hr-table-pagination-summary{grid-column:1;justify-self:start;white-space:nowrap}
.hr-table-pagination-nav{grid-column:2}
.hr-table-page-size{grid-column:3}
.hr-table-pagination-nav{display:flex;align-items:center;justify-content:center;gap:7px;justify-self:center;direction:rtl}
.hr-table-pagination-nav-placeholder{min-width:1px;min-height:1px;pointer-events:none}
.hr-table-pagination-pages{display:flex;align-items:center;justify-content:center;gap:5px}
.hr-table-pagination-nav a,.hr-table-pagination-nav span{height:34px;min-width:34px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce3eb;border-radius:9px;background:#fff;color:var(--accent-dark);font-size:11.5px;font-weight:900;text-decoration:none;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.hr-table-pagination-nav a:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 32%,#dce3eb);color:var(--accent-dark);box-shadow:0 4px 10px color-mix(in srgb,var(--accent) 7%,transparent);transform:none}
.hr-table-pagination-nav .is-current{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-color:var(--accent);box-shadow:0 5px 12px color-mix(in srgb,var(--accent) 16%,transparent)}
.hr-table-pagination-nav .is-disabled{color:#a7afba;background:#f7f8fa;border-color:#e7ebef;cursor:default;box-shadow:none}
.hr-table-pagination-edge{min-width:58px!important;padding:0 11px!important}
.hr-table-pagination-ellipsis{min-width:22px!important;padding:0!important;border-color:transparent!important;background:transparent!important;color:#9aa3af!important;box-shadow:none!important}
.hr-table-page-size{justify-self:end;display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
.hr-table-page-size label{margin:0;color:#748094;font-size:11.5px;font-weight:800}
.hr-table-page-size select{width:72px;height:34px;padding:0 9px;border:1px solid #dce3eb;border-radius:9px;background:#fff;color:#40516a;font-family:Vazir,Tahoma,sans-serif;font-size:11.5px;font-weight:800;outline:0;cursor:pointer}
.hr-table-page-size select:focus{border-color:color-mix(in srgb,var(--accent) 45%,#dce3eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
@media(max-width:820px){.hr-table-pagination-footer{grid-template-columns:1fr auto;grid-template-areas:"nav nav" "summary size"}.hr-table-pagination-summary{grid-area:summary}.hr-table-pagination-nav{grid-area:nav}.hr-table-page-size{grid-area:size}.hr-table-pagination-nav-placeholder{display:none}}
@media(max-width:520px){.hr-table-pagination-footer{grid-template-columns:1fr;grid-template-areas:"nav" "summary" "size";justify-items:center;text-align:center}.hr-table-pagination-summary,.hr-table-page-size{justify-self:center}.hr-table-pagination-nav{max-width:100%;flex-wrap:wrap}.hr-table-pagination-pages{flex-wrap:wrap}.hr-table-pagination-nav a,.hr-table-pagination-nav span{height:36px}.hr-table-page-size select{height:36px}}

/* v7.1.82 — Finance tables join the canonical 10/20 table-pagination contract. */
.payroll-period-detail-standard .payroll-filter-row{
  grid-template-columns:minmax(230px,1fr) 140px 150px 96px 96px;
}
.payroll-period-detail-standard .payroll-filter-row .filter-submit-btn,
.payroll-period-detail-standard .payroll-filter-clear{
  height:39px!important;
  min-height:39px!important;
  margin:0!important;
  white-space:nowrap;
}
.payroll-filter-clear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.payroll-period-detail-standard .hr-table-pagination-footer,
.payroll-global-access-standard .hr-table-pagination-footer,
.payroll-management-table .hr-table-pagination-footer{
  margin:14px 15px 0;
  padding-bottom:12px;
}
@media(max-width:980px){
  .payroll-period-detail-standard .payroll-filter-row{grid-template-columns:1fr 1fr}
  .payroll-period-detail-standard .payroll-search-box{grid-column:1/-1}
}
@media(max-width:760px){
  .payroll-period-detail-standard .payroll-filter-row{grid-template-columns:1fr}
  .payroll-period-detail-standard .payroll-search-box{grid-column:auto}
  .payroll-period-detail-standard .payroll-filter-row .filter-submit-btn,
  .payroll-period-detail-standard .payroll-filter-clear{width:100%}
}

/* v7.1.85 — Employee Portal canonical pagination adoption */
.v46-portal-body .portal-payslip-list-card > .hr-table-pagination-footer{
  margin-top:0;padding:14px 16px;border-top:1px solid #edf0f4;
}
.v46-portal-body .v46-portal-table-card > .hr-table-pagination-footer{
  margin-top:14px;
}

/* v7.1.86 — Pagination footer slots stay fixed when 10/20 collapses the table to one page. */


/* v7.1.87 — Management pagination expansion + canonical management-table geometry. */
/* Announcements control center: six centered columns, canonical operations, stable hover. */
.v71-admin-list-head,
.v71-admin-row{
  grid-template-columns:58px minmax(300px,1.45fr) 115px minmax(245px,.8fr) minmax(120px,.45fr) 170px;
}
.v71-admin-list-head>span,
.v71-admin-row>div{ text-align:center!important; }
.v71-row-number{font-size:var(--mgmt-type-body);font-weight:var(--mgmt-weight-body);color:#596b7e}
.v71-row-main{justify-content:center;align-items:center}
.v71-row-copy{text-align:center!important}
.v71-row-dates>span{text-align:center!important}
.v71-row-owner{text-align:center!important}
.v71-row-actions{justify-content:center;flex-wrap:nowrap}
.v71-row-actions form{display:flex;justify-content:center}
.v71-action-edit,.v71-action-toggle,.v71-readonly{
  width:76px;height:36px;min-width:76px;min-height:36px;padding:0 6px;border-radius:9px;
  font-size:12px!important;white-space:nowrap;
}
.v71-action-edit:hover,.v71-action-toggle:hover{transform:none!important}
.v71-admin-panel>.hr-table-pagination-footer{margin:14px 16px 0;padding-bottom:14px}

/* SMS delivery report: canonical centered management-table typography/geometry. */
.v709-sms-log-table{table-layout:fixed;min-width:1240px}
.v709-sms-log-table th,.v709-sms-log-table td{
  text-align:center!important;vertical-align:middle!important;font-size:var(--mgmt-type-body)!important;
}
.v709-sms-log-card>.hr-table-pagination-footer{margin:14px 18px 0;padding-bottom:16px}

/* Management users: canonical centered table + 76x36 operations. */
.v711-table{table-layout:fixed}
.v711-table th,.v711-table td{
  text-align:center!important;vertical-align:middle!important;font-size:var(--mgmt-type-body)!important;
}
.v711-actions{justify-content:center;gap:5px;flex-wrap:nowrap}
.v711-actions form{margin:0;display:flex}
.v711-icon-action{
  width:76px;height:36px;min-width:76px;min-height:36px;padding:0 6px;justify-content:center;
  border-radius:9px;font-size:12px!important;white-space:nowrap;
}
.v711-icon-action:hover{transform:none!important}
.v711-panel>.hr-table-pagination-footer{margin:14px 16px 0;padding-bottom:14px}

@media(max-width:1220px){
  .v71-admin-list-head{display:none}
  .v71-admin-row{grid-template-columns:58px minmax(300px,1.35fr) 120px minmax(260px,1fr);grid-template-areas:"number main status dates" "number owner actions actions"}
  .v71-row-number{grid-area:number}.v71-row-main{grid-area:main}.v71-row-status{grid-area:status}.v71-row-dates{grid-area:dates}.v71-row-owner{grid-area:owner}.v71-row-actions{grid-area:actions}
}
@media(max-width:960px){
  .v71-admin-row{grid-template-columns:58px 1fr 120px;grid-template-areas:"number main status" "number dates dates" "number owner actions"}
}
@media(max-width:680px){
  .v71-admin-row{grid-template-columns:1fr;grid-template-areas:"number" "main" "status" "dates" "owner" "actions"}
  .v71-row-actions{flex-wrap:wrap}
}

/* v7.1.89 — HR-owned official personnel photo management (no image preview outside allowlisted surfaces). */
.v7189-official-photo-card{margin:14px 0;padding:16px;border:1px solid #dfe8ed;border-top:3px solid #3277cf;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(25,52,72,.04)}
.v7189-official-photo-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px}.v7189-official-photo-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#edf4ff;color:#3277cf}.v7189-official-photo-icon svg{width:21px;height:21px}.v7189-official-photo-head>div{min-width:0}.v7189-official-photo-head small{display:block;color:#718095;font-size:11.5px;font-weight:800}.v7189-official-photo-head h3{margin:2px 0 3px;color:#27384d;font-size:17px;font-weight:800}.v7189-official-photo-head p{margin:0;color:#66778b;font-size:12.5px;line-height:1.8}
.v7189-official-photo-body{margin-top:14px;padding-top:14px;border-top:1px solid #edf1f4;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.25fr) auto;align-items:end;gap:12px}.v7189-official-photo-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.v7189-official-photo-meta>div{padding:9px 10px;border:1px solid #edf1f4;border-radius:10px;background:#fafcfd;display:grid;gap:3px}.v7189-official-photo-meta span{color:#8290a1;font-size:11.5px}.v7189-official-photo-meta b{color:#44556b;font-size:12.5px;font-weight:800}.v7189-official-photo-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.v7189-official-photo-picker{display:grid;gap:4px}.v7189-official-photo-picker input[type=file]{min-height:39px}.v7189-official-photo-picker small{color:#7b8898;font-size:11.5px;line-height:1.6}.v7189-official-photo-form .primary-btn,.v7189-official-photo-body .danger-btn{min-width:126px;height:39px;white-space:nowrap;transform:none}.v7189-official-photo-form .primary-btn:hover,.v7189-official-photo-body .danger-btn:hover{transform:none}
@media(max-width:1100px){.v7189-official-photo-body{grid-template-columns:1fr}.v7189-official-photo-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.v7189-official-photo-form{grid-template-columns:minmax(0,1fr) auto}.v7189-official-photo-body>form:last-child{justify-self:start}}
@media(max-width:620px){.v7189-official-photo-head{grid-template-columns:42px minmax(0,1fr)}.v7189-official-photo-head>.status-pill{grid-column:1/-1;justify-self:start}.v7189-official-photo-meta{grid-template-columns:1fr}.v7189-official-photo-form{grid-template-columns:1fr}.v7189-official-photo-form .primary-btn,.v7189-official-photo-body .danger-btn{width:100%}.v7189-official-photo-body>form:last-child{width:100%}}

/* v7.1.90 — granular HR official-photo display settings; visual geometry stays surface-owned */
.site-personnel-photo-settings-block{margin-top:0;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}
.site-personnel-photo-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.site-personnel-photo-mode-card{position:relative;min-height:112px;padding:15px;border:1px solid #dfe5ec;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:7px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.site-personnel-photo-mode-card:hover{border-color:#c8d8ea;background:#fbfdff}.site-personnel-photo-mode-card.selected{border-color:#4d88c7;background:#f5f9ff;box-shadow:0 0 0 2px rgba(77,136,199,.08)}
.site-personnel-photo-mode-card input{position:absolute;opacity:0;pointer-events:none}.site-personnel-photo-mode-card strong{color:#23344c;font-size:13.5px;font-weight:900}.site-personnel-photo-mode-card small{color:#78879a;font-size:11.5px;line-height:1.8}
.site-personnel-photo-custom{margin-top:14px;padding:15px;border:1px solid #e1e7ee;border-radius:14px;background:#fbfcfe}.site-personnel-photo-custom[hidden]{display:none}
.site-personnel-photo-custom-head{margin-bottom:13px;display:flex;align-items:center;justify-content:flex-start;gap:12px}.site-personnel-photo-custom-head b{color:#30445e;font-size:13px}
.site-personnel-photo-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-personnel-photo-group{padding:12px;border:1px solid #e6ebf1;border-radius:12px;background:#fff}.site-personnel-photo-group h4{margin:0 0 9px;color:#63748a;font-size:12px;font-weight:900}.site-personnel-photo-group>div{display:grid;gap:7px}
.site-personnel-photo-surface{cursor:pointer}.site-personnel-photo-surface input{position:absolute;opacity:0;pointer-events:none}.site-personnel-photo-surface span{min-height:36px;padding:7px 9px;display:flex;align-items:center;gap:8px;border:1px solid #e3e8ee;border-radius:9px;background:#fff;color:#506176;font-size:12px;transition:border-color .15s ease,background .15s ease}.site-personnel-photo-surface span i{width:17px;height:17px;flex:0 0 17px;border:1.5px solid #b7c2cf;border-radius:5px;background:#fff;position:relative}.site-personnel-photo-surface input:checked+span{border-color:#bdd5ee;background:#f5f9ff;color:#2f5f93}.site-personnel-photo-surface input:checked+span i{border-color:#397dbd;background:#397dbd}.site-personnel-photo-surface input:checked+span i:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px;font-style:normal;font-weight:900}
/* Official photos inherit the exact dimensions/radius of every existing avatar shell. */
.site-avatar-image{object-fit:cover!important;object-position:center 22%!important;max-width:100%;max-height:100%}
@media(max-width:900px){.site-personnel-photo-mode-grid{grid-template-columns:1fr}.site-personnel-photo-groups{grid-template-columns:1fr}}


/* v7.1.92 — official-photo management card: centered, softer actions, click-to-select uploader. */
.v7192-official-photo-card{padding:20px 22px;border-color:#e2e8ef;border-top-color:#8ba9c7;box-shadow:0 8px 22px rgba(37,58,79,.045)}
.v7192-official-photo-head{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
.v7192-official-photo-head .v7189-official-photo-icon{width:44px;height:44px;background:#f2f6fa;color:#6687a8}
.v7192-official-photo-head>div{max-width:720px}.v7192-official-photo-head h3{font-size:16px}.v7192-official-photo-head p{max-width:680px;margin-inline:auto;color:#728197}
.v7192-official-photo-head>.status-pill{justify-self:auto;align-self:center;margin-top:1px}
.v7192-official-photo-body{margin-top:16px;padding-top:16px;display:flex;flex-direction:column;align-items:center;gap:14px}
.v7192-official-photo-meta{width:100%;max-width:900px;grid-template-columns:repeat(3,minmax(0,1fr))}
.v7192-official-photo-meta>div{text-align:center;place-items:center;min-height:70px;background:#fbfcfd;border-color:#e7ecf1}
.v7192-official-photo-meta span,.v7192-official-photo-meta b{text-align:center}
.v7192-official-photo-form{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:stretch;gap:10px}
.v7192-official-photo-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
.v7192-official-photo-dropzone{width:100%;min-height:146px;padding:18px 20px;border:1.5px dashed #cbd8e4;border-radius:15px;background:linear-gradient(180deg,#fcfdfe,#f7fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.v7192-official-photo-dropzone:hover,.v7192-official-photo-dropzone:focus-within{border-color:#9fb8cf;background:#f8fbfe;box-shadow:0 0 0 3px rgba(104,143,178,.06)}
.v7192-official-photo-upload-icon{width:40px;height:40px;border-radius:12px;background:#edf3f8;color:#718fa9;display:grid;place-items:center}.v7192-official-photo-upload-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v7192-official-photo-dropzone strong{color:#40566d;font-size:13.5px;font-weight:900}.v7192-official-photo-dropzone small{max-width:560px;color:#7d8b9b;font-size:11.5px;line-height:1.8}
.v7192-official-photo-filename{margin-top:2px;padding:5px 10px;border-radius:999px;background:#eef2f5;color:#7d8997;font-size:11.5px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v7192-official-photo-filename.has-file{background:#edf6f2;color:#55796a}
.v7192-photo-btn{align-self:center;min-width:138px;height:38px;padding:0 15px;border-radius:9px;border:1px solid transparent;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;transform:none!important;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.v7192-photo-btn-upload{background:#eef4f9;border-color:#d8e3ec;color:#526f89}.v7192-photo-btn-upload:hover:not(:disabled){background:#e8f0f6;border-color:#c8d7e4;color:#3f607c;box-shadow:0 3px 9px rgba(55,83,109,.06)}.v7192-photo-btn:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}
.v7192-official-photo-remove-form{display:flex;justify-content:center;margin:0}.v7192-photo-btn-remove{background:#fbf2f2;border-color:#efdcdc;color:#9a6262}.v7192-photo-btn-remove:hover{background:#f8ebeb;border-color:#e8cece;color:#854f4f;box-shadow:0 3px 9px rgba(120,70,70,.05)}
@media(max-width:620px){.v7192-official-photo-card{padding:16px}.v7192-official-photo-meta{grid-template-columns:1fr}.v7192-official-photo-dropzone{min-height:136px;padding:16px}.v7192-photo-btn{width:100%;max-width:420px}.v7192-official-photo-remove-form{width:100%}}

/* v7.1.93 — compact dossier panel 06 + Finance hero parity for Account Card. */
.v38-panel-number.stage-six{background:#6f8195}
.v7193-official-photo-panel{border-top:3px solid #6f8195}
.v7193-official-photo-panel-icon{color:#62778d!important;background:#eef2f6!important}
.v7193-official-photo-panel-head{padding-bottom:10px}
.v7193-official-photo-row{padding-top:11px;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(430px,1.35fr) auto;align-items:center;gap:10px}
.v7193-official-photo-meta{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;text-align:center}
.v7193-official-photo-meta>span{min-width:0;min-height:42px;padding:6px 9px;border:1px solid #e7ecf1;border-radius:9px;background:#fbfcfd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.v7193-official-photo-meta small{color:#8996a5;font-size:11px;white-space:nowrap}.v7193-official-photo-meta b{max-width:100%;color:#4c6077;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v7193-official-photo-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.v7193-official-photo-picker{height:42px;min-width:0;padding:5px 10px;border:1.5px dashed #cbd8e4;border-radius:10px;background:linear-gradient(180deg,#fcfdfe,#f7fafc);display:flex;align-items:center;gap:9px;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.v7193-official-photo-picker:hover{border-color:#9fb8cf;background:#f8fbfe;box-shadow:0 0 0 3px rgba(104,143,178,.05)}
.v7193-official-photo-picker-icon{width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:#edf3f8;color:#718fa9;display:grid;place-items:center}.v7193-official-photo-picker-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v7193-official-photo-picker-copy{min-width:0;display:flex;align-items:center;gap:8px}.v7193-official-photo-picker-copy strong{flex:0 0 auto;color:#40566d;font-size:12px;font-weight:900}.v7193-official-photo-picker-copy .v7192-official-photo-filename{margin:0;min-width:0;max-width:250px;padding:4px 8px;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v7193-photo-btn{height:38px;min-width:86px;padding-inline:12px;font-size:11.5px}
.v7193-official-photo-remove-form{margin:0;display:flex;align-items:center}
@media(max-width:1100px){.v7193-official-photo-row{grid-template-columns:1fr}.v7193-official-photo-form{grid-template-columns:minmax(0,1fr) auto}.v7193-official-photo-remove-form{justify-content:center}}
@media(max-width:620px){.v7193-official-photo-panel-head{align-items:flex-start;flex-direction:column}.v7193-official-photo-panel-head>.status-pill{align-self:flex-start}.v7193-official-photo-meta{grid-template-columns:1fr}.v7193-official-photo-form{grid-template-columns:1fr}.v7193-official-photo-picker-copy{flex-direction:column;align-items:flex-start;gap:2px}.v7193-official-photo-picker-copy .v7192-official-photo-filename{max-width:100%}.v7193-photo-btn,.v7193-official-photo-remove-form{width:100%}.v7193-official-photo-remove-form .v7193-photo-btn{width:100%}}

.account-card-hero{margin-bottom:0}
/* v7.1.93 — keep panel 06 genuinely compact and single-row on desktop. */
.v7193-official-photo-panel{padding:13px 16px;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,2.22fr);align-items:center;gap:14px}
.v7193-official-photo-panel-head{padding:0 0 0 14px;border-bottom:0;border-left:1px solid #edf1f4}
.v7193-official-photo-row{padding-top:0;grid-template-columns:minmax(220px,.82fr) minmax(340px,1.28fr) auto;gap:8px}
.v7193-official-photo-meta>span{min-height:40px;padding-block:5px}
.v7193-official-photo-picker{height:40px}
@media(max-width:1180px){.v7193-official-photo-panel{grid-template-columns:1fr}.v7193-official-photo-panel-head{padding:0 0 10px;border-left:0;border-bottom:1px solid #edf1f4}.v7193-official-photo-row{grid-template-columns:minmax(220px,.85fr) minmax(330px,1.2fr) auto}}
@media(max-width:900px){.v7193-official-photo-row{grid-template-columns:1fr}.v7193-official-photo-remove-form{justify-content:center}}

/* v7.1.97 — Finance settlement foundation. */
.v7197-settlement-page{display:flex;flex-direction:column;gap:16px}.v7197-settlement-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.v7197-settlement-hero-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.v7197-settlement-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v7197-settlement-kpis article{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:end}.v7197-settlement-kpis small{color:#7f8da0;font-weight:800}.v7197-settlement-kpis strong{font-size:25px;color:#2f455e}.v7197-settlement-kpis span{grid-column:2;color:#8d99a8;font-size:11.5px}.v7197-settlement-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.v7197-settlement-head{margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.v7197-settlement-head small{color:#8794a5;font-size:11px;font-weight:800}.v7197-settlement-head h2{margin:2px 0 3px;color:#30445c;font-size:17px}.v7197-settlement-head p{margin:0;color:#8491a1;font-size:12px;line-height:1.85}.v7197-settlement-search{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;margin-bottom:14px}.v7197-settlement-subline{display:block;margin-top:3px;color:#9aa5b2;font-size:11px}.v7197-settlement-status{display:inline-flex;min-height:28px;padding:0 9px;align-items:center;border-radius:999px;font-size:11px;font-weight:800}.v7197-settlement-status.has-case{background:#edf6f2;color:#55796a}.v7197-settlement-status.no-case{background:#f5f6f8;color:#7d8794}.v7197-settlement-actions{justify-content:center;flex-wrap:nowrap}.v7197-settlement-actions form{margin:0}.v7197-settlement-empty{padding:28px;text-align:center;color:#8995a5}.v7197-editor-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:16px;align-items:start}.v7197-editor-side{position:sticky;top:16px}.settlement-template-editor{width:100%;min-height:430px;resize:vertical;line-height:2}.v7197-placeholder-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.v7197-placeholder{padding:7px 9px;border:1px solid #dfe6ed;border-radius:9px;background:#f8fafc;display:flex;align-items:center;gap:7px;cursor:pointer;font-family:inherit}.v7197-placeholder code{direction:ltr;color:#4f6b87;font-size:11px}.v7197-placeholder span{color:#7b8999;font-size:10.5px}.v7197-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v7197-form-grid label,.v7197-calc-card label{display:flex;flex-direction:column;gap:6px}.v7197-form-grid label>span,.v7197-calc-card label>span{color:#647489;font-size:11.5px;font-weight:800}.v7197-editor-warning,.v7197-rate-note{margin-top:12px;padding:10px 12px;border:1px solid #e8e1c9;border-radius:10px;background:#fffaf0;color:#7d7047;font-size:11.5px;line-height:1.9}.v7197-save-wide{width:100%;margin-top:12px}.v7197-document-preview{min-height:170px;padding:22px;border:1px solid #e3e8ee;border-radius:12px;background:#fcfdfe;color:#35495f;line-height:2.1;white-space:normal}.v7197-settlement-alert{padding:12px 14px;border:1px solid #ecd7d7;border-radius:11px;background:#fff6f6;color:#8f5555;font-weight:800}.v7197-settlement-identity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v7197-settlement-identity>div{min-height:70px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}.v7197-settlement-identity small{color:#8c98a7;font-size:10.5px}.v7197-settlement-identity strong{color:#40546b;font-size:12px}.v7197-calculation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v7197-calc-card{padding:14px;border:1px solid #e4e9ef;border-radius:12px;background:#fbfcfd;display:flex;flex-direction:column;gap:10px}.v7197-calc-title{display:flex;justify-content:space-between;align-items:center;color:#455b72;font-weight:900}.v7197-calc-title b{font-size:10px;color:#8c98a6}.v7197-suggestion{padding:10px;border-radius:9px;background:#eef4f8;display:flex;align-items:center;justify-content:space-between;gap:8px}.v7197-suggestion small{color:#76899a;font-size:10.5px}.v7197-suggestion strong{color:#3f607c;font-size:16px}.v7197-use-suggestion{height:30px;border:1px solid #d8e3ec;border-radius:8px;background:#fff;color:#58758f;font-family:inherit;font-size:10.5px;font-weight:800;cursor:pointer}.v7197-form-actions{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:1100px){.v7197-calculation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v7197-settlement-identity{grid-template-columns:repeat(3,minmax(0,1fr))}.v7197-editor-grid{grid-template-columns:1fr}.v7197-editor-side{position:static}}
@media(max-width:760px){.v7197-settlement-hero{align-items:flex-start;flex-direction:column}.v7197-settlement-kpis,.v7197-settlement-identity,.v7197-calculation-grid,.v7197-form-grid{grid-template-columns:1fr}.v7197-settlement-search{grid-template-columns:1fr}.v7197-settlement-search .primary-btn,.v7197-settlement-search .ghost-btn{width:100%}}

/* v7.1.98 — Settlement list follows the canonical Finance / Payslip Issuance workspace. */
.v7198-settlement-page{
    display:flex;
    flex-direction:column;
    gap:16px;
}
.v7198-settlement-hero{
    align-items:stretch;
}
.settlement-status-overview{
    width:min(496px,100%)!important;
    max-width:496px!important;
    grid-template-columns:repeat(3,160px)!important;
}
.settlement-register-filter .hr-search-box{
    min-width:280px;
}
@media(max-width:820px){
    .settlement-status-overview{
        width:100%!important;
        max-width:none!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:520px){
    .settlement-status-overview{grid-template-columns:1fr!important}
}


/* v7.1.101 — Canonical Finance search/reset action geometry.
   Scope: Payslip Issuance, Settlement, Employee Account Card. */
.finance-filter-actions-standard .finance-filter-action-standard{
    flex:0 0 104px!important;
    width:104px!important;
    min-width:104px!important;
    height:39px!important;
    min-height:39px!important;
    margin:0!important;
    padding:0 10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    transform:none!important;
}
.finance-filter-actions-standard .finance-filter-action-standard:hover{transform:none!important}
@media(max-width:760px){
    .finance-filter-actions-standard .finance-filter-action-standard{
        flex:1 1 100%!important;
        width:100%!important;
        min-width:0!important;
    }
}


/* v7.1.102 — Canonical Management search/reset action geometry.
   Scope: People, Contracts, Secretariat, New Personnel Approval, Employee Requests. */
.management-filter-actions-standard .management-filter-action-standard{
    flex:0 0 104px!important;
    width:104px!important;
    min-width:104px!important;
    height:39px!important;
    min-height:39px!important;
    margin:0!important;
    padding:0 10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    transform:none!important;
}
.management-filter-actions-standard .management-filter-action-standard:hover{transform:none!important}
@media(max-width:760px){
    .management-filter-actions-standard .management-filter-action-standard{
        flex:1 1 100%!important;
        width:100%!important;
        min-width:0!important;
    }
}


/* =========================================================
   v7.1.104 — Global UI Foundation
   One typography / numeral / KPI / filter-action contract for the entire product.
   Legacy component classes remain as compatibility aliases; new work must use ui-* hooks.
   ========================================================= */
:root{
  --ui-font-family:'RoshanUI',Vazir,Tahoma,Arial,sans-serif;
  --ui-type-page-title:25px;
  --ui-type-card-title:16px;
  --ui-type-section-title:14px;
  --ui-type-body:12.5px;
  --ui-type-helper:11.5px;
  --ui-type-kicker:12px;
  --ui-type-button:12.5px;
  --ui-type-kpi-title:12.5px;
  --ui-type-kpi-value:24px;
  --ui-weight-page:900;
  --ui-weight-card:900;
  --ui-weight-section:800;
  --ui-weight-body:500;
  --ui-weight-strong:700;
  --ui-weight-control:800;
  --ui-filter-action-width:104px;
  --ui-filter-action-height:39px;
  --ui-filter-action-radius:9px;
  --ui-kpi-filter-width:160px;
  --ui-kpi-filter-height:112px;
  --ui-kpi-icon-size:38px;
  --ui-kpi-icon-radius:11px;
  /* Compatibility aliases: existing management typography now reads the global foundation. */
  --mgmt-type-page-title:var(--ui-type-page-title);
  --mgmt-type-card-title:var(--ui-type-card-title);
  --mgmt-type-section-title:var(--ui-type-section-title);
  --mgmt-type-body:var(--ui-type-body);
  --mgmt-type-helper:var(--ui-type-helper);
  --mgmt-type-kicker:var(--ui-type-kicker);
  --mgmt-weight-page:var(--ui-weight-page);
  --mgmt-weight-card:var(--ui-weight-card);
  --mgmt-weight-section:var(--ui-weight-section);
  --mgmt-weight-body:var(--ui-weight-body);
  --mgmt-weight-strong:var(--ui-weight-strong);
  --mgmt-weight-control:var(--ui-weight-control);
}

html,body,body *,body *::before,body *::after,
button,input,select,textarea,option,optgroup{
  font-family:var(--ui-font-family)!important;
}

/* High-specificity bridge: legacy form/select/error rules cannot bypass the global family. */
body input[type='text'],body input[type='password'],body input[type='email'],body input[type='number'],
body input[type='url'],body input[type='tel'],body input[type='search'],body input[type='date'],body input[type='time'],
body select,body textarea,body select option,body select optgroup,
body .field-error,body .errorlist,body .form-error-banner,body .form-errors,body .non-field-errors{
  font-family:var(--ui-font-family)!important;
}

/* Management defaults: every old/new back-office page inherits one scale. */
.v20-admin .v20-main{
  font-size:var(--ui-type-body);
  font-weight:var(--ui-weight-body);
}
.v20-admin .v20-main :is(button,input,select,textarea){font-size:var(--ui-type-body)!important}
.v20-admin .v20-main :is(.primary-btn,.ghost-btn,.filter-submit-btn,.filter-reset,.hr-filter-reset,.payroll-filter-clear){
  font-size:var(--ui-type-button)!important;
  font-weight:var(--ui-weight-control)!important;
}

/* Portal shares the same family and semantic ladder, with its intentional +0.5px body scale. */
.v46-portal-body{
  --portal-type-card-title:var(--ui-type-card-title);
  --portal-type-section-title:var(--ui-type-section-title);
  --portal-type-label:var(--ui-type-body);
  --portal-type-helper:var(--ui-type-helper);
  --portal-type-kicker:var(--ui-type-kicker);
}

/* Canonical KPI foundation. */
.ui-kpi-card{
  font-family:var(--ui-font-family)!important;
  transform:none!important;
}
.ui-kpi-card:hover{transform:none!important}
.ui-kpi-filter-grid{
  gap:8px!important;
  justify-content:start!important;
  align-content:start!important;
}
.ui-kpi-filter-card{
  width:var(--ui-kpi-filter-width)!important;
  min-width:var(--ui-kpi-filter-width)!important;
  max-width:var(--ui-kpi-filter-width)!important;
  min-height:var(--ui-kpi-filter-height)!important;
  padding:13px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:14px!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.ui-kpi-filter-card:hover,.ui-kpi-filter-card.active{transform:none!important}
.ui-kpi-filter-card .ui-kpi-icon{
  width:var(--ui-kpi-icon-size)!important;
  height:var(--ui-kpi-icon-size)!important;
  flex:0 0 var(--ui-kpi-icon-size)!important;
  display:grid!important;
  place-items:center!important;
  border-radius:var(--ui-kpi-icon-radius)!important;
  font-size:0!important;
}
.ui-kpi-filter-card .ui-kpi-icon .ui-icon{width:18px!important;height:18px!important}
.ui-kpi-filter-card small{
  font-size:var(--ui-type-kpi-title)!important;
  font-weight:var(--ui-weight-control)!important;
  line-height:1.45!important;
  white-space:nowrap!important;
}
.ui-kpi-filter-card :is(b,strong){
  margin-top:4px!important;
  font-size:var(--ui-type-kpi-value)!important;
  font-weight:900!important;
  line-height:1.05!important;
}

/* Non-filter summary KPI families use the same typography/icon rhythm while retaining their own layout width. */
.ui-kpi-summary-card{
  --ui-kpi-summary-icon:44px;
  min-height:92px;
  transform:none!important;
}
.ui-kpi-summary-card:hover{transform:none!important}
.ui-kpi-summary-card :is(.v71-kpi-icon,.v77-kpi-icon,.v709-sms-kpi-icon,.payroll-summary-icon){
  width:var(--ui-kpi-summary-icon)!important;
  height:var(--ui-kpi-summary-icon)!important;
  flex:0 0 var(--ui-kpi-summary-icon)!important;
  border-radius:12px!important;
}
.ui-kpi-summary-card :is(.v71-kpi-icon,.v77-kpi-icon,.v709-sms-kpi-icon,.payroll-summary-icon) .ui-icon{
  width:21px!important;height:21px!important;
}
.v711-kpi.ui-kpi-summary-card>span{width:var(--ui-kpi-summary-icon)!important;height:var(--ui-kpi-summary-icon)!important;flex:0 0 var(--ui-kpi-summary-icon)!important;border-radius:12px!important}
.v711-kpi.ui-kpi-summary-card>span .ui-icon{width:21px!important;height:21px!important}
:is(.v71-kpi-card,.v77-kpi-card,.v711-kpi,.global-access-stat).ui-kpi-summary-card small{
  font-size:var(--ui-type-kpi-title)!important;
  font-weight:var(--ui-weight-control)!important;
}
:is(.v71-kpi-card,.v77-kpi-card,.v711-kpi,.global-access-stat).ui-kpi-summary-card strong{
  font-size:var(--ui-type-kpi-value)!important;
  font-weight:900!important;
  line-height:1.1!important;
}
:is(.v71-kpi-card,.v77-kpi-card).ui-kpi-summary-card div>span,
.global-access-stat.ui-kpi-summary-card .payroll-summary-unit{
  font-size:var(--ui-type-helper)!important;
  font-weight:var(--ui-weight-body)!important;
}
.v20-stat-card.ui-kpi-summary-card .v20-stat-copy strong{font-size:var(--ui-type-kpi-value)!important;font-weight:900!important}
.v20-stat-card.ui-kpi-summary-card .v20-stat-copy b{font-size:var(--ui-type-kpi-title)!important;font-weight:var(--ui-weight-control)!important}
.v20-stat-card.ui-kpi-summary-card .v20-stat-copy small{font-size:var(--ui-type-helper)!important}
.v709-sms-kpi.ui-kpi-summary-card .v709-sms-kpi-copy>span{font-size:var(--ui-type-kpi-title)!important;font-weight:var(--ui-weight-control)!important}
.v709-sms-kpi.ui-kpi-summary-card .v709-sms-kpi-copy>strong{font-size:15px!important;font-weight:900!important}
.v709-sms-kpi.ui-kpi-summary-card .v709-sms-kpi-copy>small{font-size:var(--ui-type-helper)!important}

/* Canonical site-wide Search/Apply + Clear/Reset action geometry. */
.ui-filter-actions-standard .ui-filter-action-standard{
  flex:0 0 var(--ui-filter-action-width)!important;
  width:var(--ui-filter-action-width)!important;
  min-width:var(--ui-filter-action-width)!important;
  height:var(--ui-filter-action-height)!important;
  min-height:var(--ui-filter-action-height)!important;
  margin:0!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:var(--ui-filter-action-radius)!important;
  font-size:var(--ui-type-button)!important;
  font-weight:var(--ui-weight-control)!important;
  line-height:1!important;
  white-space:nowrap!important;
  transform:none!important;
}
.ui-filter-actions-standard .ui-filter-action-standard:hover{transform:none!important}

/* Text-glyph search affordances are normalized to one size until each legacy surface migrates to SVG. */
.v20-admin .v20-main :is(.search-icon,.hr-search-box>span){
  font-size:16px!important;
  line-height:1!important;
}
.v20-admin .v20-main :is(.search-icon,.hr-search-box>span) .ui-icon{width:16px!important;height:16px!important}
.v46-portal-menu a>span .ui-icon,.v46-preview-menu-item>span .ui-icon{width:16px!important;height:16px!important}
.v46-summary-icon .ui-icon{width:20px!important;height:20px!important}

@media(max-width:820px){
  .ui-kpi-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;direction:rtl!important;width:100%!important;max-width:none!important}
  .ui-kpi-filter-card{width:auto!important;min-width:0!important;max-width:none!important}
}
@media(max-width:760px){
  .ui-filter-actions-standard .ui-filter-action-standard{
    flex:1 1 100%!important;
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:520px){.ui-kpi-filter-grid{grid-template-columns:1fr!important}}

/* =========================================================
   v7.1.106 — Settlement editor workspace refresh.
   Global UI Foundation + modern settlement form controls.
   ========================================================= */
.settlement-editor-page{display:flex;flex-direction:column;gap:16px}
.settlement-editor-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}
.settlement-editor-hero-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.settlement-editor-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.78fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"template engine" "template salary";gap:16px;align-items:stretch}
.settlement-template-card{grid-area:template;min-height:100%;display:flex;flex-direction:column}
.settlement-engine-settings-card{grid-area:engine;min-height:100%;display:flex;flex-direction:column}
.settlement-salary-engine-card{grid-area:salary;min-height:100%;display:flex;flex-direction:column;gap:0}
.settlement-editor-card{padding:18px;border:1px solid #dfe7ee;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(31,54,76,.055)}
.settlement-editor-card-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:15px}
.settlement-editor-card-head.compact{grid-template-columns:42px minmax(0,1fr)}
.settlement-editor-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#edf4ff;color:#3277cf;border:1px solid #dfeafb}
.settlement-editor-card-icon svg{width:21px;height:21px}
.settlement-editor-card-head small{display:block;color:#7d8b9d;font-size:var(--ui-type-helper);font-weight:var(--ui-weight-control)}
.settlement-editor-card-head h2{margin:2px 0 3px;color:#2f435b;font-size:var(--ui-type-card-title);font-weight:var(--ui-weight-card)}
.settlement-editor-card-head p{margin:0;color:#7b899b;font-size:var(--ui-type-body);line-height:1.8}

/* Modern field shell: Settlement owns no font scale; it inherits Global UI Foundation. */
.settlement-modern-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.settlement-modern-field>label,.settlement-modern-field>span{color:#536a82;font-size:var(--ui-type-body);font-weight:var(--ui-weight-control)}
.settlement-editor-page .form-control{width:100%;min-height:44px;padding:9px 12px;border:1px solid #d7e2ec!important;border-radius:11px!important;background:#f8fbfd!important;color:#30475f!important;font-family:var(--ui-font-family)!important;font-size:var(--ui-type-body)!important;font-weight:600;box-shadow:inset 0 1px 1px rgba(32,60,83,.025);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.settlement-editor-page .form-control:hover{border-color:#c4d5e4!important;background:#fbfdff!important}
.settlement-editor-page .form-control:focus{border-color:#75a6d3!important;background:#fff!important;box-shadow:0 0 0 3px rgba(69,132,190,.11)!important}
.settlement-editor-page input[type=number].form-control{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
/* Settlement numeric fields use text-like controls; native spin arrows are intentionally hidden. */
.settlement-editor-page input[type=number].form-control{-moz-appearance:textfield;appearance:textfield}
.settlement-editor-page input[type=number].form-control::-webkit-outer-spin-button,.settlement-editor-page input[type=number].form-control::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.settlement-editor-page .form-control:disabled{background:#f2f5f8!important;color:#65768a!important;border-color:#e0e7ed!important;cursor:not-allowed;box-shadow:none!important}
.settlement-template-field{flex:1;display:flex;flex-direction:column}
.settlement-template-field .settlement-template-editor{width:100%;min-height:440px;flex:1;resize:vertical;line-height:2;padding:15px 16px!important;background:#fbfdff!important}

.settlement-placeholder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;color:#607287;font-size:var(--ui-type-helper)}
.settlement-placeholder-head strong{font-size:var(--ui-type-body)}
.settlement-placeholder-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.settlement-placeholder{min-height:34px;padding:6px 9px;border:1px solid #dfe6ed;border-radius:9px;background:#f8fafc;display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:#687a8f;font-family:var(--ui-font-family);transition:border-color .15s ease,background .15s ease}
.settlement-placeholder:hover{border-color:#bfd1e2;background:#f2f7fb;transform:none}
.settlement-placeholder code{direction:ltr;color:#466680;font-size:var(--ui-type-helper);font-family:var(--ui-font-family)!important}
.settlement-placeholder span{font-size:var(--ui-type-helper);font-weight:700}
.settlement-editor-actions{display:flex;justify-content:flex-end;margin-top:14px}

.settlement-engine-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.settlement-engine-settings-grid .span-two,.settlement-salary-input-grid .span-two{grid-column:1/-1}

.settlement-salary-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.settlement-rate-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.settlement-rate-preview article{min-height:78px;padding:10px;border:1px solid #dfe8f0;border-radius:11px;background:linear-gradient(180deg,#fbfdff 0%,#f5f9fc 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px}
.settlement-rate-preview small{color:#8090a1;font-size:var(--ui-type-helper);font-weight:700}
.settlement-rate-preview strong{color:#315572;font-size:20px;font-weight:900;direction:ltr;font-variant-numeric:tabular-nums}
.settlement-rate-preview span{color:#8f9baa;font-size:var(--ui-type-helper)}
.settlement-salary-form-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.settlement-salary-form-actions button:disabled{opacity:.52;cursor:not-allowed;transform:none!important}
.settlement-salary-state{margin-bottom:11px;padding:9px 11px;border:1px solid #dfe8f0;border-radius:10px;background:#f8fbfd;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center}
.settlement-salary-state>span{font-size:var(--ui-type-helper);font-weight:800;color:#8090a1}
.settlement-salary-state>strong{font-size:var(--ui-type-body);font-weight:900;color:#3c5f7c;justify-self:end}
.settlement-salary-state>small{grid-column:1/-1;color:#7f8d9d;font-size:var(--ui-type-helper);line-height:1.75}
.settlement-salary-state-saved{background:#f5faf7;border-color:#dcebe1}
.settlement-salary-state-new{background:#f8fbff;border-color:#dce8f4}
.settlement-document-preview{min-height:190px;padding:22px;border:1px solid #e1e7ed;border-radius:12px;background:#fcfdfe;color:#34495f;line-height:2.1}
.settlement-form-error{margin-top:8px}

/* Settlement case salary panel (shared with the editor engine). */
.settlement-case-salary-panel{margin-bottom:14px;padding:14px;border:1px solid #e1e8ee;border-radius:12px;background:#fbfcfd;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.7fr);gap:12px;align-items:stretch}
.settlement-case-salary-select{padding:12px;border:1px solid #e4e9ee;border-radius:10px;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:7px}
.settlement-case-salary-select label{display:flex;flex-direction:column;gap:6px}
.settlement-case-salary-select label>span{color:#5f7186;font-size:var(--ui-type-body);font-weight:var(--ui-weight-control)}
.settlement-case-salary-select>small{color:#8290a1;font-size:var(--ui-type-helper);line-height:1.8}
.settlement-case-salary-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.settlement-case-salary-stats article{padding:10px;border:1px solid #e5eaf0;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;min-height:84px}
.settlement-case-salary-stats small{color:#8593a3;font-size:var(--ui-type-helper)}
.settlement-case-salary-stats strong{color:#365672;font-size:var(--ui-type-card-title);font-weight:900;direction:ltr}
.settlement-case-salary-stats span{color:#909baa;font-size:var(--ui-type-helper)}

@media(max-width:1120px){
  .settlement-editor-workspace{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"template" "engine" "salary"}
  .settlement-template-card,.settlement-engine-settings-card,.settlement-salary-engine-card{min-height:auto}
  .settlement-template-field .settlement-template-editor{min-height:360px}
  .settlement-case-salary-panel{grid-template-columns:1fr}.settlement-case-salary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .settlement-rate-preview{grid-template-columns:1fr}.settlement-editor-card-head{grid-template-columns:42px minmax(0,1fr)}
}
@media(max-width:620px){
  .settlement-editor-hero{align-items:flex-start;flex-direction:column}.settlement-editor-hero-actions,.settlement-editor-hero-actions .ghost-btn{width:100%}
  .settlement-engine-settings-grid,.settlement-salary-input-grid,.settlement-case-salary-stats{grid-template-columns:1fr}.settlement-engine-settings-grid .span-two,.settlement-salary-input-grid .span-two{grid-column:auto}
  .settlement-placeholder-head{align-items:flex-start;flex-direction:column}.settlement-salary-form-actions{flex-direction:column;align-items:stretch}.settlement-salary-form-actions>*{width:100%;margin-inline:0}
}


/* v7.1.109 — Settlement editor active-basis clarity and aligned save actions. */
.settlement-active-basis-summary{margin-bottom:11px;padding:9px 11px;border:1px solid #dcebe1;border-radius:10px;background:#f5faf7;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center}
.settlement-active-basis-summary>span{font-size:var(--ui-type-helper);font-weight:800;color:#748b7e}
.settlement-active-basis-summary>strong{font-size:var(--ui-type-body);font-weight:900;color:#37634d;justify-self:end}
.settlement-active-basis-summary>small{grid-column:1/-1;color:#748879;font-size:var(--ui-type-helper);line-height:1.75}
.settlement-engine-form-actions{margin-top:auto;padding-top:12px}
.settlement-engine-form-actions .primary-btn,.settlement-salary-form-actions .primary-btn{width:150px;height:39px;min-height:39px;justify-content:center}
@media(max-width:760px){.settlement-active-basis-summary{grid-template-columns:1fr}.settlement-active-basis-summary>strong{justify-self:start}.settlement-engine-form-actions{align-items:stretch}.settlement-engine-form-actions>*{width:100%}.settlement-engine-form-actions .primary-btn,.settlement-salary-form-actions .primary-btn{width:100%}}

/* =========================================================
   v7.1.110 — Settlement formal document + softer editor actions.
   ========================================================= */
.settlement-outline-save-btn{
  width:150px;height:39px;min-height:39px;padding:0 14px;border:1px solid #cfdbe5;border-radius:9px;
  background:#fbfdff;color:#5c748b;font-family:var(--ui-font-family);font-size:var(--ui-type-button);font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.settlement-outline-save-btn:hover{background:#f5f9fc;border-color:#b9cad8;color:#3f607b;transform:none}
.settlement-outline-save-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(85,130,166,.10)}
.settlement-active-coefficients-summary{background:#f7f9fc;border-color:#dfe6ed}
.settlement-active-coefficients-summary>span{color:#7a8796}
.settlement-active-coefficients-summary>strong{color:#4d657b}
.settlement-active-coefficients-summary>small{color:#7b8997}

.settlement-form-document{max-width:860px;margin:0 auto;padding:28px 30px;background:#fff;color:#2f3f50;direction:rtl;font-family:var(--ui-font-family)}
.settlement-form-document>h1{margin:0 0 26px;text-align:center;font-size:20px;font-weight:900;color:#263b50}
.settlement-form-document-body{min-height:150px;font-size:13px;line-height:2.35;text-align:justify;color:#344b60}
.settlement-form-document-section-title{margin:24px 0 9px;font-size:13px;font-weight:900;color:#405a70}
.settlement-form-document-table-wrap{overflow-x:auto;border:1px solid #cfd8e0;border-radius:7px;background:#fff}
.settlement-form-document-table{width:100%;border-collapse:collapse;min-width:460px;font-size:12.5px}
.settlement-form-document-table th,.settlement-form-document-table td{padding:9px 11px;border-inline-start:1px solid #d8e0e7;border-top:1px solid #d8e0e7;text-align:center}
.settlement-form-document-table tr:first-child th{border-top:0}
.settlement-form-document-table th:first-child,.settlement-form-document-table td:first-child{border-inline-start:0}
.settlement-form-document-table thead th{background:#f6f8fa;color:#455d72;font-weight:900}
.settlement-form-document-basis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.settlement-form-document-basis>div{min-height:70px;padding:9px;border:1px solid #dde4ea;border-radius:8px;background:#fafcfd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}
.settlement-form-document-basis small{font-size:11px;color:#7d8b99}
.settlement-form-document-basis strong{font-size:13px;color:#38556c;font-weight:900;direction:ltr}
.settlement-form-document-basis span{font-size:10.5px;color:#8b98a4}
.settlement-form-signatures{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:34px;padding-top:12px}
.settlement-form-signature-box{min-height:130px;display:flex;flex-direction:column;gap:8px;color:#3e5366;font-size:12px}
.settlement-form-signature-box strong{font-size:12.5px;font-weight:900}
.settlement-form-signature-box>span{color:#71808f}
.settlement-signature-space{flex:1;min-height:72px;border-bottom:1px dotted #9aa8b5}

@media(max-width:760px){
  .settlement-outline-save-btn{width:100%}
  .settlement-form-document{padding:18px 14px}
  .settlement-form-document-basis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settlement-form-signatures{grid-template-columns:1fr;gap:20px}
}

/* v7.1.111 — official settlement text + five-column settlement table */
.settlement-case-identity-extra{margin:0 0 14px;padding:14px 16px;border:1px solid var(--ui-border,#dbe3ea);border-radius:12px;background:#fbfcfd;display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:12px;align-items:end}
.settlement-case-identity-extra label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:800;color:#42596d}
.settlement-case-identity-extra small{font-size:11.5px;color:#7d8b99;line-height:1.8}
.settlement-form-document-table-five{min-width:720px}
.settlement-form-document-table-five th:nth-child(1),.settlement-form-document-table-five td:nth-child(1){width:24%}
.settlement-form-document-table-five th:nth-child(2),.settlement-form-document-table-five td:nth-child(2){width:18%}
.settlement-form-document-table-five th:nth-child(3),.settlement-form-document-table-five td:nth-child(3){width:22%}
.settlement-form-document-table-five th:nth-child(4),.settlement-form-document-table-five td:nth-child(4){width:18%}
.settlement-form-document-table-five th:nth-child(5),.settlement-form-document-table-five td:nth-child(5){width:18%}
@media(max-width:760px){.settlement-case-identity-extra{grid-template-columns:1fr}.settlement-case-identity-extra small{margin-top:-2px}}

/* =========================================================
   v7.1.112 — Settlement natural text flow + manual table rows.
   ========================================================= */
.settlement-form-document-body{white-space:normal;overflow-wrap:break-word;word-break:normal}
.settlement-form-document-body p{
  margin:0 0 12px;text-align:justify;text-align-last:right;line-height:2.35;
}
.settlement-form-document-body p:last-child{margin-bottom:0}
.settlement-form-document-empty-row td{height:42px;background:#fff}
.settlement-case-row-list-wrap{overflow-x:auto;border:1px solid var(--ui-border,#dbe3ea);border-radius:11px;background:#fff}
.settlement-case-row-list{width:100%;min-width:860px;border-collapse:collapse;font-size:12px}
.settlement-case-row-list th,.settlement-case-row-list td{padding:9px 10px;border-top:1px solid #e3e9ee;border-inline-start:1px solid #e3e9ee;text-align:center;vertical-align:middle}
.settlement-case-row-list thead th{border-top:0;background:#f7f9fb;color:#52697e;font-weight:900;white-space:nowrap}
.settlement-case-row-list th:first-child,.settlement-case-row-list td:first-child{border-inline-start:0}
.settlement-case-row-list tbody td{color:#455b6f}
.settlement-case-row-actions{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.settlement-row-delete-form{margin:0}
.settlement-case-row-actions .ghost-btn.compact{min-width:58px;height:31px;min-height:31px;padding:0 9px;font-size:11px}
.settlement-case-row-actions .ghost-btn.danger{color:#996269;border-color:#ead6d8;background:#fffafa}
.settlement-row-empty{padding:18px;border:1px dashed #d9e2e9;border-radius:10px;background:#fafcfd;color:#7c8b99;text-align:center;font-size:12px}
.settlement-row-entry-form{margin-top:14px;padding-top:14px;border-top:1px solid #e6ebf0}
.settlement-row-entry-grid{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr 1fr;gap:9px;align-items:start}
.settlement-row-entry-grid label{display:flex;flex-direction:column;gap:6px;color:#607488;font-size:11.5px;font-weight:800}
.settlement-row-entry-grid .form-control{width:100%;min-height:39px}
.settlement-row-entry-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}
.settlement-row-entry-actions .primary-btn,.settlement-row-entry-actions .ghost-btn{min-width:128px;height:39px;min-height:39px}
.settlement-row-form-error{margin-top:9px}
@media(max-width:1050px){.settlement-row-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settlement-row-entry-grid label:last-child{grid-column:1/-1}}
@media(max-width:760px){.settlement-row-entry-grid{grid-template-columns:1fr}.settlement-row-entry-grid label:last-child{grid-column:auto}.settlement-row-entry-actions{flex-direction:column;align-items:stretch}.settlement-row-entry-actions .primary-btn,.settlement-row-entry-actions .ghost-btn{width:100%}}

/* =========================================================
   v7.1.113 — Settlement totals, centered signatures, purple editor actions.
   ========================================================= */
.settlement-outline-save-btn{
  border-color:#d8c7ee;background:#fbf9ff;color:#76579b;
}
.settlement-outline-save-btn:hover{background:#f5effc;border-color:#c5afe3;color:#68488f;transform:none}
.settlement-outline-save-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(118,87,155,.12)}
.settlement-form-signatures{
  grid-template-columns:repeat(2,minmax(190px,230px));justify-content:center;column-gap:96px;row-gap:24px;
}
.settlement-form-signature-box{align-items:center;text-align:center}
.settlement-form-signature-box>span{width:100%;text-align:center}
.settlement-signature-space{width:100%}
.settlement-form-document-table tfoot th,.settlement-form-document-table tfoot td{
  border-top:2px solid #c9d3dc;background:#f8fafc;font-weight:900;color:#344f65;
}
.settlement-form-document-total-row th{font-size:12px}
.settlement-form-document-net-total{background:#f4f0fa!important;color:#65488d!important}
.settlement-case-row-list tfoot th,.settlement-case-row-list tfoot td{
  padding:10px;border-top:2px solid #d8e0e7;border-inline-start:1px solid #e3e9ee;background:#f8fafc;text-align:center;font-weight:900;color:#405a70;
}
.settlement-case-row-list tfoot th:first-child{border-inline-start:0}
.settlement-case-row-total td:nth-child(5){background:#f4f0fa;color:#65488d}
.settlement-row-entry-grid{grid-template-columns:1.3fr 1fr 1.3fr 1fr}
@media(max-width:760px){
  .settlement-form-signatures{grid-template-columns:minmax(190px,230px);justify-content:center;gap:28px}
}


/* v7.1.114 — Settlement split totals + editable table title + purple active summaries */
.settlement-active-basis-summary,
.settlement-salary-state-saved{
  background:#fbf9ff!important;
  border-color:#d8c7ee!important;
  box-shadow:0 7px 18px rgba(105,76,150,.05);
}
.settlement-active-basis-summary>span,
.settlement-salary-state-saved>span{color:#8063a6!important}
.settlement-active-basis-summary>strong,
.settlement-salary-state-saved>strong{color:#65458d!important}
.settlement-active-basis-summary>small,
.settlement-salary-state-saved>small{color:#816f98!important}
.settlement-form-document-summary-row>td,
.settlement-form-document-payable-row>td{padding:0!important;background:#fbfcfe}
.settlement-form-document-summary-split,
.settlement-case-summary-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.settlement-form-document-summary-split>div,
.settlement-case-summary-split>div{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 14px;font-weight:800}
.settlement-form-document-summary-split>div+div,
.settlement-case-summary-split>div+div{border-inline-start:1px solid #d8e0e7}
.settlement-form-document-summary-split span,
.settlement-case-summary-split span{color:#5f7080}
.settlement-form-document-summary-split strong,
.settlement-case-summary-split strong{color:#2f4658;font-size:13px}
.settlement-form-document-payable-row>td,
.settlement-case-payable-row>td{background:#f8f5fc!important}
.settlement-form-document-payable-row>td>div,
.settlement-case-payable-row>td>div{display:flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:8px 14px}
.settlement-form-document-payable-row span,
.settlement-case-payable-row span{font-weight:900;color:#65458d}
.settlement-form-document-payable-row strong,
.settlement-case-payable-row strong{font-size:14px;color:#513374}
.settlement-table-title-form{display:flex;align-items:flex-end;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid #e2e7ec;border-radius:11px;background:#fbfcfd}
.settlement-table-title-form label{display:grid;gap:6px;flex:1;margin:0}
.settlement-table-title-form label>span{font-size:var(--ui-type-helper);font-weight:800;color:#5f7080}
.settlement-table-title-form .form-control{height:39px;border-radius:9px}
.settlement-table-title-save{height:39px;min-height:39px;white-space:nowrap}
@media(max-width:760px){
  .settlement-form-document-summary-split,.settlement-case-summary-split{grid-template-columns:1fr}
  .settlement-form-document-summary-split>div+div,.settlement-case-summary-split>div+div{border-inline-start:0;border-top:1px solid #d8e0e7}
  .settlement-table-title-form{align-items:stretch;flex-direction:column}
  .settlement-table-title-save{width:100%}
}

/* =========================================================
   v7.1.115 — Settlement table-template editor + neutral print footer.
   ========================================================= */
.settlement-document-items-card{padding:14px 16px}
.settlement-document-items-card .settlement-editor-card-head{margin-bottom:10px}
.settlement-document-items-layout{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.3fr) minmax(360px,1.4fr);gap:10px;align-items:start}
.settlement-document-template-title-form,.settlement-document-template-row-form{display:grid;gap:8px;padding:10px;border:1px solid #e3e8ee;border-radius:10px;background:#fbfcfd}
.settlement-document-template-title-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.settlement-document-template-compact-btn{height:39px;min-height:39px;white-space:nowrap}
.settlement-document-template-row-list{display:grid;gap:6px;max-height:154px;overflow:auto;padding:2px}
.settlement-document-template-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;padding:7px 9px;border:1px solid #e4e9ee;border-radius:9px;background:#fff;color:#4d6276;font-size:var(--ui-type-helper)}
.settlement-document-template-row>div{display:flex;align-items:center;gap:5px;white-space:nowrap}
.settlement-document-template-row .ghost-btn.compact{height:29px;min-height:29px;min-width:52px;padding:0 8px;font-size:10.8px}
.settlement-document-template-empty{min-height:52px;display:grid;place-items:center;padding:10px;border:1px dashed #d8e1e8;border-radius:9px;background:#fafcfd;color:#81909f;font-size:var(--ui-type-helper);text-align:center}
.settlement-document-template-row-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.settlement-document-template-row-actions{display:flex;align-items:end;gap:6px}
.settlement-document-template-row-actions .primary-btn,.settlement-document-template-row-actions .ghost-btn{height:39px;min-height:39px;white-space:nowrap}
.settlement-case-amount-table .form-control{min-width:130px;height:38px;min-height:38px;text-align:center}
.settlement-case-amount-form .settlement-row-entry-actions{margin-top:10px}
.settlement-sync-row-form{display:flex;justify-content:flex-end;margin-top:10px}
/* The final payable row belongs visually to the same table body, not a highlighted alert row. */
.settlement-form-document-payable-row>td{background:#fff!important;color:#455d72!important}
.settlement-form-document-payable-row span{color:#5f7080!important}
.settlement-form-document-payable-row strong{color:#2f4658!important}
@media(max-width:1120px){.settlement-document-items-layout{grid-template-columns:1fr 1fr}.settlement-document-template-row-form{grid-column:1/-1}}
@media(max-width:760px){
  .settlement-document-items-layout,.settlement-document-template-title-form,.settlement-document-template-row-form{grid-template-columns:1fr}
  .settlement-document-template-row{grid-template-columns:1fr 1fr}.settlement-document-template-row>div{grid-column:1/-1;justify-content:flex-end}
  .settlement-document-template-row-actions{align-items:stretch;flex-direction:column}.settlement-document-template-row-actions>*{width:100%}
}

/* =========================================================
   v7.1.116 — Compact Settlement table-template editor.
   ========================================================= */
.settlement-document-items-layout-v71116{display:grid;gap:10px}
.settlement-document-template-heading-form{display:grid;gap:9px;padding:10px;border:1px solid #e3e8ee;border-radius:10px;background:#fbfcfd}
.settlement-document-table-title-field{max-width:none}
.settlement-document-header-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.settlement-document-heading-actions{display:flex;justify-content:flex-end}
.settlement-document-template-row-form-v71116{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid #e3e8ee;border-radius:10px;background:#fbfcfd}
.settlement-document-template-row-list-v71116{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.settlement-document-template-row-card{min-width:0;padding:8px;border:1px solid #e4e9ee;border-radius:9px;background:#fff;color:#4d6276;font-size:var(--ui-type-helper)}
.settlement-document-template-row-card-values{display:grid;gap:5px}
.settlement-document-template-row-card-values>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}
.settlement-document-template-row-card-values small{font-size:10px;font-weight:800;color:#8795a3}
.settlement-document-template-row-card-values>span{overflow-wrap:anywhere}
.settlement-document-template-row-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:7px}
.settlement-document-template-row-card-actions .ghost-btn.compact{height:29px;min-height:29px;min-width:52px;padding:0 8px;font-size:10.8px}
.settlement-document-template-row-list-v71116>.settlement-document-template-empty{grid-column:1/-1}
@media(max-width:1180px){.settlement-document-template-row-list-v71116{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .settlement-document-header-fields,.settlement-document-template-row-form-v71116,.settlement-document-template-row-list-v71116{grid-template-columns:1fr}
  .settlement-document-heading-actions,.settlement-document-template-row-actions{align-items:stretch;flex-direction:column}
  .settlement-document-heading-actions>*,.settlement-document-template-row-actions>*{width:100%}
}


/* =========================================================
   v7.1.117 — Settlement editor compact title row + unified actions.
   ========================================================= */
.settlement-active-basis-summary,
.settlement-salary-state-saved{
  background:#f8fbfd!important;
  border-color:#dfe8f0!important;
  box-shadow:none!important;
}
.settlement-active-basis-summary>span,
.settlement-salary-state-saved>span{color:#8090a1!important}
.settlement-active-basis-summary>strong,
.settlement-salary-state-saved>strong{color:#3c5f7c!important}
.settlement-active-basis-summary>small,
.settlement-salary-state-saved>small{color:#7f8d9d!important}
.settlement-document-template-heading-form{
  grid-template-columns:minmax(220px,1.35fr) minmax(170px,1fr) minmax(170px,1fr) 150px;
  align-items:end;gap:9px;
}
.settlement-document-heading-actions{align-items:flex-end}
.settlement-editor-main-action{
  width:150px!important;min-width:150px!important;max-width:150px!important;
  height:39px!important;min-height:39px!important;padding:0 14px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  white-space:nowrap;
}
.settlement-engine-form-actions .settlement-editor-main-action,
.settlement-salary-form-actions .settlement-editor-main-action{width:150px!important}
@media(max-width:980px){
  .settlement-document-template-heading-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settlement-document-heading-actions{align-items:stretch}
}
@media(max-width:760px){
  .settlement-document-template-heading-form{grid-template-columns:1fr}
  .settlement-editor-main-action,
  .settlement-engine-form-actions .settlement-editor-main-action,
  .settlement-salary-form-actions .settlement-editor-main-action{width:100%!important;min-width:100%!important;max-width:100%!important}
}

/* =========================================================
   v7.1.118 — Canonical Persian Numeric Input foundation.
   ========================================================= */
.persian-numeric-input{
  direction:ltr;
  text-align:right;
  font-family:var(--ui-font-family, RoshanUI, Vazir, Tahoma, Arial, sans-serif)!important;
  font-variant-numeric:tabular-nums;
}
.persian-numeric-input::placeholder{direction:rtl;text-align:right}

/* =========================================================
   v7.1.121 — Settlement case compact two-card workspace.
   ========================================================= */
.settlement-case-workspace-v7121{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
  grid-template-areas:"amounts primary";
  direction:ltr;
  gap:14px;
  align-items:start;
}
.settlement-case-primary-card-v7121{grid-area:primary;padding:16px;direction:rtl}
.settlement-case-amount-card-v7121{grid-area:amounts;padding:16px;direction:rtl}
.settlement-case-card-head-v7121{margin-bottom:11px}
.settlement-case-card-head-v7121 h2{font-size:16px}
.settlement-case-card-head-v7121 p{font-size:11.5px;line-height:1.75}

/* Eight identity facts: two stable four-column rows on desktop. */
.settlement-case-identity-v7121{grid-template-columns:repeat(4,minmax(0,1fr))}
.settlement-case-identity-v7121>div{min-height:66px;padding:9px 11px}

/* The salary snapshot remains informative, but no longer dominates the form. */
.settlement-case-salary-panel-v7121{
  margin-bottom:10px;
  padding:10px;
  grid-template-columns:1fr;
  gap:8px;
  border-color:#e1e7ed;
  border-radius:11px;
  background:#f8fbfd;
}
.settlement-case-salary-intro-v7121{padding:8px 10px;border:0;border-bottom:1px solid #e4eaf0;border-radius:0;background:transparent;gap:4px}
.settlement-case-salary-intro-v7121>strong{color:#496077;font-size:11.5px}
.settlement-case-salary-intro-v7121>small{font-size:10.5px;line-height:1.65}
.settlement-case-salary-stats-v7121{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.settlement-case-salary-stats-v7121 article{min-height:58px;padding:7px 8px;border-radius:9px;background:#fff}
.settlement-case-salary-stats-v7121 small{font-size:10px}
.settlement-case-salary-stats-v7121 strong{font-size:12.5px}
.settlement-case-salary-stats-v7121 span{font-size:9.5px}

/* Main settlement values use the same restrained field language as the site. */
.settlement-case-field-grid-v7121{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.settlement-case-field-card-v7121{
  padding:10px;
  gap:8px;
  border:1px solid #e1e7ed;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
.settlement-case-field-card-v7121 label{gap:5px}
.settlement-case-field-card-v7121 label>span{color:#65758a;font-size:10.5px;font-weight:800}
.settlement-case-field-title-v7121{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:27px}
.settlement-case-field-title-v7121>div:first-child{display:flex;align-items:baseline;gap:5px}
.settlement-case-field-title-v7121>div:first-child strong{color:#42586f;font-size:12px;font-weight:900}
.settlement-case-field-title-v7121>div:first-child small{color:#929dab;font-size:9.5px;font-weight:800}
.settlement-case-suggestion-v7121{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.settlement-case-suggestion-v7121 span{color:#8a97a6;font-size:9.5px;font-weight:700}
.settlement-case-suggestion-v7121 b{color:#4d6b84;font-size:11px;font-weight:900}
.settlement-case-primary-card-v7121 .form-control,
.settlement-case-amount-card-v7121 .form-control{
  width:100%;height:39px;min-height:39px;margin:0;padding:0 10px;
  border:1px solid var(--line-strong)!important;border-radius:9px!important;
  background:#fff!important;color:#2f4258!important;outline:0!important;box-shadow:none!important;
  font-family:var(--ui-font-family)!important;font-size:12px!important;font-weight:700;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.settlement-case-primary-card-v7121 .form-control:hover,
.settlement-case-amount-card-v7121 .form-control:hover{border-color:#c6d3de!important;background:#fcfdff!important}
.settlement-case-primary-card-v7121 .form-control:focus,
.settlement-case-amount-card-v7121 .form-control:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)!important;background:#fff!important}
.settlement-case-leave-fields-v7121{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.settlement-use-suggestion-v7121{
  min-height:29px;height:29px;padding:0 9px;border:1px solid #d8e1e9;border-radius:8px;
  background:#f8fbfd;color:#60788e;font-size:10px;font-weight:800;box-shadow:none;
}
.settlement-use-suggestion-v7121:hover{border-color:#c3d1dd;background:#f2f7fb;color:#46657f;transform:none}
.settlement-case-rate-note-v7121{margin-top:9px;padding:8px 10px;border-color:#e0e7ed;background:#f8fbfd;color:#758496;font-size:10.5px;line-height:1.75}
.settlement-case-save-actions-v7121{margin-top:10px}
.settlement-case-save-actions-v7121 .primary-btn{width:150px;min-width:150px;height:39px;min-height:39px;justify-content:center}

/* Left card: the settlement table becomes a purpose-built numeric-entry panel. */
.settlement-case-amount-form-v7121{display:flex;flex-direction:column;gap:10px}
.settlement-amount-entry-list-v7121{display:flex;flex-direction:column;gap:7px}
.settlement-amount-entry-row-v7121{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px;border:1px solid #e3e9ef;border-radius:10px;background:#fbfcfe}
.settlement-amount-entry-field-v7121{min-width:0;padding:8px;border:1px solid #e6ebf0;border-radius:9px;background:#fff;display:flex;flex-direction:column;gap:7px}
.settlement-amount-entry-field-v7121.is-empty{background:#fafbfc;border-style:dashed}
.settlement-amount-entry-head-v7121{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:21px}
.settlement-amount-entry-head-v7121 small{color:#8996a5;font-size:9.5px;font-weight:800;flex:0 0 auto}
.settlement-amount-entry-head-v7121 strong{overflow:hidden;color:#485e74;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.settlement-amount-entry-field-v7121 .form-control{text-align:center;font-variant-numeric:tabular-nums}
.settlement-amount-readonly-v7121{min-height:39px;padding:0 9px;border:1px solid #e2e8ee;border-radius:9px;background:#f8fafc;color:#425a70;display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:900}
.settlement-amount-readonly-v7121 small{color:#8b97a5;font-size:9.5px;font-weight:700}
.settlement-amount-empty-v7121{min-height:39px;display:flex;align-items:center;justify-content:center;color:#a0a9b4;font-size:10.5px}
.settlement-amount-totals-v7121{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.settlement-amount-totals-v7121>div{min-height:61px;padding:8px 10px;border:1px solid #e1e8ee;border-radius:9px;background:#f8fbfd;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 7px}
.settlement-amount-totals-v7121 span{color:#7d8b9b;font-size:10px;font-weight:800}
.settlement-amount-totals-v7121 strong{color:#3d5971;font-size:13px;font-weight:900;direction:ltr;font-variant-numeric:tabular-nums}
.settlement-amount-totals-v7121 small{grid-column:2;color:#929ca8;font-size:9px;text-align:left}
.settlement-amount-totals-v7121 .is-payable{grid-column:1/-1;background:#f6f9fc;border-color:#d9e3eb}
.settlement-amount-totals-v7121 .is-payable strong{font-size:15px;color:#345570}
.settlement-case-amount-card-v7121 .settlement-row-empty{margin-top:2px;padding:20px 12px}
.settlement-case-amount-card-v7121 .settlement-sync-row-form{margin-top:9px;display:flex;justify-content:flex-end}

@media(max-width:1180px){
  .settlement-case-workspace-v7121{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)}
  .settlement-case-salary-stats-v7121{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .settlement-case-workspace-v7121{grid-template-columns:1fr;grid-template-areas:"primary" "amounts"}
  .settlement-case-salary-stats-v7121{grid-template-columns:repeat(3,minmax(0,1fr))}
  .settlement-case-identity-v7121{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .settlement-case-field-grid-v7121,.settlement-amount-entry-row-v7121,.settlement-case-salary-stats-v7121,.settlement-case-identity-v7121{grid-template-columns:1fr}
  .settlement-case-leave-fields-v7121{grid-template-columns:1fr}
  .settlement-amount-totals-v7121{grid-template-columns:1fr}
  .settlement-amount-totals-v7121 .is-payable{grid-column:auto}
  .settlement-case-save-actions-v7121 .primary-btn{width:100%;min-width:0}
}

/* v7.1.122 — settlement salary refresh + monetary entitlement suggestions */
.settlement-case-salary-intro-v7122{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.settlement-case-salary-intro-v7122>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.settlement-current-basis-v7122{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.settlement-current-basis-v7122>small{color:#738397;font-size:10px;font-weight:700}
.settlement-current-basis-v7122.is-empty{justify-content:flex-start}
.settlement-refresh-basis-v7122{height:34px;min-height:34px;padding-inline:11px;white-space:nowrap}
.settlement-formula-note-v7122{color:#8794a3;font-size:9.5px;line-height:1.65;margin-top:1px}
@media(max-width:760px){
  .settlement-case-salary-intro-v7122{grid-template-columns:1fr}
  .settlement-current-basis-v7122{justify-content:flex-start}
  .settlement-refresh-basis-v7122{width:100%;justify-content:center}
}

/* =========================================================
   v7.1.123 — transient Settlement calculator.
   v7.1.124 — form-context regression repair; no Settlement visual contract change.
   The calculator never persists case inputs/outputs; only table amounts persist.
   ========================================================= */
.settlement-calculator-v7123{display:flex;flex-direction:column;gap:10px}
.settlement-calculator-inputs-v7123{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.settlement-calculator-inputs-v7123 label{display:flex;flex-direction:column;gap:5px}
.settlement-calculator-inputs-v7123 label>span{color:#65758a;font-size:10.5px;font-weight:800}
.settlement-calculator-results-v7123{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.settlement-calculator-results-v7123 article{min-height:66px;padding:9px 10px;border:1px solid #e1e8ee;border-radius:9px;background:#f8fbfd;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 7px}
.settlement-calculator-results-v7123 small{color:#7d8b9b;font-size:10px;font-weight:800}
.settlement-calculator-results-v7123 strong{color:#3d5971;font-size:14px;font-weight:900;direction:ltr;font-variant-numeric:tabular-nums}
.settlement-calculator-results-v7123 span{grid-column:2;color:#929ca8;font-size:9px;text-align:left}
.settlement-calculator-actions-v7123{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:1px}
.settlement-calculator-actions-v7123 .primary-btn{width:190px;min-width:190px;height:39px;min-height:39px;justify-content:center}
.settlement-calculator-actions-v7123 small{flex:1 1 240px;color:#6d7e90;font-size:10.5px;line-height:1.7}
.settlement-current-basis-v7122 form{margin:0}
@media(max-width:680px){
  .settlement-calculator-inputs-v7123,.settlement-calculator-results-v7123{grid-template-columns:1fr}
  .settlement-calculator-actions-v7123 .primary-btn{width:100%;min-width:0}
}

/* =========================================================
   v7.1.126 — Settlement draft/final workflow + editor sync.
   ========================================================= */
.settlement-case-salary-stats-v7121{grid-template-columns:repeat(4,minmax(0,1fr))}
.settlement-amount-card-head-v7126{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.settlement-amount-card-head-v7126>div{min-width:0;flex:1 1 auto}
.settlement-sync-row-form-v7126{flex:0 0 auto;margin:0!important}
.settlement-sync-row-form-v7126 .ghost-btn{min-width:168px;height:39px;justify-content:center}
.settlement-case-save-actions-v7126{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.settlement-case-save-actions-v7126 .ghost-btn,
.settlement-case-save-actions-v7126 .primary-btn{width:150px;min-width:150px;height:39px;min-height:39px;justify-content:center}
.settlement-final-alert-v7126{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.settlement-final-alert-v7126 strong{font-size:12px;font-weight:900}
.settlement-final-alert-v7126 span{font-size:11px;font-weight:700}
.settlement-final-alert-v7126 small{font-size:10px;opacity:.82}
.settlement-final-calculator-note-v7126{padding:14px;border:1px solid #dde5ec;border-radius:10px;background:#f8fafc;color:#64758a;font-size:11px;font-weight:800;line-height:1.8}
.settlement-status-final-v7126{font-weight:900}
.settlement-status-draft-v7126{font-weight:800}
@media(max-width:760px){
  .settlement-case-salary-stats-v7121{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settlement-amount-card-head-v7126{flex-direction:column}
  .settlement-sync-row-form-v7126{width:100%}
  .settlement-sync-row-form-v7126 .ghost-btn{width:100%}
  .settlement-case-save-actions-v7126 .ghost-btn,.settlement-case-save-actions-v7126 .primary-btn{width:100%;min-width:0}
}
@media(max-width:460px){.settlement-case-salary-stats-v7121{grid-template-columns:1fr}}

/* v7.1.128 — Settlement reopen workflow + lifecycle history */
.settlement-final-alert-v7127{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}
.settlement-final-alert-copy-v7127{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.settlement-reopen-form-v7127{margin:0;flex:0 0 auto}
.settlement-reopen-button-v7127{min-width:170px;height:39px;justify-content:center}
.settlement-status-history-v7127{margin:12px 0;padding:14px 16px;border:1px solid #e0e6ec;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgb(28 49 72 / 4%)}
.settlement-status-history-v7127>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.settlement-status-history-v7127>header>div{display:flex;flex-direction:column;gap:2px}.settlement-status-history-v7127>header small{color:#8795a6;font-size:10px;font-weight:850}.settlement-status-history-v7127>header strong{color:#2f4157;font-size:12px;font-weight:950}.settlement-status-history-v7127>header>span{color:#7f8da0;font-size:10px;font-weight:800}
.settlement-status-history-list-v7127{display:grid;gap:7px}.settlement-status-history-list-v7127 article{display:grid;grid-template-columns:minmax(170px,auto) 1fr;gap:12px;align-items:center;padding:9px 11px;border:1px solid #e6ebf0;border-radius:10px;background:#f9fbfc}.settlement-status-history-list-v7127 article>div{display:flex;flex-direction:column;gap:2px}.settlement-status-history-list-v7127 article strong{color:#34485f;font-size:11px;font-weight:900}.settlement-status-history-list-v7127 article small{color:#8996a5;font-size:9.5px;font-weight:750}.settlement-status-history-list-v7127 article p{margin:0;color:#627287;font-size:10.5px;font-weight:750;line-height:1.8}.settlement-status-history-list-v7127 article.is-reopened{border-right:3px solid #c78a27}.settlement-status-history-list-v7127 article.is-finalized{border-right:3px solid var(--site-accent,#2870c7)}
@media(max-width:720px){.settlement-final-alert-v7127{align-items:stretch;flex-direction:column}.settlement-reopen-form-v7127,.settlement-reopen-button-v7127{width:100%}.settlement-status-history-list-v7127 article{grid-template-columns:1fr}}

/* v7.1.131 — canonical navigation icon parity: Sidebar key == page-entry icon. */
.ui-page-menu-label{display:inline-flex!important;align-items:center!important;gap:7px!important}
.ui-page-menu-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;color:currentColor}
.ui-page-menu-icon .ui-icon{width:18px;height:18px;display:block}

/* v7.1.133 — Reporting Center Standard */
.report-module-hero{align-items:stretch}.report-module-hero .hr-module-copy{min-width:310px}.report-kpi-overview{align-self:stretch}.report-workspace-head{align-items:center}.report-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.report-export-btn{min-height:39px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.report-export-btn .ui-icon{width:16px;height:16px}.report-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-filter-bar .hr-search-box{min-width:250px;flex:1 1 280px}.report-filter-bar select,.report-filter-bar>input{height:39px;min-width:142px;padding:0 10px;border:1px solid #dfe5eb;border-radius:9px;background:#fff;color:#536477;font:inherit;font-size:11px;outline:0}.report-filter-bar>input:focus,.report-filter-bar select:focus{border-color:color-mix(in srgb,var(--accent) 45%,#dfe5eb)}.report-filter-errors{margin:0 14px 10px;display:flex;gap:8px;flex-wrap:wrap}.report-filter-errors span{padding:7px 10px;border:1px solid #f1d1d4;border-radius:8px;background:#fff5f5;color:#a24b52;font-size:10.5px}.report-table-wrap{overflow:auto}.report-table{min-width:920px}.report-table th,.report-table td{text-align:center;vertical-align:middle}.report-table td b{color:#34495f}.report-table td small{display:block;margin-top:3px;color:#8995a4;font-size:9px}.report-status-pill{padding:5px 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2f5;color:#596b7e;font-size:9.5px;font-weight:900;white-space:nowrap}.report-status-pill.is-positive{background:#e8f7f2;color:#08775e}.report-status-pill.is-muted{background:#f0f2f4;color:#6f7d8d}
@media(max-width:980px){.report-head-actions{width:100%;justify-content:flex-start}.report-filter-bar .hr-search-box{flex-basis:100%}}
@media(max-width:760px){.report-module-hero{display:block}.report-head-actions{align-items:stretch;flex-direction:column}.report-export-btn,.report-head-actions .hr-record-count{width:100%;box-sizing:border-box}.report-filter-bar{align-items:stretch;flex-direction:column}.report-filter-bar .hr-search-box,.report-filter-bar select,.report-filter-bar>input,.report-filter-bar .ui-filter-action-standard{width:100%;max-width:none;box-sizing:border-box}}


/* v7.1.134 — Reporting Center filter-row alignment and canonical outline actions. */
.report-filter-bar{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
}
.report-filter-primary-row,
.report-filter-secondary-row{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.report-filter-primary-row .hr-search-box{
  height:39px;
  min-height:39px;
  min-width:220px;
  margin:0!important;
  flex:1 1 280px;
  position:relative;
  align-self:center;
}
.report-filter-primary-row .hr-search-box>span{
  position:absolute;
  right:12px;
  top:50%;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#9aa5b5;
  line-height:1;
  transform:translateY(-50%);
  pointer-events:none;
}
.report-filter-primary-row .hr-search-box input{
  display:block;
  width:100%;
  height:39px!important;
  min-height:39px!important;
  margin:0!important;
  box-sizing:border-box;
}
.report-filter-primary-row select,
.report-filter-primary-row>input{
  flex:0 1 160px;
  min-width:130px;
  margin:0!important;
  box-sizing:border-box;
}
.report-filter-primary-row>input,
.report-filter-secondary-row .report-date-input{
  padding:0 10px!important;
  border:1px solid #dfe5eb!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#536477!important;
  font:inherit;
  font-size:11px;
  outline:0;
}
.report-filter-primary-row>input:focus,
.report-filter-secondary-row .report-date-input:focus{
  border-color:color-mix(in srgb,var(--accent) 45%,#dfe5eb)!important;
}
.report-filter-secondary-row .report-date-input{
  flex:0 1 190px;
  width:190px;
  min-width:150px;
  height:39px!important;
  min-height:39px!important;
  margin:0!important;
  box-sizing:border-box;
}
.report-filter-bar .report-filter-action{
  flex:0 0 var(--ui-filter-action-width)!important;
  width:var(--ui-filter-action-width)!important;
  min-width:var(--ui-filter-action-width)!important;
  height:var(--ui-filter-action-height)!important;
  min-height:var(--ui-filter-action-height)!important;
  margin:0!important;
  border:1px solid var(--line)!important;
  border-radius:var(--ui-filter-action-radius)!important;
  background:#fff!important;
  color:#66768b!important;
  box-shadow:none!important;
  font-weight:var(--ui-weight-control)!important;
}
.report-filter-bar .report-filter-action:hover,
.report-filter-bar .report-filter-action:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 35%,var(--line))!important;
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  box-shadow:none!important;
  transform:none!important;
}
@media(max-width:980px){
  .report-filter-primary-row{flex-wrap:wrap}
  .report-filter-primary-row .hr-search-box{flex:1 1 100%;min-width:100%}
  .report-filter-primary-row select,.report-filter-primary-row>input{flex:1 1 170px}
}
@media(max-width:760px){
  .report-filter-primary-row,
  .report-filter-secondary-row{align-items:stretch;flex-direction:column;flex-wrap:nowrap}
  .report-filter-primary-row .hr-search-box,
  .report-filter-primary-row select,
  .report-filter-primary-row>input,
  .report-filter-secondary-row .report-date-input,
  .report-filter-bar .report-filter-action{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:1 1 100%!important;
    box-sizing:border-box;
  }
}


/* v7.1.135 — Reporting Apply action uses a soft yellow emphasis; Clear stays neutral outline. */
.report-filter-bar .report-filter-apply{
  border-color:#eadb8a!important;
  background:#fff9dc!important;
  color:#7a6817!important;
}
.report-filter-bar .report-filter-apply:hover,
.report-filter-bar .report-filter-apply:focus-visible{
  border-color:#dcc55b!important;
  background:#fff3b8!important;
  color:#66540c!important;
}
.report-export-btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}

/* v7.1.136 — Management Summary report completion. */
.management-summary-hero-v7136{gap:18px}
.management-summary-scope-v7136{min-width:280px;max-width:380px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:15px 18px;border:1px solid #e7e4f6;border-radius:14px;background:#fbfaff;box-sizing:border-box}
.management-summary-scope-v7136>span{color:#8c86aa;font-size:9.5px;font-weight:850}
.management-summary-scope-v7136>b{color:#4d4776;font-size:13px;font-weight:950}
.management-summary-scope-v7136>small{color:#7a8190;font-size:9.5px;font-weight:700;line-height:1.8}
.management-summary-filter-card-v7136{margin-bottom:12px}
.management-summary-date-row-v7136{justify-content:flex-start}
.management-summary-grid-v7136{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.management-summary-section-v7136{margin:0!important;padding:0!important;overflow:hidden}
.management-summary-section-v7136>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid #edf0f4;background:#fbfcfd}
.management-summary-section-title-v7136{display:flex;align-items:center;gap:10px;min-width:0}
.management-summary-section-icon-v7136{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;background:#f0edff;color:#6255bd}
.management-summary-section-icon-v7136 .ui-icon{width:18px;height:18px}
.management-summary-section-title-v7136>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.management-summary-section-title-v7136 span{color:#8b96a5;font-size:9px;font-weight:850}
.management-summary-section-title-v7136 h3{margin:0;color:#34495f;font-size:13px;font-weight:950}
.management-summary-detail-v7136{height:34px!important;min-height:34px!important;padding:0 11px!important;white-space:nowrap;font-size:9.5px!important}
.management-summary-metrics-v7136{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
.management-summary-metric-v7136{min-width:0;min-height:72px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px 11px;border:1px solid #e8edf1;border-radius:11px;background:#fff;color:inherit;text-decoration:none;box-sizing:border-box;transition:border-color .15s ease,background .15s ease}
a.management-summary-metric-v7136:hover,a.management-summary-metric-v7136:focus-visible{border-color:#d9d3f4;background:#fbfaff;outline:0}
.management-summary-metric-v7136 small{color:#7d8998;font-size:9.5px;font-weight:800;line-height:1.5}
.management-summary-metric-v7136 b{color:#35495f;font-size:14px;font-weight:950;line-height:1.45;overflow-wrap:anywhere}
.management-summary-metric-v7136 b em{font-style:normal;color:#8793a2;font-size:8.5px;font-weight:800}
@media(max-width:1050px){.management-summary-grid-v7136{grid-template-columns:1fr}.management-summary-scope-v7136{max-width:none}}
@media(max-width:760px){.management-summary-hero-v7136{display:block}.management-summary-scope-v7136{width:100%;min-width:0;margin-top:12px}.management-summary-section-v7136>header{align-items:stretch;flex-direction:column}.management-summary-detail-v7136{width:100%;box-sizing:border-box}.management-summary-metrics-v7136{grid-template-columns:1fr}.management-summary-date-row-v7136{align-items:stretch;flex-direction:column}.management-summary-date-row-v7136 .report-date-input,.management-summary-date-row-v7136 .report-filter-action{width:100%!important;max-width:none!important;min-width:0!important;flex:1 1 100%!important;box-sizing:border-box}}

/* v7.1.138 — Advanced per-user access-control editor */
.v138-management-user-form{align-items:start}
.v138-management-user-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.v138-user-permissions{overflow:hidden}
.v138-access-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:0 0 14px}
.v138-access-metrics span{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:72px;border:1px solid #e4eaf1;border-radius:12px;background:#f8fbfd;text-align:center}
.v138-access-metrics b{font-size:22px;color:#17324d}.v138-access-metrics small{color:#66788a}
.v138-access-note{margin:0 0 16px}
.v138-user-permission-sections .v711-permission-card{min-width:0}
.v138-permission-help{font-size:11px;color:#728296}
.v138-override-row{display:grid;grid-template-columns:minmax(180px,1.7fr) 92px 76px 82px 70px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}
.v138-override-row:last-child{border-bottom:0}
.v138-override-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.v138-override-copy b{font-size:13px}.v138-override-copy small{font-size:10px;color:#8896a5;direction:ltr;text-align:right}
.v138-base-badge,.v138-effective-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;font-size:11px;border:1px solid #dfe6ed;background:#f6f8fa;color:#708090;white-space:nowrap}
.v138-base-badge.is-on{background:#eef5ff;border-color:#cddffc;color:#315f9b}.v138-effective-badge.is-on{background:#eef9f2;border-color:#c7ead2;color:#267247}
.v138-override-choice{display:flex;align-items:center;justify-content:center;gap:5px;min-height:30px;border:1px solid #dfe6ed;border-radius:8px;background:#fff;font-size:11px;cursor:pointer;white-space:nowrap}.v138-override-choice input{margin:0}.v138-override-choice.allow:has(input:checked){background:#f0f8ff;border-color:#bdd7f3;color:#245b8f}.v138-override-choice.deny:has(input:checked){background:#fff3f3;border-color:#efc6c6;color:#9a3f3f}
@media(max-width:1100px){.v138-access-metrics{grid-template-columns:repeat(2,minmax(120px,1fr))}.v138-override-row{grid-template-columns:minmax(180px,1fr) 90px 72px 78px 66px}}
@media(max-width:760px){.v138-access-metrics{grid-template-columns:1fr 1fr}.v138-override-row{grid-template-columns:1fr 1fr 1fr}.v138-override-copy{grid-column:1/-1}.v138-base-badge{grid-column:1}.v138-effective-badge{grid-column:3}.v138-management-user-form{display:block}.v138-management-user-form>.v711-side-stack{margin-top:16px}}
.v138-level-bulk-actions{display:flex;gap:6px;align-items:center}.v138-level-bulk-actions button{white-space:nowrap}

/* v7.1.141 — Access Levels: Reporting uses two ordinary canonical permission cards; only the grid width changes. */
.v141-reporting-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:820px){.v141-reporting-permission-grid{grid-template-columns:1fr}}


/* v7.1.143 — Canonical table hook consolidation for Announcements, SMS report and Management Users. */
.v7143-announcement-table{min-width:1120px;table-layout:fixed}
.v7143-announcement-table th:nth-child(1),.v7143-announcement-table td:nth-child(1){width:64px}
.v7143-announcement-table th:nth-child(3),.v7143-announcement-table td:nth-child(3){width:115px}
.v7143-announcement-table th:nth-child(4),.v7143-announcement-table td:nth-child(4){width:230px}
.v7143-announcement-table th:nth-child(5),.v7143-announcement-table td:nth-child(5){width:135px}
.v7143-announcement-table th:nth-child(6),.v7143-announcement-table td:nth-child(6){width:170px}
.v7143-announcement-copy strong,.v7143-announcement-copy small{display:block;text-align:center}
.v7143-announcement-copy strong{color:#30475b;font-weight:900}
.v7143-announcement-copy small{margin-top:4px;color:#7f8d9c;line-height:1.75;white-space:normal;overflow-wrap:anywhere}
.v7143-announcement-dates{display:table-cell!important}
.v7143-announcement-dates>span{display:block;text-align:center}
.v7143-announcement-dates>span+span{margin-top:4px}
.v7143-announcement-dates small,.v7143-announcement-dates strong{display:inline;font-size:inherit!important}
.v7143-announcement-dates small{color:#8b98a6;margin-left:4px}
.v7143-announcement-actions{justify-content:center!important;gap:5px!important;flex-wrap:nowrap!important;white-space:nowrap!important}
.v7143-announcement-actions form{margin:0;display:flex}
.v7143-readonly{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 9px;border:1px solid #d8dee5;border-radius:9px;background:#fbfcfd;color:#667587;font-size:12px;font-weight:900;white-space:nowrap}
.v7143-announcement-table tr.is-inactive td{background:#fbfcfd;color:#778596}
.v709-log-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.v7143-users-head-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.v7143-users-head-meta p{margin:0!important}
.v711-table.hr-admin-table-standard .v711-actions{justify-content:center!important;gap:5px!important;flex-wrap:nowrap!important;white-space:nowrap!important}
.v711-table.hr-admin-table-standard .v711-actions form{margin:0;display:flex}
@media(max-width:820px){
  .v709-log-head{align-items:flex-start;flex-direction:column}
  .v7143-users-head-meta{align-items:flex-start;flex-direction:column;width:100%}
  .v7143-users-head-meta .hr-record-count{align-self:flex-start}
}

/* v7.1.148 — Announcement editor and SMS panel layout polish. */
.v7148-announcement-sms-status{margin-bottom:14px}
.v7149-gateway-readiness-status{margin-bottom:14px}
.v7149-gateway-readiness-status p{display:block}.v7149-gateway-readiness-status p b{display:block;color:inherit;font-size:11px;margin-bottom:3px}.v7149-gateway-readiness-status p span{display:block}

/* v7.1.147 — Targeted announcements & employee delivery tracking. */
.v7147-announcement-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.9fr);grid-template-areas:"content side" "recipients side";gap:18px;align-items:start}
.v7148-announcement-content-card{grid-area:content}
.v7147-announcement-side{grid-area:side;display:grid;gap:18px;align-self:start}
.v7147-recipient-card{grid-area:recipients;grid-column:auto}
.v7147-audience-options>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v7147-audience-options label{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 13px;border:1px solid #dbe4ec;border-radius:10px;background:#f8fbfd;font-weight:700;cursor:pointer}
.v7147-audience-options input{accent-color:#2563eb}
.v7147-audience-options.is-locked label{cursor:default;opacity:.82}
.v7147-lock-note{display:grid;gap:4px;margin-top:12px;padding:11px 13px;border:1px solid #e6ddc5;border-radius:10px;background:#fffdf7;color:#675b3f}
.v7147-lock-note span{font-size:12px;line-height:1.8}
.v7147-recipient-selector{position:relative;margin-top:16px;padding-top:14px;border-top:1px solid #e5ebf1}
.v7147-recipient-selector>label{display:block;margin-bottom:8px;font-weight:800;color:#26384a}
.v7147-recipient-search{height:39px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #ccd9e4;border-radius:9px;background:#fff}
.v7147-recipient-search span{width:18px;height:18px;color:#6b7d8f;display:grid;place-items:center}
.v7147-recipient-search input{border:0;outline:0;width:100%;font:inherit;background:transparent;color:#223447}
.v7147-recipient-suggestions{position:absolute;z-index:30;top:105px;right:0;left:0;max-height:270px;overflow:auto;padding:6px;border:1px solid #d5e0e9;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(19,38,58,.12)}
.v7147-recipient-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border:0;border-radius:8px;background:#fff;text-align:right;font:inherit;color:#24374a;cursor:pointer}
.v7147-recipient-suggestion:hover{background:#f4f8fb}
.v7147-recipient-suggestion>span:first-child{display:grid;gap:2px}.v7147-recipient-suggestion small{color:#758597}.v7147-recipient-suggestion>span:last-child{font-size:12px;color:#64778a}
.v7147-selected-head{display:flex;justify-content:space-between;align-items:center;margin:13px 0 8px;color:#53677b}.v7147-selected-head strong{font-size:12px}
.v7147-selected-recipients{display:flex;flex-wrap:wrap;gap:8px;min-height:38px}
.v7147-recipient-chip{display:grid;grid-template-columns:auto 26px;grid-template-areas:'name remove' 'meta remove';column-gap:8px;align-items:center;padding:7px 9px 7px 6px;border:1px solid #d9e4ed;border-radius:9px;background:#f8fbfd}
.v7147-recipient-chip b{grid-area:name;font-size:13px}.v7147-recipient-chip small{grid-area:meta;font-size:11px;color:#6f8192}.v7147-recipient-chip button{grid-area:remove;border:0;background:transparent;color:#8b5b5b;font-size:20px;cursor:pointer}
.v7147-recipient-empty{font-size:12px;color:#8190a0;padding:8px 0}.v7147-recipient-help{display:block;margin-top:9px;color:#77899b}
.v7147-sms-switch{margin-top:10px}.v71-publish-switch.is-disabled{opacity:.68}
.v7147-announcement-delivery{min-width:165px}.v7147-announcement-delivery strong,.v7147-announcement-delivery small{display:block}.v7147-announcement-delivery small{margin-top:3px;color:#718396;font-size:11px}
.v7147-read-state{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:28px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:800}.v7147-read-state.is-read{background:#edf8f1;color:#267148}.v7147-read-state.is-unread{background:#fff8e7;color:#8a6918}
.v7147-portal-menu-badge{margin-right:auto;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#e9f0ff;color:#315a9e;display:inline-grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}
.v7147-dashboard-announcement-link{font-size:12px;font-weight:800;color:#47688a;text-decoration:none}.v7147-dashboard-announcement-title{display:flex;align-items:center;gap:8px}.v7147-dashboard-announcement-title h3{margin:0}.v7147-dashboard-announcement-title span{padding:2px 7px;border-radius:999px;background:#eaf2ff;color:#315f9d;font-size:10px;font-weight:900}.v7147-dashboard-announcement-unread{box-shadow:inset -3px 0 0 #6e9ad0}.v46-announcement-list article a{display:inline-block;margin-top:8px;color:#426b96;font-size:12px;font-weight:800;text-decoration:none}
.v7147-portal-announcement-list-card{background:#fff;border:1px solid #e1e8ef;border-radius:14px;padding:18px}.v7147-portal-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v7147-portal-section-head small{color:#78899a}.v7147-portal-section-head h2{margin:3px 0 0}.v7147-portal-section-head>span{font-size:12px;color:#667b8e}
.v7147-portal-announcement-list{display:grid;gap:9px}.v7147-portal-announcement-item{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid #e2e9ef;border-radius:11px;background:#fff;color:inherit;text-decoration:none}.v7147-portal-announcement-item:hover{background:#fafcfd}.v7147-portal-announcement-item.is-unread{border-color:#cddff2;background:#f8fbff}.v7147-portal-announcement-date{display:grid;gap:3px;text-align:center}.v7147-portal-announcement-date small{color:#8493a2}.v7147-portal-announcement-copy>span{display:inline-block;margin-bottom:3px;font-size:10px;font-weight:900;color:#52749a}.v7147-portal-announcement-copy h3{margin:0 0 4px}.v7147-portal-announcement-copy p{margin:0;color:#627487;font-size:12px;line-height:1.8}.v7147-portal-announcement-item>b{font-size:12px;color:#436b95;white-space:nowrap}
.v7147-portal-announcement-detail{background:#fff;border:1px solid #e1e8ef;border-radius:14px;overflow:hidden}.v7147-portal-announcement-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid #e7edf2;background:#fbfcfd}.v7147-portal-announcement-detail>header small,.v7147-portal-announcement-detail>header span{color:#738698}.v7147-portal-announcement-detail h1{margin:4px 0 5px}.v7147-portal-announcement-detail>header a{color:#416990;text-decoration:none;font-weight:800;font-size:12px}.v7147-portal-announcement-detail>article{padding:24px;line-height:2.05;color:#26384a}.v7147-portal-announcement-detail>footer{padding:11px 20px;border-top:1px solid #e7edf2;background:#fafcfd;color:#738698;font-size:11px}
@media(max-width:980px){.v7147-announcement-grid{grid-template-columns:1fr;grid-template-areas:"content" "recipients" "side"}.v7147-recipient-card{grid-column:auto}.v7147-announcement-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.v7147-announcement-side,.v7147-audience-options>div{grid-template-columns:1fr}.v7147-portal-announcement-item{grid-template-columns:72px minmax(0,1fr)}.v7147-portal-announcement-item>b{grid-column:2}.v7147-portal-announcement-detail>header{display:grid}.v7147-recipient-suggestions{top:105px}}

/* v7.1.152 — Announcement recipient card internal layout fix (card-only; page grid unchanged). */
.v7152-recipient-card-body{padding:16px 18px 18px}
.v7152-recipient-mode{display:grid;gap:10px}
.v7152-recipient-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.v7152-recipient-section-head>div{display:grid;gap:3px;min-width:0}
.v7152-recipient-section-head strong{color:#26384a;font-size:12.5px;line-height:1.7}
.v7152-recipient-section-head small{color:#78899a;font-size:11.5px;line-height:1.8}
.v7152-all-audience-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;margin-top:14px;padding:12px 13px;border:1px solid #dce6ee;border-radius:10px;background:#f8fbfd;color:#31465a}
.v7152-all-audience-note[hidden]{display:none!important}
.v7152-all-audience-note>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef4f9;color:#4e6f8f}
.v7152-all-audience-note>span .ui-icon{width:17px;height:17px}
.v7152-all-audience-note b{display:block;margin-bottom:3px;font-size:12.5px}
.v7152-all-audience-note p{margin:0;color:#5f7387;font-size:11.5px;line-height:1.9}
.v7152-recipient-selector{margin-top:14px;padding-top:14px;border-top:1px solid #e5ebf1}
.v7152-selector-head{align-items:center;margin-bottom:10px}
.v7152-selector-head>b{flex:0 0 auto;min-width:92px;padding:5px 9px;border-radius:999px;background:#eef4f8;color:#456b8a;text-align:center;font-size:11px;white-space:nowrap}
.v7152-selected-label{margin:13px 0 7px;color:#53677b;font-size:11.5px;font-weight:800}
.v7147-recipient-card .v7147-audience-options{margin:0}
.v7147-recipient-card .v7147-audience-options>div{gap:10px}
.v7147-recipient-card .v7147-recipient-help{line-height:1.8}
@media(max-width:720px){.v7152-recipient-card-body{padding:14px}.v7152-recipient-section-head{flex-direction:column;gap:5px}.v7152-selector-head>b{align-self:flex-start}}
\n\n/* =========================================================\n   v7.1.168 — Typography + Persian numeral consistency.\n   Presentation only: no storage/model numeric contract changes.\n   ========================================================= */\n:root{\n  /* Public authentication is an intentional larger readability variant. */\n  --auth-type-page-title:28px;\n  --auth-type-body:15px;\n  --auth-type-label:14px;\n  --auth-type-control:16px;\n  --auth-type-helper:13px;\n  --auth-type-button:16px;\n  /* Application chrome uses a documented compact navigation variant. */\n  --ui-type-nav:14px;\n  --ui-type-subnav:13px;\n  --ui-type-chrome:12.5px;\n}\n\n/* Management shell/navigation: one deliberate scale instead of historical 14–14.5px drift. */\n.v20-menu .menu-item,.v20-menu .menu-group-trigger{font-size:var(--ui-type-nav)!important}\n.submenu-item,.v20-logout{font-size:var(--ui-type-subnav)!important}\n.v20-date-box,.v20-top-user strong,.message{font-size:var(--ui-type-chrome)!important}\n\n/* Public login/register/recovery: preserve the approved spacious visual, but make its scale canonical. */\n.v21-auth-head h1{font-size:var(--auth-type-page-title)!important}\n.v21-auth-head p{font-size:var(--auth-type-body)!important}\n.v21-auth-form label,.v21-register-grid .form-field label{font-size:var(--auth-type-label)!important}\n.v21-input-wrap input,.v21-input-wrap select,.v21-input-wrap textarea,\n.v21-register-grid input,.v21-register-grid select,.v21-register-grid textarea{font-size:var(--auth-type-control)!important}\n.v21-auth-submit{font-size:var(--auth-type-button)!important}\n.v21-auth-switch a,.v21-back-link,.v701-auth-recovery a,.v701-recovery-back a,.v701-link-button{font-size:var(--auth-type-helper)!important}\n.v21-auth-alert,.v21-register-login{font-size:var(--auth-type-helper)!important}\n@media(max-width:760px){.v21-auth-head h1{font-size:24px!important}}\n\n/* Reporting Center: legacy micro-text is raised to the canonical management ladder. */\n.v20-admin .v20-main .report-filter-bar :is(input,select){font-size:var(--ui-type-body)!important}\n.v20-admin .v20-main .report-filter-errors span,\n.v20-admin .v20-main .report-table td small,\n.v20-admin .v20-main .report-status-pill{font-size:var(--ui-type-helper)!important}\n.v20-admin .v20-main .management-summary-scope-v7136>span,\n.v20-admin .v20-main .management-summary-scope-v7136>small,\n.v20-admin .v20-main .management-summary-section-title-v7136 span,\n.v20-admin .v20-main .management-summary-metric-v7136 small,\n.v20-admin .v20-main .management-summary-metric-v7136 b em{font-size:var(--ui-type-helper)!important}\n.v20-admin .v20-main .management-summary-scope-v7136>b{font-size:var(--ui-type-body)!important}\n.v20-admin .v20-main .management-summary-section-title-v7136 h3,\n.v20-admin .v20-main .management-summary-metric-v7136 b{font-size:var(--ui-type-section-title)!important}\n.v20-admin .v20-main .management-summary-detail-v7136{font-size:var(--ui-type-button)!important}\n\n/* Settlement: raise remaining span/strong/div micro-copy that semantic <small>/<p> guards cannot catch. */\n.v20-admin .v20-main .settlement-case-field-card-v7121 label>span,\n.v20-admin .v20-main .settlement-calculator-inputs-v7123 label>span,\n.v20-admin .v20-main .settlement-case-suggestion-v7121 span,\n.v20-admin .v20-main .settlement-amount-totals-v7121 span,\n.v20-admin .v20-main .settlement-calculator-results-v7123 span,\n.v20-admin .v20-main .settlement-final-alert-v7126 span,\n.v20-admin .v20-main .settlement-status-history-v7127>header>span{font-size:var(--ui-type-helper)!important}\n.v20-admin .v20-main .settlement-case-field-title-v7121>div:first-child strong,\n.v20-admin .v20-main .settlement-case-suggestion-v7121 b,\n.v20-admin .v20-main .settlement-amount-entry-head-v7121 strong,\n.v20-admin .v20-main .settlement-status-history-list-v7127 article strong{font-size:var(--ui-type-body)!important}\n.v20-admin .v20-main .settlement-formula-note-v7122,\n.v20-admin .v20-main .settlement-final-calculator-note-v7126{font-size:var(--ui-type-helper)!important}\n.v20-admin .v20-main .settlement-case-primary-card-v7121 .form-control,\n.v20-admin .v20-main .settlement-case-amount-card-v7121 .form-control{font-size:var(--ui-type-body)!important}\n\n/* Employee Portal announcements/actions: never fall below Portal helper/action scale. */\n.v46-portal-body .v46-portal-content .v7147-dashboard-announcement-link,\n.v46-portal-body .v46-portal-content .v46-announcement-list article a,\n.v46-portal-body .v46-portal-content .v7147-portal-announcement-item>b,\n.v46-portal-body .v46-portal-content .v7147-portal-announcement-detail>header a{font-size:var(--portal-type-button)!important}\n.v46-portal-body .v46-portal-content .v7147-dashboard-announcement-title span,\n.v46-portal-body .v46-portal-content .v7147-portal-announcement-copy>span,\n.v46-portal-body .v46-portal-content .v7147-portal-announcement-detail>footer,\n.v46-portal-body .v46-portal-content .v7147-portal-section-head>span{font-size:var(--portal-type-helper)!important}\n\n/* Account-card viewer keeps technical zoom math numeric; only the visible label is localized. */\n.account-card-slip-zoom-value{font-size:var(--ui-type-helper)!important}\n
/* =========================================================
   v7.1.170 — Responsive & Mobile Hardening
   Presentation/layout only: no model, storage or business-logic changes.
   Target matrix: 320/360/375/390/412/430, 768/820, 1024, 1280/1366,
   1440/1600/1920 and 2560+ CSS pixels.
   ========================================================= */

/* Shells and page bodies must be allowed to shrink instead of forcing viewport overflow. */
.v20-workspace,
.v20-topbar-main,
.v20-page-title,
.v20-main,
.v20-content,
.v46-portal-workspace,
.v46-portal-topbar-title,
.v46-portal-topbar-title>div,
.v46-portal-content{min-width:0}
.v20-app,.v46-portal-app{max-width:100%;overflow-x:clip}
.v20-content,.v46-portal-content{overflow-wrap:anywhere}
.v20-content :is(input,select,textarea),
.v46-portal-content :is(input,select,textarea){max-width:100%}

/* Wide business tables remain readable without breaking the whole page on touch devices. */
.v20-admin [class*="table-wrap"],
.v46-portal-body [class*="table-wrap"]{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
}

/* Small-desktop management hardening: at 1024px the sidebar no longer consumes ~265px. */
@media(max-width:1100px){
    .v20-app{display:block}
    .v20-sidebar{
        position:fixed;
        right:0;
        top:0;
        width:min(285px,88vw);
        height:100vh;
        height:100dvh;
        transform:translateX(105%);
        transition:.22s ease;
        box-shadow:-18px 0 40px rgba(7,24,44,.2);
    }
    .v20-sidebar.open{transform:translateX(0)}
    .sidebar-close{display:block}
    .sidebar-backdrop{position:fixed;inset:0;z-index:110;background:rgba(8,21,37,.45);backdrop-filter:blur(2px)}
    .sidebar-backdrop.show{display:block}
    .v20-mobile-menu{display:block}
    .v20-main{padding:18px}
    .v20-admin.sidebar-open{overflow:hidden}
}

/* Tablet/compact-laptop portal hardening: prioritize content and use the existing drawer navigation. */
@media(max-width:1050px){
    .v46-portal-app{display:block}
    .v46-portal-sidebar{
        position:fixed;
        right:0;
        top:0;
        width:min(270px,88vw);
        height:100vh;
        height:100dvh;
        transform:translateX(105%);
        transition:.22s ease;
    }
    .portal-menu-open .v46-portal-sidebar{transform:translateX(0)}
    .v46-portal-backdrop{position:fixed;inset:0;background:rgba(5,20,36,.45);z-index:70}
    .portal-menu-open .v46-portal-backdrop{display:block}
    .v46-portal-mobile-menu{display:grid;place-items:center}
    .v46-portal-body.portal-menu-open{overflow:hidden}
}

/* Mobile controls use >=16px text to prevent Safari/iOS focus zoom. */
@media(max-width:760px){
    .v20-admin .v20-main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
    .v46-portal-body .v46-portal-content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
    .v21-auth-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
        font-size:16px!important;
    }
    .v20-card-head{flex-wrap:wrap}
}

/* Management topbar: keep navigation/title/logout usable down to narrow phones. */
.v20-topbar-main{flex:1 1 auto}
.v20-topbar-actions{flex:0 0 auto}
.v20-page-title strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){
    .v20-top-icon{display:none}
    .v20-topbar{gap:8px;padding-inline:10px}
    .v20-topbar-main{gap:7px}
    .v20-page-title small{display:none}
    .v20-page-title strong{font-size:14px}
    .v20-mobile-menu,.v20-top-logout{width:40px;min-width:40px;height:40px;min-height:40px}
    .v20-main{padding:12px 10px 24px}
    .messages-stack .message{align-items:flex-start;overflow-wrap:anywhere}
    .messages-stack .message-close{flex:0 0 auto}
}
@media(max-width:360px){
    .v20-topbar{padding-inline:8px;gap:6px}
    .v20-topbar-main,.v20-topbar-actions{gap:5px}
    .v20-main{padding-inline:8px}
}

/* Employee Portal topbar: title flexes, account chrome never pushes content outside the viewport. */
.v46-portal-topbar-title{flex:1 1 auto}
.v47-portal-top-account{flex:0 0 auto;min-width:0}
.v46-portal-topbar-title strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:430px){
    .v46-portal-topbar{gap:7px;padding-inline:9px}
    .v46-portal-topbar-title{gap:7px}
    .v47-portal-top-account{gap:5px}
    .v47-portal-top-account .v46-portal-topbar-user{padding:3px}
    .v47-portal-top-account .v46-portal-topbar-user>div{display:none!important}
    .v46-portal-mobile-menu,.v47-portal-top-logout{width:40px;min-width:40px;height:40px;min-height:40px}
    .v46-portal-content{padding:11px 9px 26px}
    .v46-portal-messages{padding-inline:9px}
}
@media(max-width:360px){
    .v46-portal-topbar{padding-inline:7px;gap:5px}
    .v46-portal-topbar-title small{display:none}
    .v46-portal-topbar-title strong{font-size:14px}
    .v46-portal-content{padding-inline:8px}
    .v46-portal-messages{padding-inline:8px}
}

/* Shared mobile actions: long Persian labels may wrap instead of causing horizontal overflow. */
@media(max-width:430px){
    .v20-admin .v20-main :is(.primary-btn,.ghost-btn,.warning-btn,.danger-btn,.success-btn,.hr-primary-action,.filter-submit-btn,.contract-primary-action,.management-submit-btn),
    .v46-portal-body .v46-portal-content :is(.v46-primary-action,.v46-secondary-action,.portal-payroll-download){
        max-width:100%;
        white-space:normal!important;
        text-align:center;
        overflow-wrap:anywhere;
    }
}

/* Dialogs and full-screen viewers use the dynamic viewport on phones, including landscape browser chrome. */
@media(max-width:520px){
    .site-ui-dialog-backdrop{padding:10px}
    .site-ui-dialog{max-height:calc(100dvh - 20px);overflow:auto}
    .account-card-slip-modal-dialog,
    .payroll-reconciliation-dialog,
    .v715-comparison-dialog{max-height:calc(100dvh - 20px)}
}
@media(max-width:380px){
    .site-ui-dialog-actions{grid-template-columns:1fr}
}

/* v7.1.171+ / v7.1.177 — Bulk Information Import, aligned to canonical management UI. */
 .bulk-import-page{display:grid;gap:14px}
.bulk-import-hero .hr-module-copy{min-width:0;max-width:920px}
.bulk-import-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.bulk-import-download-btn{white-space:nowrap;transform:none}
.bulk-import-download-btn:hover,.bulk-import-download-btn:focus-visible{transform:none}
.bulk-import-upload-form{display:grid;gap:8px}
.bulk-import-upload-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:end;gap:12px}
.bulk-import-file-field{min-width:0;display:grid;gap:7px}
.bulk-import-file-label{width:max-content;display:inline-flex;direction:rtl;align-items:center;gap:4px;color:#526176;font-size:12.5px;font-weight:900}
.bulk-import-file-label em{order:0;color:#c7424c;font-style:normal;font-size:13px}
.bulk-import-file-label span{order:1}
.bulk-import-file-shell{height:39px;min-height:39px;padding:0 10px;position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;border:1px dashed #c9d4df;border-radius:9px;background:linear-gradient(135deg,#fbfdff,#f7fafc);cursor:pointer;transition:border-color .16s ease,background-color .16s ease;overflow:hidden}
.bulk-import-file-shell:hover,.bulk-import-file-shell:focus-within{border-color:color-mix(in srgb,var(--accent) 42%,#c9d4df);background:color-mix(in srgb,var(--accent-soft) 35%,#fff)}
.bulk-import-file-shell.has-file{border-style:solid}
.bulk-import-file-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:var(--accent-soft)}
.bulk-import-file-icon .ui-icon{width:17px;height:17px}
.bulk-import-file-shell .upload-copy{min-width:0;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}
.bulk-import-file-shell .upload-copy b{flex:0 0 auto;color:#40536a;font-size:12px}
.bulk-import-file-shell .selected-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b899b;font-size:11.5px;font-weight:800}
.bulk-import-file-shell input[type=file]{width:1px!important;height:1px!important;position:absolute!important;inset:auto!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;opacity:0!important}
.bulk-import-review-btn{width:150px;min-width:150px;height:39px;min-height:39px;align-self:end;justify-content:center!important;white-space:nowrap}
.bulk-import-upload-errors{display:grid;gap:5px;min-height:0}
.bulk-import-upload-errors .field-error{margin:0}
.bulk-import-preview-hero{align-items:stretch!important}
.bulk-import-preview-meta{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bulk-import-preview-meta>span{min-height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:4px;border:1px solid #dfe6ed;border-radius:9px;background:rgba(255,255,255,.78);color:#68788b;font-size:11.5px}
.bulk-import-preview-meta b{color:#40536a;font-size:11.5px}
.bulk-import-preview-actions{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bulk-import-preview-actions .ghost-btn{min-width:104px;height:39px}
.bulk-import-kpi-overview{width:min(496px,100%)!important;max-width:496px!important;grid-template-columns:repeat(3,160px)!important;align-self:center}
.bulk-import-kpi-overview>.hr-overview-filter-card{cursor:default}
.bulk-import-action-head{margin-bottom:0;align-items:center}
.bulk-import-confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.bulk-import-confirm-actions form{margin:0}
.bulk-import-decision-btn{width:150px;min-width:150px;height:39px;min-height:39px;justify-content:center!important;text-align:center}
.bulk-import-result-card .hr-workspace-head{margin-bottom:0}
.bulk-import-result-card.is-success{background:#f4fbf7!important;border-color:#cfe8d9!important;box-shadow:0 6px 18px rgba(29,120,78,.06)!important}
.bulk-import-result-card.is-success .hr-section-label,.bulk-import-result-card.is-success h3{color:#24714f!important}
.bulk-import-result-card.is-cancelled{background:#fff6f6!important;border-color:#f0d3d6!important;box-shadow:0 6px 18px rgba(177,66,75,.05)!important}
.bulk-import-result-card.is-cancelled .hr-section-label,.bulk-import-result-card.is-cancelled h3{color:#a94750!important}
.bulk-import-history-table-wrap,.bulk-import-preview-table-wrap{overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.bulk-import-history-table{min-width:1040px;table-layout:fixed}
.bulk-import-history-table th:nth-child(1){width:64px}
.bulk-import-history-table th:nth-child(2){width:145px}
.bulk-import-history-table th:nth-child(3){width:220px}
.bulk-import-history-table th:nth-child(4){width:105px}
.bulk-import-history-table th:nth-child(5),.bulk-import-history-table th:nth-child(6),.bulk-import-history-table th:nth-child(7){width:72px}
.bulk-import-history-table th:nth-child(8){width:155px}
.bulk-import-history-table th:nth-child(9){width:100px}
.bulk-import-filename-cell span{display:block;max-width:100%;margin:0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr}
.bulk-import-history-table .table-actions{display:flex;align-items:center;justify-content:center}
.bulk-import-preview-table{width:100%;min-width:980px;table-layout:fixed}
.bulk-import-preview-table th,.bulk-import-preview-table td{padding-inline:10px;text-align:center;vertical-align:middle;overflow-wrap:anywhere}
.bulk-import-preview-table .bulk-import-cols-employee col:nth-child(1){width:8%}
.bulk-import-preview-table .bulk-import-cols-employee col:nth-child(2){width:14%}
.bulk-import-preview-table .bulk-import-cols-employee col:nth-child(3){width:26%}
.bulk-import-preview-table .bulk-import-cols-employee col:nth-child(4){width:18%}
.bulk-import-preview-table .bulk-import-cols-employee col:nth-child(5){width:18%}
.bulk-import-preview-table .bulk-import-cols-employee col:nth-child(6){width:16%}
.bulk-import-preview-table .bulk-import-cols-contract col:nth-child(1){width:7%}
.bulk-import-preview-table .bulk-import-cols-contract col:nth-child(2){width:16%}
.bulk-import-preview-table .bulk-import-cols-contract col:nth-child(3){width:22%}
.bulk-import-preview-table .bulk-import-cols-contract col:nth-child(4){width:14%}
.bulk-import-preview-table .bulk-import-cols-contract col:nth-child(5){width:13%}
.bulk-import-preview-table .bulk-import-cols-contract col:nth-child(6){width:16%}
.bulk-import-preview-table .bulk-import-cols-contract col:nth-child(7){width:12%}
.bulk-import-preview-table .bulk-import-cols-contract-files col:nth-child(1){width:8%}
.bulk-import-preview-table .bulk-import-cols-contract-files col:nth-child(2){width:14%}
.bulk-import-preview-table .bulk-import-cols-contract-files col:nth-child(3){width:24%}
.bulk-import-preview-table .bulk-import-cols-contract-files col:nth-child(4){width:22%}
.bulk-import-preview-table .bulk-import-cols-contract-files col:nth-child(5){width:18%}
.bulk-import-preview-table .bulk-import-cols-contract-files col:nth-child(6){width:14%}
.bulk-import-preview-table tr.has-error{background:#fffafa}
.bulk-import-error-list{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;text-align:center}
.bulk-import-error-list span{padding:5px 8px;border:1px solid #f0d5d8;border-radius:999px;color:#b4464e;background:#fff4f5;font-size:11.5px;line-height:1.55}
@media(max-width:1180px){
  .bulk-import-hero-actions{width:100%;justify-content:flex-start}
}
@media(max-width:900px){
  .bulk-import-kpi-overview{width:100%!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bulk-import-kpi-overview>.hr-overview-filter-card{width:auto!important;min-width:0!important;max-width:none!important}
}
@media(max-width:680px){
  .bulk-import-hero-actions{display:grid;grid-template-columns:1fr}
  .bulk-import-hero-actions>*{width:100%;justify-content:center}
  .bulk-import-upload-row{grid-template-columns:1fr}
  .bulk-import-review-btn{width:100%;min-width:0;height:39px}
  .bulk-import-file-shell{height:39px;min-height:39px}
  .bulk-import-action-head{align-items:stretch;flex-direction:column}
  .bulk-import-confirm-actions{width:100%;display:grid;grid-template-columns:1fr}
  .bulk-import-confirm-actions form,.bulk-import-confirm-actions button,.bulk-import-decision-btn{width:100%;min-width:0}
}
@media(max-width:540px){
  .bulk-import-kpi-overview{grid-template-columns:1fr!important}
  .bulk-import-preview-meta{display:grid;grid-template-columns:1fr}
  .bulk-import-preview-meta>span{width:100%;justify-content:center}
}
@media(max-width:480px){
  .bulk-import-file-shell{grid-template-columns:28px minmax(0,1fr);padding:0 8px}
  .bulk-import-file-icon{width:26px;height:26px}
  .bulk-import-file-shell .upload-copy{gap:6px}
  .bulk-import-file-shell .upload-copy b{font-size:11.5px}
  .bulk-import-file-shell .selected-file-name{font-size:11px}
}



/* =========================================================
   v7.1.179 — Employee Portal announcement + registration UI refinement.
   UI-only: no registration/upload validation or storage behavior changes.
   ========================================================= */
/* Announcements now use the exact neutral first-card family and 14px card gap of Payslips. */
.v46-portal-body .v7147-portal-announcement-hero{
  margin-bottom:14px;
  background:#fff;
  border-color:#e2e9ef;
  box-shadow:0 7px 20px rgba(31,52,77,.03);
}
.v46-portal-body .v7147-portal-announcement-hero .v46-portal-hero-badge{
  flex:0 0 auto;
}

/* Public registration dropdowns are intentionally one step more compact than text inputs. */
.v41-registration-page .v41-register-grid select{
  font-size:14px!important;
  line-height:1.45;
}
.v41-registration-page .v41-register-grid select option,
.v41-registration-page .v41-register-grid select optgroup{
  font-family:RoshanUI,Vazir,Tahoma,Arial,sans-serif;
  font-size:14px;
}

/* Address starts as a single compact line with its placeholder vertically centered; it remains resizable. */
.v41-registration-page #id_address{
  height:52px!important;
  min-height:52px!important;
  padding:12px 13px!important;
  line-height:26px!important;
  resize:vertical;
}

/* Keep the browser-native Browse caption, but give its button the current rounded control treatment. */
.v41-registration-page .v41-document-upload-card input[type=file]{
  height:42px;
  min-height:42px;
  padding:4px!important;
  border:1px solid #dce5ec!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#657489!important;
  font-family:RoshanUI,Vazir,Tahoma,Arial,sans-serif;
  font-size:12px!important;
  line-height:32px;
  cursor:pointer;
}
.v41-registration-page .v41-document-upload-card input[type=file]::file-selector-button{
  height:32px;
  margin:0 0 0 9px;
  padding:0 13px;
  border:1px solid #c9ddd7;
  border-radius:8px;
  color:#087d67;
  background:#eef9f6;
  font-family:RoshanUI,Vazir,Tahoma,Arial,sans-serif;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.v41-registration-page .v41-document-upload-card input[type=file]::file-selector-button:hover{
  border-color:#a9d2c7;
  color:#066c59;
  background:#e3f5f0;
}
.v41-registration-page .v41-document-upload-card:focus-within{
  border-color:#a9d2c7;
  background:#f8fcfb;
}
/* Preserve the project-wide no-hover-motion standard on these upload cards. */
.v41-registration-page .v41-document-upload-card:hover{transform:none}

@media(max-width:760px){
  .v46-portal-body .v7147-portal-announcement-hero{margin-bottom:14px}
  .v41-registration-page .v41-register-grid select{font-size:16px!important} /* iOS zoom safety */
  .v41-registration-page #id_address{font-size:16px!important}
}

/* =========================================================
   v7.1.180 — Employee Portal upload + announcement visual polish.
   UI-only: no recipient/read/upload validation or persistence changes.
   ========================================================= */
/* Profile document and employee-request pickers reuse the exact native Browse-button treatment from registration. */
.v46-portal-body .v41-resubmit-form input[type=file],
.v46-portal-body .v51-request-upload-shell input[type=file]{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding:4px!important;
  border:1px solid #dce5ec!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#657489!important;
  font-family:RoshanUI,Vazir,Tahoma,Arial,sans-serif!important;
  font-size:12px!important;
  line-height:32px!important;
  cursor:pointer;
  box-shadow:none!important;
}
.v46-portal-body .v41-resubmit-form input[type=file]::file-selector-button,
.v46-portal-body .v51-request-upload-shell input[type=file]::file-selector-button{
  height:32px;
  margin:0 0 0 9px;
  padding:0 13px;
  border:1px solid #c9ddd7;
  border-radius:8px;
  color:#087d67;
  background:#eef9f6;
  font-family:RoshanUI,Vazir,Tahoma,Arial,sans-serif;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.v46-portal-body .v41-resubmit-form input[type=file]::file-selector-button:hover,
.v46-portal-body .v51-request-upload-shell input[type=file]::file-selector-button:hover{
  border-color:#a9d2c7;
  color:#066c59;
  background:#e3f5f0;
}
.v46-portal-body .v41-resubmit-form input[type=file]:focus,
.v46-portal-body .v51-request-upload-shell input[type=file]:focus{
  border-color:#a9d2c7!important;
  box-shadow:0 0 0 3px rgba(8,125,103,.08)!important;
}
.v46-portal-body .v51-request-upload-shell{align-items:start}
.v46-portal-body .v51-request-upload-shell input[type=file]{grid-column:1/-1;margin-top:2px}

/* Dashboard announcements become compact themed cards instead of divider-only rows. */
.v46-portal-body .v7173-dashboard-announcements .v46-announcement-list{
  display:grid;
  gap:9px;
  padding-top:12px;
}
.v46-portal-body .v7173-dashboard-announcements .v46-announcement-list .v7180-dashboard-announcement-row{
  min-width:0;
  padding:12px 13px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:11px;
  align-items:start;
  border:1px solid #e2e9ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 3px 10px rgba(31,52,77,.025);
}
.v46-portal-body .v7173-dashboard-announcements .v46-announcement-list .v7180-dashboard-announcement-row:last-child{border-bottom:1px solid #e2e9ef}
.v46-portal-body .v7173-dashboard-announcements .v46-announcement-list .v7180-dashboard-announcement-row.is-unread{
  border-color:#cfe8e2;
  background:linear-gradient(135deg,#fff 0%,#f8fdfb 100%);
  box-shadow:inset -3px 0 0 #25a88e,0 3px 10px rgba(31,52,77,.025);
}
.v7180-dashboard-announcement-icon,
.v7180-announcement-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#087d67;
  background:#e9f8f4;
  flex:0 0 40px;
}
.v7180-dashboard-announcement-icon .ui-icon,
.v7180-announcement-icon .ui-icon{width:18px;height:18px}
.v7180-dashboard-announcement-main,
.v7180-portal-announcement-copy{min-width:0}
.v7180-dashboard-announcement-title{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.v7180-dashboard-announcement-title h3{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#2d4057!important;
  font-size:13.5px!important;
}
.v7180-dashboard-announcement-title span,
.v7180-announcement-state{
  flex:0 0 auto;
  min-height:24px;
  padding:0 8px!important;
  display:inline-flex!important;
  align-items:center;
  border-radius:999px!important;
  font-size:10.5px!important;
  font-weight:900!important;
}
.v7180-dashboard-announcement-title span.is-unread,
.v7180-announcement-state.is-unread{color:#087d67!important;background:#e6f8f3!important}
.v7180-dashboard-announcement-title span.is-read,
.v7180-announcement-state.is-read{color:#718093!important;background:#eef2f6!important}
.v7180-dashboard-announcement-main>p{
  margin:6px 0 9px!important;
  color:#6d7d90!important;
  font-size:12px!important;
  line-height:1.85!important;
  overflow-wrap:anywhere;
  word-break:break-word;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.v7180-dashboard-announcement-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:8px;
  border-top:1px solid #edf1f4;
}
.v7180-dashboard-announcement-footer>span{color:#8a97a7;font-size:10.5px}
.v46-portal-body .v46-announcement-list .v7180-dashboard-announcement-footer>a{
  margin:0;
  min-height:30px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid #d8e8e3;
  border-radius:8px;
  color:#087d67;
  background:#f4fbf9;
  font-size:11.5px!important;
  font-weight:900;
  text-decoration:none;
}
.v7180-dashboard-announcement-footer>a b{font-size:13px}

/* Announcement archive/list: stronger hierarchy, readable snippets and a real action surface. */
.v46-portal-body .v7180-portal-announcement-list-card{
  padding:18px;
  border-radius:17px;
  box-shadow:0 8px 22px rgba(31,52,77,.035);
}
.v46-portal-body .v7180-portal-announcement-section-head{
  margin-bottom:14px;
  padding-bottom:13px;
  border-bottom:1px solid #edf1f4;
}
.v7180-portal-announcement-section-head>div{min-width:0}
.v7180-portal-announcement-section-head h2{color:#2d4057;font-size:16px}
.v7180-portal-announcement-section-head p{margin:4px 0 0;color:#8a97a7;font-size:11.5px;line-height:1.7}
.v7180-portal-announcement-section-head>span{
  min-height:30px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  color:#52677c!important;
  background:#f0f4f7;
  font-weight:850;
  white-space:nowrap;
}
.v46-portal-body .v7180-portal-announcement-list{gap:9px}
.v46-portal-body .v7147-portal-announcement-item.v7180-portal-announcement-item{
  min-width:0;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  padding:13px;
  border:1px solid #e2e9ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 3px 10px rgba(31,52,77,.02);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.v46-portal-body .v7147-portal-announcement-item.v7180-portal-announcement-item:hover{
  border-color:#d2e2de;
  background:#fbfefd;
  box-shadow:0 5px 14px rgba(31,52,77,.035);
}
.v46-portal-body .v7147-portal-announcement-item.v7180-portal-announcement-item.is-unread{
  border-color:#cfe8e2;
  background:linear-gradient(135deg,#fff 0%,#f8fdfb 100%);
  box-shadow:inset -3px 0 0 #25a88e,0 3px 10px rgba(31,52,77,.02);
}
.v7180-announcement-title-row{display:flex;align-items:center;gap:9px;min-width:0}
.v7180-announcement-title-row h3{
  min-width:0;
  margin:0!important;
  color:#2d4057;
  font-size:13.5px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v7180-portal-announcement-copy>p{
  margin:5px 0 7px!important;
  color:#6d7d90!important;
  font-size:12px!important;
  line-height:1.85!important;
  overflow-wrap:anywhere;
  word-break:break-word;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.v7180-announcement-meta{display:flex;align-items:center;gap:7px;color:#8b98a8;font-size:10.5px}
.v7180-announcement-meta i{width:4px;height:4px;border-radius:50%;background:#c8d1da}
.v7180-announcement-open{
  min-height:34px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #d8e8e3;
  border-radius:9px;
  color:#087d67;
  background:#f4fbf9;
  font-size:11.5px;
  font-weight:900;
  white-space:nowrap;
}
.v7180-announcement-open b{font-size:13px}

/* Announcement detail: themed header, readable content and explicit read-state footer. */
.v46-portal-body .v7147-portal-announcement-detail.v7180-portal-announcement-detail{
  border-radius:18px;
  border-color:#dfe7ed;
  box-shadow:0 9px 26px rgba(31,52,77,.04);
}
.v46-portal-body .v7180-portal-announcement-detail>header{
  padding:18px 20px;
  align-items:center;
  border-bottom:1px solid #e5eee9;
  background:linear-gradient(135deg,#fff 0%,#f8fdfb 100%);
}
.v7180-announcement-detail-heading{display:flex;align-items:flex-start;gap:12px;min-width:0}
.v7180-announcement-detail-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#087d67;
  background:#e8f8f3;
}
.v7180-announcement-detail-icon .ui-icon{width:20px;height:20px}
.v7180-announcement-detail-heading>div{min-width:0}
.v7180-announcement-detail-heading small{color:#0b9278!important;font-size:11.5px!important;font-weight:900}
.v7180-announcement-detail-heading h1{
  margin:4px 0 6px!important;
  color:#26394f;
  font-size:20px;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.v7180-announcement-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v7180-announcement-detail-meta span{color:#7f8ea0!important;font-size:11px!important}
.v7180-announcement-detail-meta b{
  min-height:24px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  color:#087d67;
  background:#e6f8f3;
  font-size:10.5px;
  font-weight:900;
}
.v46-portal-body .v7180-portal-announcement-detail>header .v7180-announcement-detail-back{
  min-height:36px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #dbe5eb;
  border-radius:9px;
  color:#526b82;
  background:#fff;
  font-size:11.5px!important;
  white-space:nowrap;
}
.v7180-announcement-detail-back span{font-size:14px}
.v46-portal-body .v7180-portal-announcement-detail>article{
  min-height:170px;
  padding:24px 26px;
  background:#fff;
}
.v7180-announcement-detail-body{
  max-width:1120px;
  color:#34475d;
  font-size:13.5px;
  line-height:2.15;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.v46-portal-body .v7180-portal-announcement-detail>footer{
  padding:11px 18px;
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid #e7edf2;
  color:#6e7f91;
  background:#f8fbfa;
  font-size:11.5px!important;
}
.v7180-announcement-read-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#087d67;
  background:#e6f8f3;
  font-weight:950;
}

@media(max-width:720px){
  .v46-portal-body .v7147-portal-announcement-item.v7180-portal-announcement-item{grid-template-columns:38px minmax(0,1fr)}
  .v7180-announcement-icon{width:38px;height:38px}
  .v7180-announcement-open{grid-column:2;justify-self:start}
  .v7180-portal-announcement-section-head{align-items:flex-start;gap:10px}
  .v7180-dashboard-announcement-title{align-items:flex-start;flex-direction:column;gap:6px}
  .v7180-dashboard-announcement-title h3{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  .v7180-dashboard-announcement-footer{align-items:flex-start;flex-direction:column}
  .v7180-dashboard-announcement-footer>a{width:100%;justify-content:center}
  .v46-portal-body .v7180-portal-announcement-detail>header{display:grid;gap:13px}
  .v46-portal-body .v7180-portal-announcement-detail>header .v7180-announcement-detail-back{width:100%;justify-content:center}
  .v46-portal-body .v7180-portal-announcement-detail>article{padding:20px}
}

/* v7.1.181 — Announcement recipient report KPI/filter alignment (UI-only). */
.v7147-announcement-report-page .v71-kpi-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.v7147-announcement-report-page .v71-filterbar{
    grid-template-columns:minmax(320px,1fr) 180px 210px auto;
    gap:10px;
    align-items:end;
}
.v7147-announcement-report-page .v71-filterbar input,
.v7147-announcement-report-page .v71-filterbar select{
    height:39px;
}
.v7147-announcement-report-page .v71-filter-actions{
    display:flex;
    align-items:center;
    gap:8px;
    grid-column:auto;
    flex-wrap:nowrap;
}
.v7147-announcement-report-page .v71-filter-actions .ui-filter-action-standard{
    width:104px;
    min-width:104px;
    height:39px;
    min-height:39px;
    padding:0 10px;
    justify-content:center;
}
@media(max-width:1120px){
    .v7147-announcement-report-page .v71-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
    .v7147-announcement-report-page .v71-filterbar{grid-template-columns:minmax(260px,1fr) 170px 200px}
    .v7147-announcement-report-page .v71-filter-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:680px){
    .v7147-announcement-report-page .v71-kpi-strip{grid-template-columns:1fr}
    .v7147-announcement-report-page .v71-filterbar{grid-template-columns:1fr}
    .v7147-announcement-report-page .v71-filter-actions{grid-column:auto;flex-wrap:wrap}
    .v7147-announcement-report-page .v71-filter-actions .ui-filter-action-standard{width:100%;min-width:0;flex:1 1 140px}
}


/* v7.1.182 — Public auth micro-copy cleanup (UI-only).
   Only the two owner-requested navigation links are intentionally one step
   smaller than the canonical public-auth helper size. */
.v21-auth-page .v7182-auth-link-compact{font-size:12px!important}

/* v7.1.183 — Public Login/Recovery visual hierarchy refinement (UI-only).
   Login and the complete account-recovery flow use a calmer compact scale.
   Registration keeps the established public-auth typography unchanged. */
.v21-auth-page.v7183-auth-compact .v21-auth-card{
    width:min(490px,100%);
    padding:30px;
    border-radius:21px;
}
.v21-auth-page.v7183-auth-compact .v21-auth-brand{
    gap:10px;
    margin-bottom:18px;
}
.v21-auth-page.v7183-auth-compact .v21-auth-logo{
    width:52px;height:52px;flex-basis:52px;
    border-radius:15px;
}
.v21-auth-page.v7183-auth-compact .v21-auth-brand strong{font-size:16px}
.v21-auth-page.v7183-auth-compact .v21-auth-brand small{margin-top:2px;font-size:12px}
.v21-auth-page.v7183-auth-compact .v21-auth-head{margin-bottom:19px}
.v21-auth-page.v7183-auth-compact .v21-auth-head h1{
    margin:8px 0 5px;
    font-size:23px!important;
    line-height:1.45;
}
.v21-auth-page.v7183-auth-compact .v21-auth-head p{
    max-width:455px;
    font-size:13px!important;
    line-height:1.85;
}
.v21-auth-page.v7183-auth-compact .v21-auth-eyebrow{
    padding:5px 9px;
    font-size:11.5px;
}
.v21-auth-page.v7183-auth-compact .v21-auth-form{gap:13px}
.v21-auth-page.v7183-auth-compact .v21-field>label{
    margin-bottom:6px;
    font-size:13px!important;
}
.v21-auth-page.v7183-auth-compact .v21-input-wrap{min-height:47px;border-radius:11px}
.v21-auth-page.v7183-auth-compact .v21-input-wrap>i{width:44px}
.v21-auth-page.v7183-auth-compact .v21-input-wrap>i .ui-icon{width:18px;height:18px}
.v21-auth-page.v7183-auth-compact .v21-input-wrap input,
.v21-auth-page.v7183-auth-compact .v21-input-wrap select,
.v21-auth-page.v7183-auth-compact .v21-input-wrap textarea{
    min-height:45px;
    font-size:14px!important;
}
.v21-auth-page.v7183-auth-compact .v701-recovery-card .v21-input-wrap .form-control{
    padding:11px 13px;
}
.v21-auth-page.v7183-auth-compact .v21-auth-submit{
    min-height:48px;
    border-radius:11px;
    font-size:14.5px!important;
}
.v21-auth-page.v7183-auth-compact .v21-auth-submit b{font-size:19px}
.v21-auth-page.v7183-auth-compact .v21-auth-alert{
    margin-bottom:13px;
    padding:10px 12px;
    border-radius:10px;
    font-size:12.5px!important;
    line-height:1.8;
}
.v21-auth-page.v7183-auth-compact .v21-auth-switch{
    margin-top:15px;
    padding:12px;
    gap:12px;
    border-radius:11px;
}
.v21-auth-page.v7183-auth-compact .v21-auth-switch b{font-size:13px}
.v21-auth-page.v7183-auth-compact .v21-auth-switch span{font-size:11.5px;line-height:1.7}
.v21-auth-page.v7183-auth-compact .v21-auth-switch a{
    min-height:35px;
    padding:0 11px;
    border-radius:9px;
    font-size:12px!important;
}
.v21-auth-page.v7183-auth-compact .v701-auth-recovery{margin-top:2px}
.v21-auth-page.v7183-auth-compact .v701-recovery-back{margin-top:14px;padding-top:12px}
.site-auth-themed.v7183-auth-compact .v21-auth-card{transition:box-shadow .18s ease}
.site-auth-themed.v7183-auth-compact .v21-auth-card:hover{
    transform:none;
    box-shadow:0 32px 90px rgb(5 16 31 / 28%);
}
/* Keep the settings preview visually aligned with the calmer Login hierarchy. */
.site-login-preview-card h4{font-size:11.5px}
.site-login-preview-card p{font-size:7px}
@media(max-width:760px){
    .v21-auth-page.v7183-auth-compact .v21-auth-card{padding:22px 18px;border-radius:18px}
    .v21-auth-page.v7183-auth-compact .v21-auth-head h1{font-size:21px!important}
    .v21-auth-page.v7183-auth-compact .v21-auth-head p{font-size:12.5px!important}
    .v21-auth-page.v7183-auth-compact .v21-input-wrap input,
    .v21-auth-page.v7183-auth-compact .v21-input-wrap select,
    .v21-auth-page.v7183-auth-compact .v21-input-wrap textarea{font-size:16px!important}
}

/* v7.1.184 — Public Registration visual hierarchy alignment (UI-only).
   Registration now follows the calmer Login/Recovery scale while retaining
   its wide multi-section dossier layout and all existing form behavior. */
.v41-registration-page.v7184-register-compact{
    padding:24px 18px 46px;
}
.v41-registration-page.v7184-register-compact .v41-register-card{
    width:min(1080px,100%);
    padding:30px 34px 36px;
    border-radius:21px;
}
.v41-registration-page.v7184-register-compact .v21-back-link{
    margin-bottom:14px;
    font-size:12px!important;
}
.v41-registration-page.v7184-register-compact .v21-auth-brand{
    gap:10px;
    margin-bottom:17px;
}
.v41-registration-page.v7184-register-compact .v21-auth-logo{
    width:52px;height:52px;flex-basis:52px;
    border-radius:15px;
}
.v41-registration-page.v7184-register-compact .v21-auth-brand strong{font-size:16px}
.v41-registration-page.v7184-register-compact .v21-auth-brand small{margin-top:2px;font-size:12px}
.v41-registration-page.v7184-register-compact .v41-register-intro{
    max-width:680px;
    margin-bottom:17px;
}
.v41-registration-page.v7184-register-compact .v21-auth-head h1{
    margin:0 0 5px;
    font-size:23px!important;
    line-height:1.45;
}
.v41-registration-page.v7184-register-compact .v21-auth-head p{
    max-width:620px;
    font-size:13px!important;
    line-height:1.85;
}
.v41-registration-page.v7184-register-compact .v41-register-nav{
    margin:16px 0 4px;
    gap:8px;
}
.v41-registration-page.v7184-register-compact .v41-register-nav a{
    min-height:50px;
    padding:7px 9px;
    border-radius:11px;
    font-size:12px;
}
.v41-registration-page.v7184-register-compact .v41-register-nav span,
.v41-registration-page.v7184-register-compact .v41-form-section-head>span{
    width:32px;height:32px;min-width:32px;
    border-radius:9px;
    font-size:11.5px;
}
.v41-registration-page.v7184-register-compact .v41-registration-form{margin-top:10px}
.v41-registration-page.v7184-register-compact .v41-form-section{
    margin-top:16px;
    padding:16px;
    border-radius:15px;
    box-shadow:0 8px 24px rgba(31,48,75,.04);
}
.v41-registration-page.v7184-register-compact .v41-form-section-head{
    margin-bottom:13px;
    gap:10px;
    padding-bottom:10px;
}
.v41-registration-page.v7184-register-compact .v41-form-section-head b{font-size:14px}
.v41-registration-page.v7184-register-compact .v41-form-section-head small{
    margin-top:2px;
    font-size:11.5px;
    line-height:1.65;
}
.v41-registration-page.v7184-register-compact .v41-register-grid{gap:11px 12px}
.v41-registration-page.v7184-register-compact .v21-register-grid .form-field label{
    margin-bottom:6px;
    font-size:13px!important;
}
.v41-registration-page.v7184-register-compact .v21-register-grid input,
.v41-registration-page.v7184-register-compact .v21-register-grid select,
.v41-registration-page.v7184-register-compact .v21-register-grid textarea{
    min-height:47px;
    padding:0 12px;
    border-radius:11px;
    font-size:14px!important;
}
.v41-registration-page.v7184-register-compact #id_address{
    height:47px!important;
    min-height:47px!important;
    padding:10px 12px!important;
    line-height:25px!important;
}
.v41-registration-page.v7184-register-compact .v41-bank-block{
    margin:2px 0 9px;
    font-size:12px;
}
.v41-registration-page.v7184-register-compact .v41-bank-block.secondary{margin-top:15px}
.v41-registration-page.v7184-register-compact .v41-document-upload-grid{gap:10px}
.v41-registration-page.v7184-register-compact .v41-document-upload-card{
    min-height:108px;
    padding:12px;
    grid-template-columns:38px 1fr;
    gap:9px;
    border-radius:12px;
}
.v41-registration-page.v7184-register-compact .v41-upload-icon{
    width:38px;height:38px;
    border-radius:10px;
    font-size:18px;
}
.v41-registration-page.v7184-register-compact .v41-document-upload-card b{font-size:12.5px}
.v41-registration-page.v7184-register-compact .v41-document-upload-card small{font-size:11px}
.v41-registration-page.v7184-register-compact .v21-auth-submit{
    min-height:48px;
    border-radius:11px;
    font-size:14.5px!important;
}
.v41-registration-page.v7184-register-compact .v21-auth-submit b{font-size:19px}
.v41-registration-page.v7184-register-compact .v21-register-login{
    margin-top:14px;
    font-size:12px!important;
}
@media(max-width:760px){
    .v41-registration-page.v7184-register-compact{padding:18px 12px 32px}
    .v41-registration-page.v7184-register-compact .v41-register-card{padding:22px 18px 28px;border-radius:18px}
    .v41-registration-page.v7184-register-compact .v21-auth-head h1{font-size:21px!important}
    .v41-registration-page.v7184-register-compact .v21-auth-head p{font-size:12.5px!important}
    .v41-registration-page.v7184-register-compact .v21-register-grid input,
    .v41-registration-page.v7184-register-compact .v21-register-grid select,
    .v41-registration-page.v7184-register-compact .v21-register-grid textarea,
    .v41-registration-page.v7184-register-compact #id_address{font-size:16px!important}
}


/* =========================================================
   v7.1.186 — Read-only user activity audit log management.
   ========================================================= */
.audit-log-head-meta-v7186{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.audit-log-head-meta-v7186 p{margin:0;color:#7b8999;font-size:var(--ui-type-helper);line-height:1.9}.audit-log-filter-v7186{margin:0 16px 16px;padding:14px;border:1px solid #e4eaf0;border-radius:12px;background:#f9fbfc;display:flex;flex-direction:column;gap:10px}.audit-log-filter-primary-v7186,.audit-log-filter-secondary-v7186{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.audit-log-filter-primary-v7186 .audit-log-search-v7186{flex:1 1 300px;min-width:260px}.audit-log-filter-primary-v7186 .v71-filter-select{flex:0 1 190px;min-width:165px}.audit-log-filter-v7186 label{font-size:var(--ui-type-helper);font-weight:800;color:#536477}.audit-log-filter-secondary-v7186>label{display:flex;flex-direction:column;gap:5px;min-width:165px}.audit-log-filter-secondary-v7186 .report-date-input,.audit-log-filter-primary-v7186 select{height:39px;border:1px solid #dfe5eb;border-radius:9px;background:#fff;color:#43566b;font:inherit;font-size:var(--ui-type-body);padding:0 10px;box-sizing:border-box}.audit-log-filter-actions-v7186{display:flex;align-items:center;gap:8px}.audit-log-filter-errors-v7186{display:flex;gap:8px;flex-wrap:wrap}.audit-log-filter-errors-v7186 span{padding:7px 10px;border:1px solid #f1d1d4;border-radius:8px;background:#fff5f5;color:#a24b52;font-size:var(--ui-type-helper)}.audit-log-table-v7186{min-width:1040px}.audit-log-table-v7186 th,.audit-log-table-v7186 td{text-align:center;vertical-align:middle}.audit-log-time-v7186,.audit-log-ip-v7186{white-space:nowrap}.audit-log-username-v7186,.audit-log-object-id-v7186{display:block;margin-top:3px;color:#8a97a6;font-size:var(--ui-type-helper);font-weight:500}.audit-log-action-v7186{min-width:58px;padding:5px 9px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--ui-type-helper);font-weight:900;white-space:nowrap}.audit-log-action-v7186.is-create{background:#e8f7f2;color:#08775e}.audit-log-action-v7186.is-update{background:#fff5d9;color:#8a6812}.audit-log-action-v7186.is-delete{background:#fdebec;color:#a33c45}.audit-log-detail-grid-v7186{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.35fr);gap:16px;align-items:start}.audit-log-summary-v7186,.audit-log-changes-v7186{min-width:0}.audit-log-facts-v7186{margin:0;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audit-log-facts-v7186>div{padding:11px 12px;border:1px solid #e5eaf0;border-radius:10px;background:#fbfcfd;min-width:0}.audit-log-facts-v7186 dt{margin:0 0 5px;color:#8794a3;font-size:var(--ui-type-helper);font-weight:800}.audit-log-facts-v7186 dd{margin:0;color:#34495f;font-size:var(--ui-type-body);font-weight:800;overflow-wrap:anywhere}.audit-log-facts-v7186 dd small{display:block;margin-top:3px;color:#8794a3;font-size:var(--ui-type-helper);font-weight:500}.audit-log-fact-wide-v7186{grid-column:1/-1}.audit-log-detail-table-v7186{min-width:620px}.audit-log-value-v7186{max-width:420px;white-space:pre-wrap;overflow-wrap:anywhere;direction:auto}.audit-log-security-note-v7186{margin:0 16px 16px;padding:10px 12px;border:1px solid #dce7f2;border-radius:10px;background:#f5f9fd;display:flex;align-items:flex-start;gap:8px;color:#52677d}.audit-log-security-note-v7186 .ui-icon{width:18px;height:18px;flex:0 0 18px;margin-top:2px}.audit-log-security-note-v7186 p{margin:0;font-size:var(--ui-type-helper);line-height:1.9}.audit-log-kpis-v7186 .v711-kpi{min-width:0}
@media(max-width:1050px){.audit-log-detail-grid-v7186{grid-template-columns:1fr}.audit-log-filter-primary-v7186 .v71-filter-select{flex:1 1 180px}}
@media(max-width:760px){.audit-log-head-meta-v7186{align-items:stretch;flex-direction:column}.audit-log-filter-v7186{margin-inline:10px}.audit-log-filter-primary-v7186,.audit-log-filter-secondary-v7186{align-items:stretch;flex-direction:column}.audit-log-filter-primary-v7186 .audit-log-search-v7186,.audit-log-filter-primary-v7186 .v71-filter-select,.audit-log-filter-secondary-v7186>label,.audit-log-filter-primary-v7186 select,.audit-log-filter-secondary-v7186 .report-date-input,.audit-log-filter-actions-v7186,.audit-log-filter-actions-v7186 .ui-filter-action-standard{width:100%;max-width:none;min-width:0;box-sizing:border-box}.audit-log-filter-actions-v7186{flex-direction:column}.audit-log-facts-v7186{grid-template-columns:1fr}.audit-log-fact-wide-v7186{grid-column:auto}}

/* =========================================================
   v7.1.187 — User Activity Audit Log theme alignment.
   UI-only: reuse the canonical module hero/workspace/filter/table language.
   ========================================================= */
.audit-log-module-hero-v7187{
    min-height:190px;
    align-items:stretch!important;
}
.audit-log-module-copy-v7187{align-self:center;min-width:330px}
.audit-log-hero-meta-v7187{
    margin-top:14px;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.audit-log-hero-meta-v7187>span{
    min-height:30px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));
    border-radius:999px;
    color:#61728a;
    background:rgba(255,255,255,.82);
    font-size:var(--ui-type-helper);
    font-weight:800;
}
.audit-log-hero-meta-v7187 i{width:16px;height:16px;display:inline-flex;color:var(--accent)}
.audit-log-hero-meta-v7187 .ui-icon{width:16px;height:16px}

.audit-log-kpi-overview-v7187{
    width:min(664px,100%);
    display:grid;
    grid-template-columns:repeat(4,160px);
    gap:8px;
    align-self:stretch;
    align-content:center;
    justify-content:end;
    direction:ltr;
}
.audit-log-kpi-card-v7187{
    width:160px;
    min-width:160px;
    min-height:112px;
    padding:13px 12px;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:10px;
    direction:rtl;
    border:1px solid #e5ebf1;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(31,48,75,.055);
}
.audit-log-kpi-icon-v7187{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    display:grid;
    place-items:center;
    border-radius:11px!important;
    background:#eef4f8;
}
.audit-log-kpi-icon-v7187 .ui-icon{width:20px!important;height:20px!important}
.audit-log-kpi-card-v7187 div{min-width:0;display:block}
.audit-log-kpi-card-v7187 small,.audit-log-kpi-card-v7187 strong,.audit-log-kpi-card-v7187 em{display:block}
.audit-log-kpi-card-v7187 small{color:#65758a;font-size:var(--ui-type-kpi-title)!important;font-weight:var(--ui-weight-control)!important;white-space:nowrap}
.audit-log-kpi-card-v7187 strong{margin-top:5px;color:#263b51;font-size:var(--ui-type-kpi-value)!important;font-weight:900!important;line-height:1!important}
.audit-log-kpi-card-v7187 em{margin-top:6px;color:#94a0af;font-size:var(--ui-type-helper);font-style:normal;white-space:nowrap}
.audit-log-kpi-card-v7187.tone-total{color:#456b8a}.audit-log-kpi-card-v7187.tone-total .audit-log-kpi-icon-v7187{color:#456b8a;background:#eef4f8}
.audit-log-kpi-card-v7187.tone-create{color:#087d67}.audit-log-kpi-card-v7187.tone-create .audit-log-kpi-icon-v7187{color:#087d67;background:#e6f8f3}
.audit-log-kpi-card-v7187.tone-update{color:#a16f00}.audit-log-kpi-card-v7187.tone-update .audit-log-kpi-icon-v7187{color:#a16f00;background:#fff6db}
.audit-log-kpi-card-v7187.tone-delete{color:#b84d58}.audit-log-kpi-card-v7187.tone-delete .audit-log-kpi-icon-v7187{color:#b84d58;background:#fff0f1}

.audit-log-workspace-v7187{margin-top:14px!important;padding:18px!important}
.audit-log-workspace-head-v7187{align-items:center}
.audit-log-head-actions-v7187{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.audit-log-readonly-badge-v7187{
    min-height:30px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid #dce7f2;
    border-radius:999px;
    color:#58708a;
    background:#f6f9fc;
    font-size:var(--ui-type-helper);
    font-weight:850;
}
.audit-log-readonly-badge-v7187 i{width:15px;height:15px;display:inline-flex;color:#456b8a}
.audit-log-readonly-badge-v7187 .ui-icon{width:15px;height:15px}
.audit-log-filter-errors-v7187{margin:0 0 10px!important}
.audit-log-filter-v7187{margin-bottom:14px!important}
.audit-log-filter-primary-v7187 .audit-log-search-v7187{flex:1 1 320px;min-width:260px}
.audit-log-filter-primary-v7187 select{flex:0 1 175px;min-width:145px}
.audit-log-filter-secondary-v7187{justify-content:flex-start}
.audit-log-filter-secondary-v7187 .report-date-input{flex:0 1 190px!important;width:190px!important;min-width:155px!important}
.audit-log-table-wrap-v7187{border:1px solid #e7ecf1;border-radius:12px;overflow:auto;background:#fff}
.audit-log-table-v7187{min-width:1040px;margin:0!important}
.audit-log-table-v7187 th,.audit-log-table-v7187 td{text-align:center!important;vertical-align:middle!important}
.audit-log-table-v7187 thead th{background:#f7f9fc!important;color:#52667d!important}
.audit-log-table-v7187 tbody tr{transition:background-color .16s ease}
.audit-log-table-v7187 tbody tr:hover{background:#fbfdff}
.audit-log-row-index-v7187{width:54px;color:#7a899a;font-weight:900}
.audit-log-person-v7187,.audit-log-object-title-v7187{color:#33485e;font-weight:900}
.audit-log-module-pill-v7187{
    min-height:27px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dce6ef;
    border-radius:999px;
    color:#536b83;
    background:#f5f8fb;
    font-size:var(--ui-type-helper);
    font-weight:850;
    white-space:nowrap;
}
.audit-log-action-v7186{min-height:27px;box-sizing:border-box}
.audit-log-empty-v7187{min-height:190px;margin:12px;border-color:#dce6ef;background:linear-gradient(135deg,#fbfdff,#f8fafc)}
.audit-log-empty-v7187 .empty-icon .ui-icon{width:24px;height:24px}

.audit-log-detail-hero-v7187{min-height:176px;align-items:center!important}
.audit-log-detail-hero-side-v7187{min-width:300px;display:grid;gap:9px;align-content:center}
.audit-log-detail-operation-v7187{
    min-height:86px;
    padding:14px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:12px;
    border:1px solid #e4eaf0;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 22px rgba(31,48,75,.05);
}
.audit-log-detail-operation-v7187 small,.audit-log-detail-operation-v7187 strong,.audit-log-detail-operation-v7187 em{display:block}
.audit-log-detail-operation-v7187 small{color:#8b98a8;font-size:var(--ui-type-helper);font-weight:800}
.audit-log-detail-operation-v7187 strong{margin-top:3px;color:#34495f;font-size:var(--ui-type-body);font-weight:900}
.audit-log-detail-operation-v7187 em{margin-top:3px;color:#7e8b9b;font-size:var(--ui-type-helper);font-style:normal;overflow-wrap:anywhere}
.audit-log-back-v7187{width:100%;min-height:39px;box-sizing:border-box;justify-content:center}
.audit-log-back-v7187 .ui-icon{width:16px;height:16px}
.audit-log-detail-grid-v7187{margin-top:14px;display:grid;grid-template-columns:minmax(310px,.82fr) minmax(0,1.45fr);gap:14px;align-items:start}
.audit-log-summary-v7187,.audit-log-changes-v7187{margin-top:0!important;padding:18px!important;min-width:0}
.audit-log-detail-section-head-v7187{min-height:auto;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #edf1f4}
.audit-log-facts-v7187{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.audit-log-facts-v7187>div{padding:11px 12px;border:1px solid #e7ecf1;border-radius:11px;background:#fafcfe;min-width:0}
.audit-log-facts-v7187 dt{margin:0 0 5px;color:#8795a6;font-size:var(--ui-type-helper);font-weight:850}
.audit-log-facts-v7187 dd{margin:0;color:#34495f;font-size:var(--ui-type-body);font-weight:850;overflow-wrap:anywhere}
.audit-log-facts-v7187 dd small{display:block;margin-top:3px;color:#8b98a7;font-size:var(--ui-type-helper);font-weight:500}
.audit-log-fact-wide-v7187{grid-column:1/-1}
.audit-log-detail-table-wrap-v7187{border:1px solid #e7ecf1;border-radius:12px;overflow:auto;background:#fff}
.audit-log-detail-table-v7187{min-width:620px;margin:0!important}
.audit-log-detail-table-v7187 th,.audit-log-detail-table-v7187 td{text-align:center!important;vertical-align:middle!important}
.audit-log-detail-table-v7187 thead th{background:#f7f9fc!important;color:#52667d!important}
.audit-log-before-head-v7187{background:#fff9e9!important;color:#886d1e!important}
.audit-log-after-head-v7187{background:#edf9f5!important;color:#08745f!important}
.audit-log-value-v7187{max-width:420px;white-space:pre-wrap;overflow-wrap:anywhere;direction:auto}
.audit-log-before-v7187{background:#fffdf7}.audit-log-after-v7187{background:#fbfffd}
.audit-log-detail-empty-v7187{min-height:150px;margin:10px}
.audit-log-security-note-v7187{
    margin-top:12px;
    padding:10px 12px;
    display:flex;
    align-items:flex-start;
    gap:8px;
    border:1px solid #dce7f2;
    border-radius:10px;
    color:#52677d;
    background:#f5f9fd;
}
.audit-log-security-note-v7187>span{width:18px;height:18px;flex:0 0 18px;margin-top:2px;color:#456b8a}
.audit-log-security-note-v7187 .ui-icon{width:18px;height:18px}
.audit-log-security-note-v7187 p{margin:0;font-size:var(--ui-type-helper);line-height:1.9}

@media(max-width:1380px){
    .audit-log-module-hero-v7187{grid-template-columns:1fr!important}
    .audit-log-kpi-overview-v7187{width:100%;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;direction:rtl}
    .audit-log-kpi-card-v7187{width:auto;min-width:0}
}
@media(max-width:1050px){
    .audit-log-kpi-overview-v7187{grid-template-columns:repeat(2,minmax(0,1fr))}
    .audit-log-detail-grid-v7187{grid-template-columns:1fr}
    .audit-log-detail-hero-v7187{grid-template-columns:1fr!important}
    .audit-log-detail-hero-side-v7187{width:100%;min-width:0}
}
@media(max-width:980px){
    .audit-log-filter-primary-v7187 .audit-log-search-v7187{flex:1 1 100%;min-width:100%}
    .audit-log-filter-primary-v7187 select{flex:1 1 170px}
}
@media(max-width:760px){
    .audit-log-module-copy-v7187{min-width:0}
    .audit-log-kpi-overview-v7187{grid-template-columns:1fr}
    .audit-log-head-actions-v7187{width:100%;justify-content:flex-start}
    .audit-log-filter-primary-v7187,.audit-log-filter-secondary-v7187{align-items:stretch!important;flex-direction:column!important;flex-wrap:nowrap!important}
    .audit-log-filter-primary-v7187 .audit-log-search-v7187,
    .audit-log-filter-primary-v7187 select,
    .audit-log-filter-secondary-v7187 .report-date-input,
    .audit-log-filter-v7187 .report-filter-action{width:100%!important;max-width:none!important;min-width:0!important;flex:1 1 100%!important;box-sizing:border-box}
    .audit-log-facts-v7187{grid-template-columns:1fr}.audit-log-fact-wide-v7187{grid-column:auto}
}

/* =========================================================
   v7.1.188 — Audit Log detail UX refinement.
   UI-only: managerial summary first; technical trace data collapsed by default.
   ========================================================= */
.audit-log-detail-hero-v7188{
    min-height:132px!important;
    margin-bottom:14px!important;
    padding-block:20px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
}
.audit-log-detail-copy-v7188{min-width:0}
.audit-log-detail-copy-v7188 p{max-width:720px}
.audit-log-detail-actions-v7188{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.audit-log-back-v7188{min-width:132px!important;height:39px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}
.audit-log-back-v7188 .ui-icon{width:16px;height:16px}

.audit-log-event-summary-v7188,.audit-log-content-v7188{margin-top:14px!important;padding:18px!important;min-width:0}
.audit-log-detail-section-head-v7188{align-items:center!important;margin-bottom:14px!important}
.audit-log-detail-section-head-v7188 h3{margin-top:3px!important}
.audit-log-detail-section-head-v7188 p{margin-top:4px!important;max-width:760px}
.audit-log-summary-grid-v7188{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.audit-log-summary-item-v7188{
    min-height:76px;
    padding:12px 13px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #e6ebf1;
    border-radius:12px;
    background:#fbfcfe;
    min-width:0;
}
.audit-log-summary-item-v7188 dt{margin:0 0 6px;color:#8492a2;font-size:var(--ui-type-helper);font-weight:850}
.audit-log-summary-item-v7188 dd{margin:0;color:#31475d;font-size:var(--ui-type-body);font-weight:900;line-height:1.8;overflow-wrap:anywhere}
.audit-log-summary-item-v7188 dd small{display:block;margin-top:2px;color:#8d99a7;font-size:var(--ui-type-helper);font-weight:500}
.audit-log-summary-item-v7188.is-action{background:#f8fbfd}
.audit-log-summary-item-v7188.is-action dd{display:flex;align-items:center}
.audit-log-summary-item-v7188.is-record{grid-column:span 1}

.audit-log-diff-wrap-v7188{border:1px solid #e7ecf1;border-radius:12px;overflow:auto;background:#fff}
.audit-log-diff-table-v7188{min-width:650px;margin:0!important}
.audit-log-diff-table-v7188 th,.audit-log-diff-table-v7188 td{text-align:center!important;vertical-align:middle!important}
.audit-log-diff-table-v7188 thead th{background:#f7f9fc!important;color:#52667d!important}
.audit-log-before-head-v7188{background:#fff9e9!important;color:#886d1e!important}
.audit-log-after-head-v7188{background:#edf9f5!important;color:#08745f!important}
.audit-log-field-v7188{width:25%;color:#3c5269}
.audit-log-value-v7188{max-width:430px;white-space:pre-wrap;overflow-wrap:anywhere;direction:auto;line-height:1.9}
.audit-log-before-v7188{background:#fffdf7}.audit-log-after-v7188{background:#fbfffd}

.audit-log-snapshot-grid-v7188{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.audit-log-snapshot-item-v7188{
    min-height:64px;
    padding:11px 13px;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);
    align-items:center;
    gap:12px;
    border:1px solid #e8edf2;
    border-radius:11px;
    background:#fff;
    min-width:0;
}
.audit-log-snapshot-item-v7188 dt{margin:0;color:#708095;font-size:var(--ui-type-helper);font-weight:850}
.audit-log-snapshot-item-v7188 dd{margin:0;color:#32495f;font-size:var(--ui-type-body);font-weight:800;line-height:1.9;overflow-wrap:anywhere;direction:auto}
.audit-log-snapshot-item-v7188:nth-child(4n+1),.audit-log-snapshot-item-v7188:nth-child(4n+2){background:#fbfcfe}
.audit-log-detail-empty-v7188{grid-column:1/-1;min-height:130px;margin:0}
.audit-log-security-note-v7188{
    margin-top:12px;
    padding:9px 11px;
    display:flex;
    align-items:flex-start;
    gap:8px;
    border:1px solid #dfe8f1;
    border-radius:10px;
    color:#5a6f84;
    background:#f7fafc;
}
.audit-log-security-note-v7188>span{width:17px;height:17px;flex:0 0 17px;margin-top:2px;color:#4d718f}
.audit-log-security-note-v7188 .ui-icon{width:17px;height:17px}
.audit-log-security-note-v7188 p{margin:0;font-size:var(--ui-type-helper);line-height:1.9}

.audit-log-technical-v7188{
    margin-top:14px;
    border:1px solid #e1e7ed;
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 20px rgba(30,50,75,.035);
    overflow:hidden;
}
.audit-log-technical-v7188>summary{
    min-height:58px;
    padding:10px 14px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    cursor:pointer;
    list-style:none;
    user-select:none;
}
.audit-log-technical-v7188>summary::-webkit-details-marker{display:none}
.audit-log-technical-v7188>summary>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.audit-log-technical-v7188>summary strong{color:#4b6076;font-size:var(--ui-type-body);font-weight:900}
.audit-log-technical-v7188>summary small{color:#929eab;font-size:var(--ui-type-helper);font-weight:500;line-height:1.7}
.audit-log-technical-toggle-v7188{min-width:82px;text-align:center;color:#607991;font-size:var(--ui-type-helper);font-weight:850}
.audit-log-technical-v7188[open] .audit-log-technical-toggle-v7188{font-size:0}
.audit-log-technical-v7188[open] .audit-log-technical-toggle-v7188::after{content:'بستن جزئیات';font-size:var(--ui-type-helper)}
.audit-log-technical-v7188[open]>summary{border-bottom:1px solid #e8edf2;background:#fafbfd}
.audit-log-technical-grid-v7188{margin:0;padding:12px 14px 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.audit-log-technical-grid-v7188>div{padding:10px 11px;border:1px solid #ebeff3;border-radius:9px;background:#fbfcfd;min-width:0}
.audit-log-technical-grid-v7188 dt{margin:0 0 5px;color:#8a97a5;font-size:var(--ui-type-helper);font-weight:800}
.audit-log-technical-grid-v7188 dd{margin:0;color:#556a7f;font-size:var(--ui-type-helper);font-weight:750;line-height:1.8;overflow-wrap:anywhere}
.audit-log-technical-wide-v7188{grid-column:1/-1}

@media(max-width:1050px){
    .audit-log-detail-hero-v7188{grid-template-columns:1fr!important}
    .audit-log-detail-actions-v7188{justify-content:flex-start}
    .audit-log-summary-grid-v7188{grid-template-columns:repeat(2,minmax(0,1fr))}
    .audit-log-technical-grid-v7188{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .audit-log-detail-hero-v7188{padding-block:16px!important}
    .audit-log-detail-actions-v7188,.audit-log-back-v7188{width:100%}
    .audit-log-summary-grid-v7188,.audit-log-snapshot-grid-v7188,.audit-log-technical-grid-v7188{grid-template-columns:1fr}
    .audit-log-snapshot-item-v7188{grid-template-columns:1fr;gap:4px}
    .audit-log-technical-wide-v7188{grid-column:auto}
    .audit-log-technical-v7188>summary{align-items:flex-start}
}

/* =========================================================
   v7.1.190 — Stage 5 Backup & Restore Management Foundation.
   Superuser-only operational backup workspace; restore remains gated.
   ========================================================= */
.backup-hero-v7190{min-height:150px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;margin-bottom:14px!important}
.backup-hero-state-v7190{min-width:230px;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #dfe7ee;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(31,48,75,.045)}
.backup-hero-state-icon-v7190{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f0f6fb;color:#496b88;flex:0 0 42px}
.backup-hero-state-icon-v7190 .ui-icon{width:22px;height:22px}
.backup-hero-state-v7190 strong,.backup-hero-state-v7190 small{display:block}.backup-hero-state-v7190 strong{color:#30485f;font-size:var(--ui-type-body);font-weight:900}.backup-hero-state-v7190 small{margin-top:3px;color:#8493a3;font-size:var(--ui-type-helper);font-weight:700}
.backup-error-v7190{margin:0 0 14px}

.backup-kpi-grid-v7190{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.backup-kpi-v7190{min-height:112px;padding:14px 15px;box-sizing:border-box;display:flex;align-items:center;gap:12px;border:1px solid #e1e8ee;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(31,48,75,.04);min-width:0}
.backup-kpi-v7190>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;background:#f4f8fb;color:#526f89}.backup-kpi-v7190>span .ui-icon{width:21px;height:21px}
.backup-kpi-v7190>div{min-width:0}.backup-kpi-v7190 small,.backup-kpi-v7190 strong,.backup-kpi-v7190 em{display:block}
.backup-kpi-v7190 small{color:#8593a2;font-size:var(--ui-type-helper);font-weight:800}.backup-kpi-v7190 strong{margin-top:3px;color:#30485f;font-size:24px;line-height:1.45;font-weight:950}.backup-kpi-v7190 em{margin-top:2px;color:#9aa5b0;font-size:var(--ui-type-helper);font-style:normal;font-weight:600}
.backup-kpi-v7190 .backup-kpi-size-v7190{font-size:19px}.backup-kpi-v7190 .backup-kpi-date-v7190{font-size:14px;line-height:1.9;white-space:nowrap}

.backup-create-card-v7190,.backup-list-card-v7190{margin-top:14px!important;padding:18px!important}.backup-section-head-v7190{align-items:center!important;margin-bottom:14px!important}.backup-section-head-v7190 p{max-width:820px}
.backup-foundation-badge-v7190{padding:7px 10px;border-radius:999px;border:1px solid #dce7f1;background:#f6f9fc;color:#60788f;font-size:var(--ui-type-helper);font-weight:850;white-space:nowrap}
.backup-create-options-v7190{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.backup-create-option-v7190{min-height:145px;padding:14px;border:1px solid #e3e9ef;border-radius:14px;background:#fbfcfe;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;box-sizing:border-box}
.backup-create-option-v7190.is-full{background:linear-gradient(135deg,#fbfdff,#f4f9fd);border-color:#dbe7f1}
.backup-create-icon-v7190{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#fff;border:1px solid #e2e9f0;color:#496d8b;box-shadow:0 6px 18px rgba(40,61,86,.04)}.backup-create-icon-v7190 .ui-icon{width:24px;height:24px}
.backup-create-option-v7190 strong{display:block;color:#30485f;font-size:15px;font-weight:950}.backup-create-option-v7190 p{margin:4px 0 0;color:#64778a;font-size:var(--ui-type-helper);line-height:1.9}.backup-create-option-v7190 small{display:block;margin-top:4px;color:#94a0ac;font-size:var(--ui-type-helper);font-weight:700}
.backup-create-btn-v7190{min-width:152px!important;width:auto!important;height:39px!important;box-sizing:border-box;white-space:nowrap}
.backup-safety-strip-v7190{margin-top:12px;padding:10px 12px;display:flex;align-items:flex-start;gap:9px;border:1px solid #dce8f1;border-radius:11px;background:#f7fafc;color:#566d83}.backup-safety-strip-v7190>span{width:18px;height:18px;flex:0 0 18px;margin-top:2px}.backup-safety-strip-v7190 .ui-icon{width:18px;height:18px}.backup-safety-strip-v7190 p{margin:0;font-size:var(--ui-type-helper);line-height:1.9}

.backup-table-wrap-v7190{border:1px solid #e5ebf1;border-radius:12px;overflow:auto;background:#fff}.backup-table-v7190{min-width:1050px;margin:0!important}.backup-table-v7190 th,.backup-table-v7190 td{text-align:center!important;vertical-align:middle!important}.backup-table-v7190 td small{display:block;margin-top:4px;color:#8c99a7;font-size:var(--ui-type-helper);line-height:1.6}.backup-filename-v7190{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline:auto}
.backup-type-v7190{display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:27px;padding:3px 8px;box-sizing:border-box;border-radius:999px;border:1px solid #dfe6ed;background:#f7f9fb;color:#617489;font-size:var(--ui-type-helper);font-weight:850}.backup-type-v7190.is-full{border-color:#cfe2ef;background:#eef7fc;color:#356987}
.backup-health-v7190{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:3px 9px;border-radius:999px;font-size:var(--ui-type-helper);font-weight:900;white-space:nowrap}.backup-health-v7190 .ui-icon{width:14px;height:14px}.backup-health-v7190.is-verified{border:1px solid #cfe7dc;background:#f0faf5;color:#28735b}.backup-health-v7190.is-pending{border:1px solid #eadfbf;background:#fffaf0;color:#806923}.backup-health-v7190.is-invalid{border:1px solid #efcfd1;background:#fff5f5;color:#9b4a50}
.backup-actions-v7190{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.backup-actions-v7190 form{margin:0}.backup-actions-v7190 .hr-table-action{min-width:76px}.backup-verify-btn-v7190{border:0;cursor:pointer;font-family:inherit}.backup-action-disabled-v7190{color:#a5afb9;font-size:var(--ui-type-helper);font-weight:800}
.backup-empty-v7190{min-height:180px;margin:10px}.backup-empty-v7190 .empty-icon .ui-icon{width:25px;height:25px}


@media(max-width:1180px){.backup-kpi-grid-v7190{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-create-option-v7190{grid-template-columns:auto minmax(0,1fr)}.backup-create-btn-v7190{grid-column:1/-1;width:100%!important}.backup-hero-v7190{grid-template-columns:1fr!important}.backup-hero-state-v7190{min-width:0;max-width:360px}}
@media(max-width:780px){.backup-kpi-grid-v7190,.backup-create-options-v7190{grid-template-columns:1fr}.backup-create-option-v7190{grid-template-columns:1fr}.backup-create-icon-v7190{width:42px;height:42px}.backup-foundation-badge-v7190{display:none}.backup-kpi-v7190 .backup-kpi-date-v7190{white-space:normal}}

/* v7.1.193 — Controlled Restore workflow */
.restore-hero-v7193{min-height:138px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;margin-bottom:14px!important}.restore-back-btn-v7193{min-width:104px!important;height:39px!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.restore-summary-grid-v7193{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.restore-summary-grid-v7193 article{min-height:106px;padding:15px;border:1px solid #e1e8ee;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(31,48,75,.04);box-sizing:border-box}.restore-summary-grid-v7193 small,.restore-summary-grid-v7193 strong,.restore-summary-grid-v7193 span{display:block}.restore-summary-grid-v7193 small{color:#8795a3;font-size:12px;font-weight:800}.restore-summary-grid-v7193 strong{margin-top:5px;color:#30485f;font-size:16px;font-weight:950;line-height:1.8}.restore-summary-grid-v7193 span{margin-top:3px;color:#8997a5;font-size:11px;line-height:1.7}.restore-ready-text-v7193{color:#28735b!important}
.restore-protection-card-v7193,.restore-danger-card-v7193{margin-top:14px!important;padding:18px!important}.restore-steps-v7193{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.restore-steps-v7193>div{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #e4eaf0;border-radius:12px;background:#fafcfd;min-width:0}.restore-steps-v7193 b{width:26px;height:26px;border-radius:8px;background:#eef4f8;color:#4c708d;display:grid;place-items:center;flex:0 0 26px;font-size:12px}.restore-steps-v7193 strong,.restore-steps-v7193 small{display:block}.restore-steps-v7193 strong{color:#40576d;font-size:12px;font-weight:900;line-height:1.8}.restore-steps-v7193 small{margin-top:3px;color:#80909f;font-size:10.5px;line-height:1.8}
.restore-danger-card-v7193{border-color:#ecd8da!important;background:linear-gradient(180deg,#fff,#fffafa)!important}.restore-danger-head-v7193{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.restore-danger-icon-v7193{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:12px;background:#fff0f1;color:#b9535c;border:1px solid #efd7d9}.restore-danger-icon-v7193 .ui-icon{width:22px;height:22px}.restore-danger-head-v7193 h3{margin:3px 0;color:#71474b}.restore-danger-head-v7193 p{margin:4px 0 0;color:#8b6a6d;font-size:12px;line-height:1.9}
.restore-confirm-form-v7193{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.restore-confirm-form-v7193 label{display:flex;flex-direction:column;gap:6px;color:#52697d;font-size:12px;font-weight:800}.restore-confirm-form-v7193 input[type=password],.restore-confirm-form-v7193 input[type=text]{height:42px;padding:0 12px;border:1px solid #d9e2e9;border-radius:9px;background:#fff;font:inherit;box-sizing:border-box}.restore-confirm-form-v7193 input:focus{outline:none;border-color:#9db6c9;box-shadow:0 0 0 3px rgba(94,133,163,.10)}.restore-file-v7193{grid-column:1/-1;padding:11px 12px;border:1px solid #e1e7ed;border-radius:10px;background:#f8fafc}.restore-file-v7193 small{display:block;color:#8997a4;font-size:11px;font-weight:800}.restore-file-v7193 code{display:block;margin-top:5px;color:#4d6275;font-size:12px;overflow-wrap:anywhere}.restore-ack-v7193{grid-column:1/-1!important;flex-direction:row!important;align-items:center;gap:8px!important;padding:10px 12px;border:1px solid #ecdadd;border-radius:10px;background:#fff7f8;color:#74555a!important}.restore-ack-v7193 input{width:17px;height:17px}.restore-confirm-actions-v7193{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:2px}.restore-confirm-actions-v7193 .ghost-btn,.restore-submit-v7193{min-width:150px!important;height:39px!important;display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none}.restore-submit-v7193{border:0;cursor:pointer;font-family:inherit}
@media(max-width:1150px){.restore-summary-grid-v7193{grid-template-columns:repeat(2,minmax(0,1fr))}.restore-steps-v7193{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.restore-hero-v7193{grid-template-columns:1fr!important}.restore-summary-grid-v7193,.restore-steps-v7193,.restore-confirm-form-v7193{grid-template-columns:1fr}.restore-file-v7193,.restore-ack-v7193,.restore-confirm-actions-v7193{grid-column:auto}.restore-confirm-actions-v7193{flex-direction:column}.restore-confirm-actions-v7193 .ghost-btn,.restore-submit-v7193{width:100%!important}}
.backup-type-v7190.is-pre-restore-v7193{border-color:#e6d8ef;background:#faf5fd;color:#79588d}

/* =========================================================
   v7.1.194 — Restore Success Experience Polish
   Standalone post-restore page; session is intentionally invalidated.
   ========================================================= */
.restore-success-page-v7194{
  min-height:100vh;
  margin:0;
  color:#24384c;
  background:
    radial-gradient(circle at 12% 12%,rgba(69,107,138,.10),transparent 32%),
    radial-gradient(circle at 88% 88%,rgba(22,162,118,.08),transparent 30%),
    linear-gradient(155deg,#f8fafc 0%,#f2f6f9 48%,#eef3f7 100%);
}
.restore-success-page-v7194::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(69,107,138,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(69,107,138,.025) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 72%);
}
.restore-success-shell-v7194{min-height:100vh;display:grid;place-items:center;padding:34px 18px;position:relative;z-index:1}
.restore-success-card-v7194{width:min(790px,100%);padding:28px;border:1px solid #dfe7ee;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(31,48,75,.10);box-sizing:border-box}
.restore-success-head-v7194{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start;padding-bottom:20px;border-bottom:1px solid #e8edf2}
.restore-success-icon-v7194{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;color:#1d7b5c;background:linear-gradient(145deg,#eefaf5,#e4f5ed);border:1px solid #cfe8dc;box-shadow:0 10px 24px rgba(31,125,93,.08)}
.restore-success-icon-v7194 .ui-icon{width:31px;height:31px;stroke-width:1.8}
.restore-success-copy-v7194{min-width:0}.restore-success-kicker-v7194{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid #d5e9df;border-radius:999px;color:#33745f;background:#f3faf6;font-size:11px;font-weight:900}
.restore-success-copy-v7194 h1{margin:8px 0 5px;color:#24394e;font-size:22px;line-height:1.65;font-weight:950}.restore-success-copy-v7194 p{max-width:650px;margin:0;color:#718193;font-size:13px;line-height:2}
.restore-success-assurance-v7194{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}
.restore-success-assurance-v7194>span{min-height:46px;padding:9px 10px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e0e8ee;border-radius:11px;color:#526b7f;background:#f9fbfc;font-size:11.5px;font-weight:850;text-align:center}
.restore-success-assurance-v7194 i{width:20px;height:20px;display:grid;place-items:center;color:#3f7a68;flex:0 0 20px}.restore-success-assurance-v7194 .ui-icon{width:17px;height:17px}
.restore-success-summary-v7194{padding:16px;border:1px solid #e1e8ee;border-radius:15px;background:#fbfcfd}
.restore-success-summary-head-v7194{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.restore-success-summary-title-v7194{display:flex;align-items:center;gap:9px}.restore-success-summary-title-v7194>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#4a6f8d;background:#eef4f8}.restore-success-summary-title-v7194>span .ui-icon{width:18px;height:18px}
.restore-success-summary-title-v7194 small,.restore-success-summary-title-v7194 h2{display:block}.restore-success-summary-title-v7194 small{color:#8b98a5;font-size:10.5px;font-weight:800}.restore-success-summary-title-v7194 h2{margin:1px 0 0;color:#385066;font-size:14px;font-weight:950}
.restore-success-badge-v7194{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:4px 9px;border:1px solid #cfe7dc;border-radius:999px;color:#28735b;background:#f0faf5;font-size:10.5px;font-weight:900;white-space:nowrap}.restore-success-badge-v7194 i{width:14px;height:14px}.restore-success-badge-v7194 .ui-icon{width:14px;height:14px}
.restore-success-grid-v7194{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.restore-success-grid-v7194 article{min-height:79px;padding:11px 12px;border:1px solid #e5ebf0;border-radius:11px;background:#fff;min-width:0}.restore-success-grid-v7194 small{display:block;margin-bottom:5px;color:#8996a4;font-size:10.5px;font-weight:800}.restore-success-grid-v7194 code,.restore-success-grid-v7194 strong{display:block;color:#40576c;font-size:11.5px;line-height:1.85;font-weight:850;overflow-wrap:anywhere}.restore-success-grid-v7194 code{font-family:Consolas,'Courier New',monospace!important;direction:ltr;text-align:left;color:#52677a}.restore-success-grid-v7194 strong{font-family:var(--ui-font-family,'RoshanUI',Vazir,Tahoma,Arial,sans-serif)!important}
.restore-success-security-v7194{margin-top:13px;padding:11px 12px;display:flex;align-items:flex-start;gap:10px;border:1px solid #dce7ef;border-radius:12px;background:#f7fafc}.restore-success-security-v7194>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:9px;color:#4c708d;background:#edf4f8}.restore-success-security-v7194>span .ui-icon{width:18px;height:18px}.restore-success-security-v7194 strong{display:block;color:#435b70;font-size:12px;font-weight:950}.restore-success-security-v7194 p{margin:2px 0 0;color:#7b8a99;font-size:10.5px;line-height:1.9}
.restore-success-actions-v7194{display:flex;justify-content:center;margin-top:17px}.restore-success-primary-v7194{min-width:190px;height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#456b8a,#31546f);box-shadow:0 11px 24px rgba(49,84,111,.18);font-size:12.5px;font-weight:950;transition:box-shadow .18s ease,transform .18s ease}.restore-success-primary-v7194:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(49,84,111,.24)}.restore-success-primary-v7194 b{font-size:18px;line-height:1}
@media(prefers-reduced-motion:reduce){.restore-success-primary-v7194{transition:none}.restore-success-primary-v7194:hover{transform:none}}
@media(max-width:720px){.restore-success-shell-v7194{padding:18px 12px}.restore-success-card-v7194{padding:20px 16px;border-radius:18px}.restore-success-head-v7194{grid-template-columns:1fr;text-align:center}.restore-success-icon-v7194{margin-inline:auto}.restore-success-copy-v7194 h1{font-size:19px}.restore-success-assurance-v7194,.restore-success-grid-v7194{grid-template-columns:1fr}.restore-success-summary-head-v7194{align-items:flex-start;flex-direction:column}.restore-success-primary-v7194{width:100%}}

/* v7.1.195 — Backup retention & storage safety. */
.backup-retention-card-v7195{margin-top:14px!important;padding:18px!important}
.backup-retention-badge-v7195{border-color:#dce9df;background:#f5faf7;color:#52745f}
.backup-retention-grid-v7195{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.backup-retention-grid-v7195 article{min-height:100px;padding:13px;box-sizing:border-box;display:flex;align-items:center;gap:11px;border:1px solid #e3e9ef;border-radius:13px;background:#fbfcfd;min-width:0}
.backup-retention-grid-v7195 article>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border:1px solid #e2e8ee;border-radius:11px;background:#fff;color:#57738b}.backup-retention-grid-v7195 article>span .ui-icon{width:20px;height:20px}
.backup-retention-grid-v7195 article small,.backup-retention-grid-v7195 article strong,.backup-retention-grid-v7195 article em{display:block}.backup-retention-grid-v7195 article small{color:#8896a4;font-size:var(--ui-type-helper);font-weight:800}.backup-retention-grid-v7195 article strong{margin-top:3px;color:#30485f;font-size:17px;font-weight:950}.backup-retention-grid-v7195 article em{margin-top:2px;color:#96a2ad;font-size:var(--ui-type-helper);font-style:normal;line-height:1.7}.backup-retention-grid-v7195 article.is-protected{border-color:#d8e8df;background:#f7fbf8}.backup-retention-grid-v7195 article.is-protected>span{color:#39745c;border-color:#d9e9e0;background:#f2f9f5}
.backup-storage-safety-v7195{margin-top:11px;padding:10px 12px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;border:1px solid #dfe7ee;border-radius:11px;background:#f7fafc}.backup-storage-safety-v7195>div{padding-inline-end:12px;border-inline-end:1px solid #e2e9ef}.backup-storage-safety-v7195 small,.backup-storage-safety-v7195 strong{display:block}.backup-storage-safety-v7195 small{color:#8996a4;font-size:var(--ui-type-helper);font-weight:750}.backup-storage-safety-v7195 strong{margin-top:2px;color:#405a72;font-size:14px;font-weight:900}.backup-storage-safety-v7195 p{margin:0;color:#687b8d;font-size:var(--ui-type-helper);line-height:1.9}
.backup-type-stack-v7195{display:flex;flex-direction:column;align-items:center;gap:5px}.backup-protected-v7195{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 7px;border:1px solid #d6e7dc;border-radius:999px;background:#f1f9f4;color:#33725a;font-size:10px;font-weight:900;white-space:nowrap}.backup-protected-v7195 .ui-icon{width:12px;height:12px}.hr-admin-table-standard .backup-protect-btn-v7195{border-color:#a8d7bb!important;background:#f1faf5!important;color:#27704f!important;cursor:pointer;font-family:inherit}.hr-admin-table-standard .backup-protect-btn-v7195:hover,.hr-admin-table-standard .backup-protect-btn-v7195:focus-visible{border-color:#7fc29d!important;background:#e5f6ec!important;color:#1f6344!important}.hr-admin-table-standard .backup-protect-btn-v7195.is-active{border-color:#dfc47b!important;background:#fff9e9!important;color:#7f6208!important}.hr-admin-table-standard .backup-protect-btn-v7195.is-active:hover,.hr-admin-table-standard .backup-protect-btn-v7195.is-active:focus-visible{border-color:#cfae4f!important;background:#fff3cf!important;color:#6d5305!important}
@media(max-width:1180px){.backup-retention-grid-v7195{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-storage-safety-v7195{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-storage-safety-v7195 p{grid-column:1/-1}}
@media(max-width:760px){.backup-retention-grid-v7195{grid-template-columns:1fr}.backup-storage-safety-v7195{grid-template-columns:1fr}.backup-storage-safety-v7195>div{padding-inline-end:0;border-inline-end:0}.backup-storage-safety-v7195 p{grid-column:auto}}


/* =========================================================
   v7.1.199 — Management topbar compact alignment.
   Presentation only: notification/message placeholders removed from markup;
   date, account and logout actions share one compact visual rhythm.
   ========================================================= */
.v20-topbar-actions{gap:8px}
.v20-topbar-actions>.v20-date-box,
.v20-topbar-actions>.v20-top-account .v20-top-user,
.v20-topbar-actions>.v20-top-account .v20-top-logout{
    box-sizing:border-box;
    width:128px;
    min-width:128px;
    height:42px;
    min-height:42px;
    border-radius:11px;
    border:1px solid #dfe7ef;
    box-shadow:0 4px 12px rgba(31,52,77,.035);
}
.v20-topbar-actions>.v20-date-box{
    padding:0 10px;
    justify-content:center;
    color:#56677c;
    background:#fff;
}
.v20-topbar-actions>.v20-top-account{gap:8px}
.v20-topbar-actions>.v20-top-account .v20-top-user{
    padding:3px 5px 3px 8px;
    gap:7px;
    overflow:hidden;
}
.v20-topbar-actions>.v20-top-account .v20-top-user>span{
    width:34px;
    min-width:34px;
    height:34px;
    flex:0 0 34px;
}
.v20-topbar-actions>.v20-top-account .v20-top-user>div{min-width:0;overflow:hidden}
.v20-topbar-actions>.v20-top-account .v20-top-user strong,
.v20-topbar-actions>.v20-top-account .v20-top-user small{
    max-width:76px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.v20-topbar-actions>.v20-top-account .v20-top-logout{
    padding:0 10px;
    background:#fff7f7;
}
@media(max-width:680px){
    .v20-topbar-actions>.v20-top-account .v20-top-logout{
        width:42px;
        min-width:42px;
        padding:0;
    }
}


/* =========================================================
   v7.1.200 — Management topbar proportional widths.
   Presentation only: keep one visual family/height while sizing each control
   to its actual content role instead of forcing equal desktop widths.
   ========================================================= */
.v20-topbar-actions{gap:7px}
.v20-topbar-actions>.v20-date-box{
    width:124px;
    min-width:124px;
}
.v20-topbar-actions>.v20-top-account{gap:7px}
.v20-topbar-actions>.v20-top-account .v20-top-user{
    width:116px;
    min-width:116px;
}
.v20-topbar-actions>.v20-top-account .v20-top-user strong,
.v20-topbar-actions>.v20-top-account .v20-top-user small{max-width:64px}
.v20-topbar-actions>.v20-top-account .v20-top-logout{
    width:78px;
    min-width:78px;
}
@media(max-width:680px){
    .v20-topbar-actions>.v20-top-account .v20-top-logout{
        width:42px;
        min-width:42px;
    }
}


/* =========================================================
   v7.1.201 — Management topbar roomy date/user alignment.
   Presentation only: Date/User gain breathing room while all three controls
   keep the same 42px height; username typography matches the date label.
   ========================================================= */
.v20-topbar-actions>.v20-date-box{
    width:154px;
    min-width:154px;
    white-space:nowrap;
}
.v20-topbar-actions>.v20-date-box #todayLabel{white-space:nowrap}
.v20-topbar-actions>.v20-top-account .v20-top-user{
    width:148px;
    min-width:148px;
}
.v20-topbar-actions>.v20-top-account .v20-top-user strong{
    max-width:96px;
    font-size:13.5px;
}
.v20-topbar-actions>.v20-top-account .v20-top-user small{max-width:96px}
.v20-topbar-actions>.v20-top-account .v20-top-logout{
    width:78px;
    min-width:78px;
}
@media(max-width:680px){
    .v20-topbar-actions>.v20-top-account .v20-top-logout{
        width:42px;
        min-width:42px;
    }
}

/* =========================================================
   v7.1.202 — Management topbar centered user + unified hover lift.
   Presentation only: remove the secondary account label, center the current
   username independently of the avatar, and give Date/User/Logout one subtle
   hover motion while preserving the approved dimensions and behavior.
   ========================================================= */
.v20-topbar-actions>.v20-date-box,
.v20-topbar-actions>.v20-top-account .v20-top-user,
.v20-topbar-actions>.v20-top-account .v20-top-logout{
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease;
}
.v20-topbar-actions>.v20-top-account .v20-top-user{
    position:relative;
    justify-content:flex-start;
}
.v20-topbar-actions>.v20-top-account .v20-top-user>span{
    position:relative;
    z-index:1;
}
.v20-topbar-actions>.v20-top-account .v20-top-user>div{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    pointer-events:none;
    overflow:hidden;
}
.v20-topbar-actions>.v20-top-account .v20-top-user strong{
    width:auto;
    max-width:78px;
    margin:0;
    text-align:center;
    direction:ltr;
    unicode-bidi:plaintext;
    line-height:1.2;
}
.v20-topbar-actions>.v20-date-box:hover,
.v20-topbar-actions>.v20-top-account .v20-top-user:hover,
.v20-topbar-actions>.v20-top-account .v20-top-logout:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(31,52,77,.09);
}
.v20-topbar-actions>.v20-date-box:hover,
.v20-topbar-actions>.v20-top-account .v20-top-user:hover{
    border-color:#cbd8e5;
}
@media(prefers-reduced-motion:reduce){
    .v20-topbar-actions>.v20-date-box,
    .v20-topbar-actions>.v20-top-account .v20-top-user,
    .v20-topbar-actions>.v20-top-account .v20-top-logout{transition:none}
    .v20-topbar-actions>.v20-date-box:hover,
    .v20-topbar-actions>.v20-top-account .v20-top-user:hover,
    .v20-topbar-actions>.v20-top-account .v20-top-logout:hover{transform:none}
}



/* =========================================================
   v7.1.203 — Management user card portal-style hierarchy alignment.
   Presentation only: mirror the approved Employee Portal account-card visual
   hierarchy while preserving management topbar geometry and hover behavior.
   ========================================================= */
.v20-topbar-actions>.v20-top-account .v20-top-user{
    position:relative;
    justify-content:flex-start;
    padding:3px 5px 3px 10px;
    gap:8px;
    border-color:#e3e9ef;
    border-radius:12px;
    background:#fbfcfe;
}
.v20-topbar-actions>.v20-top-account .v20-top-user>span{
    position:relative;
    z-index:1;
    width:34px;
    min-width:34px;
    height:34px;
    flex:0 0 34px;
}
.v20-topbar-actions>.v20-top-account .v20-top-user>div{
    position:static;
    inset:auto;
    display:block;
    min-width:0;
    overflow:hidden;
    direction:rtl;
    text-align:right;
    pointer-events:auto;
}
.v20-topbar-actions>.v20-top-account .v20-top-user strong{
    display:block;
    width:auto;
    max-width:92px;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    direction:ltr;
    unicode-bidi:plaintext;
    text-align:right;
    font-size:12.5px;
    line-height:1.2;
}
.v20-topbar-actions>.v20-top-account .v20-top-user small{
    display:block;
    max-width:92px;
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#98a3b1;
    font-size:10.5px;
    line-height:1.1;
    text-align:right;
}

/* v7.1.207 — User Activity Audit Log pre-production hardening. */
.audit-log-action-v7186.is-download{background:#edf5ff;color:#2f65a7}
.audit-log-action-v7186.is-verify{background:#eef8f4;color:#27705b}
.audit-log-action-v7186.is-restore{background:#f4effb;color:#6d4a92}
/* v7.1.209 — immutable payroll revision history */
.payroll-revision-list{display:grid;gap:8px}.payroll-revision-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e4eaf0;border-radius:10px;background:#fbfcfe}.payroll-revision-item>div{display:grid;gap:2px}.payroll-revision-item b{font-size:12.5px;color:#33445c}.payroll-revision-item small{font-size:11px;color:#8491a3}.payroll-revision-item .ghost-btn{min-width:76px;width:76px;height:34px}
