@font-face{font-family:plex;src:url('assets/fonts/IBMPlexSansArabic-Regular (1).ttf');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:plex;src:url('assets/fonts/IBMPlexSansArabic-Medium (1).ttf');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:plex;src:url('assets/fonts/IBMPlexSansArabic-SemiBold.ttf');font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:plex;src:url('assets/fonts/IBMPlexSansArabic-Bold (2).ttf');font-weight:800;font-style:normal;font-display:swap}

:root{--brand-900:#0f0a3d;--brand-700:#5624b4;--brand-600:#882cff;--brand-magenta:#a31fa9;--brand-cyan:#39d5ff;--brand-mint:#00facd;--ink:#15203e;--muted:#667594;--line:#e6ebf4;--surface:#fff;--canvas:#f7f9fd;--success:#129a52;--success-bg:#edf9f1;--warning:#c76a10;--warning-bg:#fff6e8;--danger:#d83a48;--danger-bg:#fff0f1;--radius:14px;--shadow:0 8px 26px rgb(15 10 61 / .055)}
*{font-family:plex,Arial,sans-serif!important;font-variant-numeric:lining-nums tabular-nums}
body{background:var(--canvas);color:var(--ink);font-weight:500}.app-shell{background:var(--canvas)}
.content,.employees-page,.employee-form-page,.payroll-page,.custody-page,.approval-page,.execution-page,.closing-page,.reports-page,.settings-page,.users-page{max-width:1540px;margin-inline:auto}

/* App shell */
.sidebar{width:238px;padding:22px 12px 18px;background:linear-gradient(165deg,#0f0a3d 0%,#071629 48%,#020813 100%);border-left:1px solid rgb(255 255 255 / .06);position:relative;transition:width .22s ease,padding .22s ease}.brand{width:164px;height:76px;margin:0 auto 24px}.sidebar nav{gap:6px}.nav-item{min-height:48px;padding:11px 13px;border-radius:10px;color:#e8ecfa;font-size:15px;font-weight:600;gap:12px;transition:background .18s ease,color .18s ease}.nav-item span{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px}.nav-item span svg{width:21px;height:21px;stroke-width:1.8}.nav-item:hover{background:rgb(255 255 255 / .075);color:#fff}.nav-item.active{background:linear-gradient(100deg,var(--brand-700),var(--brand-600) 58%,#14c7ff);box-shadow:0 6px 18px rgb(0 0 0 / .18)}.nav-separator{margin:15px 5px;background:rgb(255 255 255 / .12)}.logout{min-height:48px;display:flex;align-items:center;gap:12px;border-radius:10px;padding:10px 13px;color:#ff6771;font-size:15px;font-weight:600}.logout svg{width:20px;flex:0 0 auto}.sidebar-toggle{position:absolute;left:-13px;top:118px;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--brand-700);box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer;z-index:8}.sidebar-toggle svg{width:16px;height:16px}.sidebar-collapsed .sidebar{width:78px;padding-inline:10px}.sidebar-collapsed .brand{width:44px;height:58px;margin-bottom:24px;object-fit:contain}.sidebar-collapsed .nav-item,.sidebar-collapsed .logout{justify-content:center;padding-inline:0}.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .sidebar-toggle{transform:rotate(180deg)}

.topbar{height:92px;padding:0 28px;background:rgb(255 255 255 / .94);backdrop-filter:blur(12px);border-color:var(--line)}.user-tools{gap:14px}.avatar img{width:48px;height:48px;box-shadow:0 0 0 3px #f0f3f9}.plain-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;color:var(--ink)}.plain-icon:hover{border-color:#e7ddff;background:#fbfaff;color:var(--brand-700)}.plain-icon svg{width:21px;height:21px;stroke-width:1.9}.plain-icon b{display:none}.plain-icon.has-unread b{display:grid;place-items:center;top:-3px;right:-3px;min-width:18px;height:18px;padding:0;border:2px solid #fff;background:var(--brand-600);font:700 10px/1 plex!important}.month-picker{width:268px;height:52px;border-radius:11px;box-shadow:0 1px 0 rgb(15 10 61 / .02);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.month-picker:hover,.month-picker:focus-visible{border-color:#bba5ff;box-shadow:0 0 0 3px rgb(136 44 255 / .10);outline:0}.month-picker strong{font-size:16px;font-weight:700}.month-picker button{width:38px;height:38px;border-radius:8px;display:grid;place-items:center}.month-picker button:hover{background:#f3efff;color:var(--brand-700)}.month-picker button svg,.calendar svg{width:21px;height:21px;stroke-width:1.9}.welcome strong{font-size:18px;font-weight:700}.welcome span{font-size:14px}.user-menu{z-index:100;width:206px;border-radius:12px;padding:7px;box-shadow:0 16px 44px rgb(15 10 61 / .17)}.user-menu button{border-radius:8px;font-size:14px;font-weight:600}.user-menu button:hover{background:#f5f2ff}

/* Shared headings, actions and cards */
h1,h2,h3,h4{font-weight:700}.page-heading h1,.page-title h1,.screen-heading h1{font-size:28px;font-weight:800;letter-spacing:-.2px}.page-heading p,.page-title p,.screen-heading p{font-size:14px;color:var(--muted);font-weight:500}.primary-btn,.primary-link,.page-actions .primary-btn,.drawer-actions .primary,.send-btn{background:linear-gradient(105deg,var(--brand-700),var(--brand-600));border:0!important;border-radius:9px!important;box-shadow:0 7px 17px rgb(86 36 180 / .19);font-weight:700!important}.primary-btn:hover,.primary-link:hover,.send-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.secondary-btn,.more-filter,.drawer-actions .secondary{border-color:#dce4f0!important;border-radius:9px!important;background:#fff!important;color:var(--ink)!important;font-weight:600!important}.secondary-btn:hover,.more-filter:hover,.drawer-actions .secondary:hover{border-color:#bca7ff!important;color:var(--brand-700)!important;background:#fbfaff!important}
.panel,.employee-table-card,.employee-stats article,.payroll-kpis article,.custody-kpis article,.approval-kpis article,.execution-kpis article,.closing-kpis article{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;background:var(--surface)!important;position:relative;overflow:hidden}.panel:before,.employee-stats article:before,.payroll-kpis article:before,.custody-kpis article:before,.approval-kpis article:before,.execution-kpis article:before,.closing-kpis article:before{content:'';position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--brand-700),var(--brand-600),var(--brand-cyan));opacity:.78}.panel header h2{font-weight:700;font-size:16px}.panel header button{display:none!important}.panel>a{font-weight:700;color:var(--brand-700);display:inline-flex;align-items:center;gap:6px}.panel>a:hover{color:var(--brand-600)}

/* KPI system */
.kpi{min-height:150px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;background:#fff;position:relative;overflow:hidden}.kpi:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-700),var(--brand-600),var(--brand-cyan))}.kpi i{width:44px;height:44px;border-radius:12px;background:#f1edff!important;color:var(--brand-700)!important}.kpi i svg{width:22px;height:22px;stroke-width:1.9}.kpi span{font-size:13px;font-weight:600;color:var(--muted)}.kpi strong{font-size:25px;font-weight:800;color:var(--ink)}.kpi small{font-size:12px;color:var(--muted)}.kpi em{display:none}.kpi .positive{color:var(--success)}.kpi .negative{color:var(--danger)}
.employee-stats article,.payroll-kpis article,.custody-kpis article,.approval-kpis article,.execution-kpis article,.closing-kpis article{min-height:128px;padding:18px}.employee-stats article i,.payroll-kpis article i,.custody-kpis article i,.approval-kpis article i,.execution-kpis article i,.closing-kpis article i{border-radius:12px!important;background:#f1edff!important;color:var(--brand-700)!important}.employee-stats strong,.payroll-kpis strong,.custody-kpis strong,.approval-kpis strong,.execution-kpis strong,.closing-kpis strong{font-weight:800!important;color:var(--ink)!important}.employee-stats span,.payroll-kpis span,.custody-kpis span,.approval-kpis span,.execution-kpis span,.closing-kpis span{font-weight:600!important;color:var(--muted)!important}

/* Form controls */
input,select,textarea{border-color:#dce4ef!important;border-radius:9px!important;color:var(--ink)!important;font-weight:500!important;background:#fff!important;transition:border-color .18s ease,box-shadow .18s ease}input:focus,select:focus,textarea:focus{border-color:#a883ff!important;box-shadow:0 0 0 3px rgb(136 44 255 / .10)!important;outline:none}.search-field{border-radius:9px;border-color:#dce4ef;background:#fff}.search-field:focus-within{border-color:#a883ff;box-shadow:0 0 0 3px rgb(136 44 255 / .10)}.search-field svg{color:var(--brand-700)}.employee-filters,.payroll-filters,.approval-filters,.execution-filters,.report-filters{border-color:var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;padding:14px!important}.employee-filters{grid-template-columns:minmax(290px,1.65fr) repeat(4,minmax(120px,.72fr)) auto!important}

/* Unified tables & pagination */
.employee-table-card,.table-card,.payroll-table-card,.custody-table-card,.approval-table-card,.execution-table-card,.report-table-card{border-color:var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;overflow:auto!important}table{font-size:14px!important;min-width:760px}thead,th{position:sticky;top:0;z-index:2;background:#fafbfe!important;color:#52627f!important;font-size:13px!important;font-weight:700!important;height:56px!important;border-bottom-color:var(--line)!important}td{height:68px!important;border-bottom-color:#eef2f7!important;color:#263755!important;font-weight:500!important}tbody tr:hover{background:#fcfbff}.employee-avatar{width:44px!important;height:44px!important;overflow:hidden;border:2px solid #f0eff9;background:linear-gradient(135deg,#eeebff,#e9f8ff);color:var(--brand-700)}.employee-avatar img{width:100%;height:100%;object-fit:cover}.employee-cell{gap:12px}.employee-cell button{font-weight:700!important}.employee-cell small{font-weight:500!important}.employee-id{font-weight:700;color:var(--brand-700)}.method-pill{border-radius:999px!important;padding:6px 10px!important}.row-actions{gap:7px}.row-actions button{width:36px!important;height:36px!important;border-radius:9px!important;border-color:#dfe6f1!important}.row-actions button:hover{color:#fff!important;background:var(--brand-700)!important;border-color:var(--brand-700)!important}.row-actions button[data-danger]{color:var(--danger)}.table-footer{height:70px!important;border-top:1px solid var(--line)}.pagination button{border-radius:8px!important}.pagination button.active{background:var(--brand-700)!important;border-color:var(--brand-700)!important}

/* Status, drawer and dialogs */
.status,.status-pill,.method-pill,.tag,.badge{font-weight:700!important}.quick-drawer{width:min(45vw,680px)!important;min-width:540px;padding:24px!important;background:#fff;box-shadow:-18px 0 48px rgb(15 10 61 / .18)}.quick-drawer header{position:sticky;top:-24px;z-index:2;background:#fff;padding-top:24px!important}.quick-drawer h2{font-weight:800!important}.quick-head{padding:24px 4px 22px!important;gap:18px!important}.quick-photo{width:78px!important;height:78px!important;overflow:hidden;border:3px solid #f1edff;box-shadow:0 5px 18px rgb(86 36 180 / .10)}.quick-photo img{width:100%;height:100%;object-fit:cover}.quick-identity h3{font-size:20px!important;font-weight:800!important}.quick-identity p{font-size:14px!important}.quick-card{border-radius:12px!important;padding:14px!important;margin-bottom:14px!important}.quick-card h4{font-size:14px!important;font-weight:700!important}.quick-basic div,.quick-pay-grid div{border-radius:9px!important;min-height:80px!important}.quick-pay-grid{grid-template-columns:repeat(4,1fr)!important}.quick-net{padding:13px 7px 3px!important}.quick-net strong{font-size:21px!important;font-weight:800!important}.quick-movement{min-height:48px;font-size:13px!important}.drawer-actions{padding:14px 0 8px!important;margin:0!important;display:grid!important;grid-template-columns:1.15fr 1fr!important;gap:10px!important;border-top:1px solid var(--line)}.drawer-actions button{height:48px!important}.app-dialog{border-radius:15px!important;box-shadow:0 24px 70px rgb(15 10 61 / .25)!important}.app-dialog button.primary{background:linear-gradient(105deg,var(--brand-700),var(--brand-600)!important)}

/* Dashboard content priorities */
#dashboard .kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.commitment-row,.transfer-row,.alert-row{font-weight:500}.stepper{min-height:194px}.stepper b{font-weight:700}.step.done b{background:var(--success)!important}.step.current b{background:var(--brand-700)!important}.primary-link{padding:11px 20px;border-radius:9px}.donut{box-shadow:inset 0 0 0 1px #edf0fa}.liquidity .balance{background:#f2efff}.alert-row b{font-weight:700}.alert-row span{font-weight:500}
#dashboard .kpi.total-required{background:linear-gradient(135deg,#fff 0%,#fbf8ff 100%);border-color:#e2d7fb;box-shadow:0 10px 26px rgb(86 36 180 / .09)}#dashboard .kpi.total-required i{background:linear-gradient(135deg,#5624b4,#882cff);color:#fff}#dashboard .kpi.total-required strong{color:#5624b4}#dashboard .commitment-row{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}#dashboard .commitment-row .commitment-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;color:#6532cf;background:#f1edff}#dashboard .commitment-row .commitment-icon svg{display:block;width:18px;height:18px}#dashboard .commitment-row .commitment-icon--property{color:#6532cf;background:#f1edff}#dashboard .commitment-row .commitment-icon--legal{color:#1482aa;background:#e9f7ff}#dashboard .commitment-row .commitment-icon--cash{color:#16834a;background:#ebf8ee}#dashboard .commitment-row .commitment-icon--default{color:#bd6512;background:#fff4e9}#dashboard .commitment-row>span:not(.commitment-icon){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:1201px) and (max-width:1500px){#dashboard .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(max-width:1200px){.sidebar{width:220px}.employee-filters{grid-template-columns:repeat(3,1fr)!important}.quick-drawer{width:min(58vw,680px)!important;min-width:0}.kpis,#dashboard .kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:830px){.sidebar{width:72px;padding-inline:10px}.brand{width:42px;height:48px}.nav-label{display:none}.nav-item,.logout{justify-content:center;padding-inline:0}.sidebar-toggle{display:none}.topbar{height:76px}.month-picker{width:200px;height:46px}.month-picker strong{font-size:14px}.quick-drawer{width:100%!important;min-width:0}.quick-pay-grid{grid-template-columns:repeat(2,1fr)!important}.employee-filters{grid-template-columns:1fr!important}.kpis,#dashboard .kpis{grid-template-columns:1fr}.content{padding:18px 14px}}

/* UI/UX V1.1 — shared enterprise component refinements */
:root{--page-bg:#f6f8fc;--surface:#fff;--surface-muted:#fbfcff;--line:#e6eaf2;--ink:#111b39;--muted:#71809b;--brand-700:#5624b4;--brand-600:#882cff;--brand-cyan:#39d5ff;--shadow:0 8px 24px rgb(15 10 61 / .055);--radius:14px}
body{background:var(--page-bg)!important;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}.app-shell{min-height:100dvh}.sidebar{width:266px!important;min-height:100dvh;height:100dvh;padding:18px 14px 16px!important;position:sticky;top:0;overflow:hidden}.sidebar nav{display:flex!important;flex-direction:column;min-height:0;gap:5px!important}.brand{width:158px!important;height:66px!important;margin:0 auto 16px!important}.nav-item{min-height:46px!important;height:46px!important;padding:10px 12px!important;gap:11px!important;font-size:13px!important;font-weight:600!important;line-height:1!important;overflow:hidden}.nav-item .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item span svg{width:19px!important;height:19px!important;stroke-width:1.85}.nav-separator{margin:10px 4px!important}.logout{margin-top:auto!important;min-height:46px!important;padding:10px 12px!important;font-size:13px!important;flex:0 0 auto}.sidebar-collapsed .sidebar{width:78px!important}.sidebar-collapsed .brand{width:42px!important;height:52px!important}.sidebar-toggle{top:100px!important;left:-12px!important;width:25px!important;height:25px!important}
.workspace{min-height:100dvh;background:var(--page-bg)}.topbar{height:88px!important;padding:0 28px!important;background:rgb(255 255 255 / .94)!important;backdrop-filter:blur(18px);position:sticky!important;top:0;z-index:30}.user-tools{gap:13px!important}.avatar{width:42px!important;height:42px!important;border-radius:50%!important;background:linear-gradient(135deg,#efe9ff,#e6faff)!important;border:1px solid #e0d8ff!important;display:grid!important;place-items:center!important;overflow:hidden}.avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}.header-avatar-initials{display:grid;place-items:center;width:100%;height:100%;color:var(--brand-700);font-size:14px;font-weight:800}.welcome{cursor:pointer;border:0;background:transparent;padding:5px 0;min-width:172px}.welcome strong{font-size:16px!important;font-weight:800!important}.welcome span{font-size:12px!important;color:var(--muted)!important;font-weight:600}.user-menu{top:55px!important;left:0!important;width:205px!important;border-radius:12px!important;padding:7px!important;box-shadow:0 16px 40px rgb(15 10 61 / .16)!important}.user-menu button{font-size:13px!important;font-weight:600!important;border-radius:8px!important}.user-menu button:disabled{opacity:.56;cursor:not-allowed}.month-picker{position:relative!important;width:250px!important;height:46px!important;border-radius:11px!important;box-shadow:0 1px 0 rgb(15 10 61 / .02)}.month-picker button{font-size:26px!important;width:36px!important;height:40px!important;line-height:1}.month-picker strong{font-size:15px!important;font-weight:700}.month-native-input{z-index:-1}.notification-button{width:40px!important;height:40px!important;border-radius:10px!important;display:grid!important;place-items:center!important}.notification-button:hover{background:#f2efff}.notification-button svg{width:21px;height:21px;stroke-width:1.9}
.content,.employees-page,.employee-form-page,.payroll-page,.custody-page,.approval-page,.execution-page,.closing-page,.reports-page,.settings-page,.users-page{max-width:1540px!important;margin-inline:auto!important;padding:26px 28px!important}.page-heading,.form-heading,.screen-heading,.users-heading{min-height:58px!important;align-items:center!important;margin-bottom:20px!important}.page-heading h1,.form-heading h1,.screen-heading h1,.users-heading h1{font-size:27px!important;line-height:1.2!important}.page-heading p,.form-heading>div>span,.screen-heading p,.users-heading p{font-size:13px!important;line-height:1.55!important}.page-actions{gap:9px!important}.primary-btn,.secondary-btn,.primary-link,.send-payroll,.send-btn{height:46px!important;padding-inline:16px!important;border-radius:11px!important;font-size:13px!important}.primary-btn,.send-payroll,.send-btn{box-shadow:0 6px 15px rgb(86 36 180 / .16)!important}.secondary-btn{background:transparent!important}.secondary-btn:hover{background:#f8f6ff!important}
.kpis,.employee-stats,.payroll-kpis,.custody-kpis,.approval-kpis,.execution-kpis,.closing-kpis{gap:14px!important}.kpi,.employee-stats article,.payroll-kpis article,.custody-kpis article,.approval-kpis article,.execution-kpis article,.closing-kpis article{min-height:126px!important;padding:17px!important}.kpi strong,.employee-stats strong,.payroll-kpis strong,.custody-kpis strong,.approval-kpis strong,.execution-kpis strong,.closing-kpis strong{font-size:22px!important;line-height:1.25!important}.kpi small,.employee-stats small,.payroll-kpis small,.custody-kpis small,.approval-kpis small,.execution-kpis small,.closing-kpis small{font-size:12px!important}.kpi em{display:none!important}.kpi i,.ui-metric-icon{width:42px!important;height:42px!important;border-radius:12px!important;display:grid!important;place-items:center!important}.panel,.employee-table-card,.payroll-table-card,.custody-table-card,.approval-table-card,.execution-table-card,.closing-reconciliation,.users-card,.settings-card,.form-card{box-shadow:var(--shadow)!important;border-color:var(--line)!important}.panel{min-height:0!important;padding:18px!important}.panel:before,.employee-stats article:before,.payroll-kpis article:before,.custody-kpis article:before,.approval-kpis article:before,.execution-kpis article:before,.closing-kpis article:before{height:3px!important}.panel header{margin-bottom:14px!important}.panel>a{font-size:13px!important}
.employee-table-card table,.payroll-table-card table,.custody-table-card table,.approval-table-card table,.execution-table-card table,.users-table{border-collapse:separate!important;border-spacing:0}.employee-table-card th,.payroll-table-card th,.custody-table-card th,.approval-table-card th,.execution-table-card th,.users-table th{height:46px!important;font-size:12px!important;font-weight:700!important;background:#fbfcff!important}.employee-table-card td,.payroll-table-card td,.custody-table-card td,.approval-table-card td,.execution-table-card td,.users-table td{height:66px!important;font-size:13px!important;font-weight:500!important}.employee-avatar{width:44px!important;height:44px!important;flex:0 0 44px!important}.employee-avatar img{width:100%!important;height:100%!important;object-fit:cover!important}.employee-cell small{font-size:11px!important}.row-actions{gap:3px!important}.row-actions button{width:34px!important;height:34px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--brand-700)!important;box-shadow:none!important}.row-actions button:hover{background:#f1edff!important}.row-actions button svg{width:18px!important;height:18px!important}.empty-row{padding:28px!important;color:var(--muted)!important}
.quick-drawer{width:min(44vw,680px)!important;padding:22px!important}.quick-head{padding:18px 2px!important}.quick-photo{width:78px!important;height:78px!important}.quick-card{background:var(--surface-muted)!important;border:1px solid var(--line)!important}.drawer-actions{position:sticky;bottom:-22px;background:#fff;padding:14px 0 2px!important}
.form-card{background:#fff!important;position:relative;overflow:hidden}.form-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-700),var(--brand-600),var(--brand-cyan));opacity:.7}.personal-card .photo-editor{background:linear-gradient(145deg,#fbfaff,#f4fbff)!important;border-left:1px solid var(--line)!important}.photo-change{border-radius:9px!important;font-weight:700!important}.form-grid input,.form-grid select,.form-grid textarea,.custody-form input,.custody-form select,.funding-drawer input,.funding-drawer select{border-color:#dfe5ef!important;border-radius:10px!important;background:#fff!important}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgb(136 44 255 / .12)!important;border-color:var(--brand-600)!important}.form-heading .secondary-btn{display:none!important}
.status,.status-pill,.method-pill,.tag,.badge,.payroll-status{border-radius:999px!important;font-size:12px!important;padding:5px 10px!important}.custody-toolbar,.payroll-toolbar,.approval-toolbar{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.custody-toolbar input,.custody-toolbar select,.payroll-toolbar input,.payroll-toolbar select,.approval-toolbar input,.approval-toolbar select{height:44px!important;border-radius:10px!important;border-color:#dfe5ef!important}.custody-bottom article{background:var(--surface-muted)!important}.settings-card{min-height:0!important;padding:18px!important}.settings-card h2{font-size:17px!important;margin:0 0 8px!important}.settings-card p,.settings-card li{font-size:12px!important;line-height:1.65!important}.settings-card button[data-settings-open]{height:40px!important;margin-top:12px!important}
@media(max-width:1200px){.sidebar{width:242px!important}.content,.employees-page,.employee-form-page,.payroll-page,.custody-page,.approval-page,.execution-page,.closing-page,.reports-page,.settings-page,.users-page{padding:22px!important}.kpis,.employee-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.payroll-kpis,.custody-kpis,.approval-kpis,.execution-kpis,.closing-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:830px){.sidebar{width:76px!important}.topbar{height:72px!important;padding-inline:14px!important}.welcome{display:none}.month-picker{width:204px!important}.content,.employees-page,.employee-form-page,.payroll-page,.custody-page,.approval-page,.execution-page,.closing-page,.reports-page,.settings-page,.users-page{padding:18px 14px!important}.kpis,.employee-stats,.payroll-kpis,.custody-kpis,.approval-kpis,.execution-kpis,.closing-kpis{grid-template-columns:1fr!important}.page-heading,.form-heading{align-items:flex-start!important;gap:14px!important}.page-actions{flex-wrap:wrap!important}}
.employee-action-menu{position:fixed;z-index:80;min-width:164px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 34px rgb(15 10 61 / .17);direction:rtl}.employee-action-menu button{width:100%;height:36px;padding:0 9px;display:flex;align-items:center;gap:8px;border:0;border-radius:7px;background:transparent;color:#c23941;font:600 13px plex;cursor:pointer;white-space:nowrap}.employee-action-menu button:hover{background:#fff2f3}
.custody-reconciliation{display:grid;grid-template-columns:minmax(180px,.8fr) 1.7fr auto;align-items:center;gap:18px;margin:16px 0;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(100deg,#fff,#fbfaff);box-shadow:var(--shadow)}.custody-reconciliation>div>span{display:block;font-size:16px;font-weight:800}.custody-reconciliation>div>small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.custody-reconciliation dl{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;border:1px solid #e5e9f1;border-radius:10px;overflow:hidden}.custody-reconciliation dl>div{padding:10px 13px;border-left:1px solid #e5e9f1;background:#fff}.custody-reconciliation dl>div:last-child{border-left:0}.custody-reconciliation dt{font-size:11px;color:var(--muted);font-weight:600}.custody-reconciliation dd{margin:5px 0 0;font-size:14px;font-weight:800}.custody-match-result{background:#fff8ed!important}.custody-match-result.is-matched{background:#effaf3!important}.custody-match-result.is-matched dt,.custody-match-result.is-matched dd{color:#138546}.custody-match-result.is-mismatch{background:#fff2f3!important}.custody-match-result.is-mismatch dt,.custody-match-result.is-mismatch dd{color:#bf3440}.custody-reconciliation .primary-btn{white-space:nowrap}.custody-bottom{display:none!important}
@media(max-width:1050px){.custody-reconciliation{grid-template-columns:1fr}.custody-reconciliation dl{grid-template-columns:repeat(3,1fr)}.custody-reconciliation .primary-btn{justify-self:start}}
@media(max-width:620px){.custody-reconciliation dl{grid-template-columns:1fr}.custody-reconciliation dl>div{border-left:0;border-bottom:1px solid #e5e9f1}.custody-reconciliation dl>div:last-child{border-bottom:0}}

/* Quick View V1 detail refinements */
.quick-identity em{display:inline-flex!important;align-items:center;gap:6px;font-weight:600!important}.quick-identity em i{width:7px;height:7px;border-radius:50%;background:var(--success)}.quick-movement{grid-template-columns:28px 1fr auto!important;min-height:52px;font-size:13px!important}.quick-movement>span{display:grid;gap:2px}.quick-movement>span b{font-size:13px;color:var(--ink)}.quick-movement>span small{font-size:11px;color:var(--muted)}.quick-movement>strong{font-size:13px}.quick-empty{margin:0;padding:14px 2px;color:var(--muted);font-size:13px}

/* One form system */
.employee-form-page,.settings-page,.users-page{padding:26px 24px;background:var(--canvas);min-height:calc(100vh - 92px)}.form-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.form-heading h1{margin:5px 0 0;font-size:28px;font-weight:800}.form-heading>div>span{color:var(--muted);font-size:13px;font-weight:500}.form-card{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;margin-bottom:16px!important}.form-section{padding:20px!important}.form-section h2{font-size:17px!important;font-weight:700!important;margin-bottom:16px!important}.form-grid{gap:16px!important}.form-grid label,.custody-form label,.funding-drawer label,.app-dialog label{font-size:13px!important;font-weight:600!important;color:var(--ink)!important}.form-grid label b{color:var(--danger)!important}.form-grid input,.form-grid select,.form-grid textarea,.custody-form input,.custody-form select,.funding-drawer input,.funding-drawer select{height:44px!important;margin-top:7px!important}.photo-preview{width:112px!important;height:112px!important;border-radius:50%!important;overflow:hidden;border:3px solid #f0ecff;box-shadow:0 8px 22px rgb(86 36 180 / .10)}.photo-preview img{width:100%;height:100%;object-fit:cover}.method-options label span{border-radius:12px!important}.method-options input:checked+span{border-color:var(--brand-600)!important;background:#fbfaff!important}.payment-fields{border-radius:12px!important;border-color:var(--line)!important}.field-error{font-weight:600!important;color:var(--danger)!important}

/* Payroll preparation */
.payroll-page,.custody-page,.approval-page,.execution-page,.closing-page,.reports-page{padding:26px 24px;background:var(--canvas);min-height:calc(100vh - 92px)}.payroll-status,.status-pill{border-radius:999px!important;background:var(--warning-bg)!important;color:var(--warning)!important;font-weight:700!important}.payroll-kpis,.custody-kpis,.approval-kpis,.execution-kpis,.closing-kpis{gap:14px!important}.payroll-kpis article{min-height:118px!important;display:grid!important;align-content:center!important;gap:5px!important}.payroll-kpis article:first-child{display:none!important}.payroll-kpis strong{font-size:22px!important}.payroll-kpis .accent{color:var(--brand-700)!important}.payroll-tabs,.approval-tabs,.execution-tabs{border-bottom-color:var(--line)!important}.payroll-tabs button,.approval-tabs button,.execution-tabs button{font-weight:700!important;color:var(--muted)!important}.payroll-tabs button.active,.approval-tabs button.active,.execution-tabs button.active{color:var(--brand-700)!important;border-bottom-color:var(--brand-600)!important}.payroll-toolbar,.approval-toolbar,.custody-toolbar{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:var(--shadow)!important;padding:12px!important}.payroll-toolbar input,.approval-toolbar input,.custody-search input{height:44px!important;border-radius:9px!important}.payroll-toolbar button,.approval-toolbar button{border-radius:9px!important}.payroll-bottom{display:block!important;margin-top:16px!important;border:1px solid #ded3ff!important;border-radius:12px!important;background:#fbfaff!important;padding:14px 18px!important}.payroll-bottom article:first-child h2{font-size:15px!important;margin:0 0 7px!important}.payroll-bottom article:first-child div{font-size:13px!important;color:var(--muted)!important}.payroll-bottom article:last-child{display:none!important}.send-payroll{display:block!important;margin:18px 0 0 auto!important;border-radius:10px!important;font-weight:700!important}

/* Petty cash */
.custody-page .page-heading{margin-bottom:20px}.custody-title-icon,.approval-title-icon,.execution-title-icon{width:46px!important;height:46px!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:#f1edff!important;color:var(--brand-700)!important;font-weight:800!important}.custody-kpis article{min-height:126px!important}.custody-kpis article strong{font-size:22px!important}.custody-budget{border:1px solid var(--line)!important;border-radius:var(--radius)!important;overflow:hidden;box-shadow:var(--shadow)!important}.custody-budget>div{min-height:76px!important;background:linear-gradient(100deg,#fbfaff,#f4fbff)!important}.custody-budget>div:nth-child(2){background:linear-gradient(100deg,#fff,#fbfaff)!important}.custody-budget>div:nth-child(3){background:linear-gradient(100deg,#fbfdff,#f4fbff)!important}.custody-budget b{font-weight:700!important}.custody-budget strong{color:var(--brand-700)!important}.custody-toolbar .primary-btn{height:44px!important}.custody-table-card{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;overflow:auto}.movement-type,.custody-tag{border-radius:999px!important;font-weight:700!important}.custody-bottom article{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important}

/* Financial approval */
.approval-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important}.approval-kpis article{min-height:132px!important}.approval-kpis article i{width:42px!important;height:42px!important}.approval-kpis article:nth-child(2){border-color:#d9ccff!important}.approval-kpis article:nth-child(2) small{display:none!important}.approval-kpis strong{font-size:21px!important}.approval-tab-panel{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:var(--shadow)!important;padding:14px!important}.approval-actions{position:sticky;bottom:12px;z-index:5;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:14px!important;margin-top:18px!important;padding:14px!important;border:1px solid #ded3ff!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:0 12px 30px rgb(15 10 61 / .10)!important}.approval-actions>div{display:flex!important;align-items:center!important;gap:10px!important;color:var(--muted)!important;font-size:13px!important}.approval-actions>div b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f1edff;color:var(--brand-700)}.return-hr{border:1px solid #f3a4ad!important;border-radius:9px!important;background:#fff!important;color:var(--danger)!important;font-weight:700!important}.approve-execution{border-radius:9px!important;background:linear-gradient(105deg,var(--brand-700),var(--brand-600))!important;font-weight:700!important}

/* Execution and closing */
.execution-kpis article,.closing-kpis article{min-height:126px!important}.execution-progress{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;padding:16px 20px!important}.overall-progress{width:104px!important;height:104px!important;background:#fff!important;border-color:#dcefe4!important;font-size:22px!important}.progress-item i{height:8px!important;border-radius:999px!important;background:#edf1f7!important}.progress-item i em{border-radius:999px!important;background:linear-gradient(90deg,var(--brand-700),var(--brand-cyan))!important}.execution-panel{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;padding:14px!important;background:#fff!important}.liquidity-summary{border-radius:12px!important;background:linear-gradient(150deg,#fff,#fbfaff)!important;border-color:#ded3ff!important}.liquidity-summary .expected{background:var(--success-bg)!important;border-radius:9px!important}.payroll-execution-head{border:1px solid var(--line)!important;border-radius:12px!important;background:#fbfaff!important}.closing-page .closing-summary,.closing-page .reconciliation-card,.closing-page .closing-actions{border-radius:var(--radius)!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important}.closing-page .success-strip{border-radius:10px!important;background:var(--success-bg)!important;color:var(--success)!important}

/* Reports and settings */
.reports-page .report-summary,.settings-page .settings-hero{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;background:#fff!important}.settings-page .settings-hero{display:none!important}.report-cards,.settings-grid{gap:16px!important}.report-card,.settings-card{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;transition:transform .18s ease,box-shadow .18s ease}.report-card:hover,.settings-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgb(15 10 61 / .10)!important}.report-card h2,.settings-card h2{font-weight:700!important}.report-card .report-icon,.settings-card .settings-icon{border-radius:12px!important;background:#f1edff!important;color:var(--brand-700)!important}.settings-card{min-height:0!important}.settings-card .card-action{font-weight:700!important;color:var(--brand-700)!important}
.settings-page .settings-intro{display:none!important}.settings-card{cursor:pointer}.settings-card:focus-visible{outline:3px solid rgb(136 44 255 / .32);outline-offset:3px}

@media(max-width:1200px){.approval-kpis{grid-template-columns:repeat(3,1fr)!important}.approval-actions{grid-template-columns:1fr 1fr!important}.approval-actions>div{display:none!important}}
@media(max-width:830px){.employee-form-page,.payroll-page,.custody-page,.approval-page,.execution-page,.closing-page,.reports-page,.settings-page,.users-page{padding:18px 14px}.form-heading{align-items:flex-start;gap:14px;flex-direction:column}.approval-kpis{grid-template-columns:1fr!important}.approval-actions{grid-template-columns:1fr!important}.approval-actions button{min-height:46px}.payroll-bottom{display:none!important}}

/* Report card action and inline action icons */
.report-card{cursor:pointer}.report-card:focus-visible{outline:3px solid rgb(136 44 255 / .35);outline-offset:3px}.report-card-action{display:inline-flex;align-items:center;gap:7px;color:var(--brand-700);font-weight:700}.report-card-action svg,.ghost-action svg,.primary-action svg{flex:0 0 auto;width:17px;height:17px;vertical-align:middle}.ghost-action,.primary-action{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}

/* Payroll KPI anatomy: one semantic icon, concise label, final value only. */
.payroll-kpis article:not(:first-child){grid-template-columns:46px 1fr!important;grid-template-rows:auto auto auto!important;align-content:center!important;column-gap:12px!important}.payroll-kpis article>i{grid-column:1;grid-row:1/4;width:42px;height:42px;display:grid;place-items:center;align-self:center;border-radius:12px;background:#f1edff;color:var(--brand-700);font-style:normal}.payroll-kpis article>i svg{width:21px;height:21px;stroke-width:1.9}.payroll-kpis article>span,.payroll-kpis article>strong,.payroll-kpis article>small{grid-column:2}

/* Execution V2 uses persisted finance data; keep its live layout consistent with the shared system. */
.exec-v2{max-width:1540px;margin-inline:auto;padding:26px 24px!important;background:var(--canvas)!important;min-height:calc(100vh - 92px)}.exec-heading h1{font-size:28px!important;font-weight:800!important}.exec-heading p{color:var(--muted)!important;font-weight:500!important}.exec-heading>i{width:46px!important;height:46px!important;border-radius:12px!important;background:#f1edff!important;color:var(--brand-700)!important}.exec-kpis{gap:14px!important}.exec-kpis article{min-height:126px!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;overflow:hidden;position:relative}.exec-kpis article:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-700),var(--brand-600),var(--brand-cyan));opacity:.78}.exec-kpis i{border-radius:12px!important;background:#f1edff!important;color:var(--brand-700)!important}.exec-kpis b{font-family:plex,Arial,sans-serif!important;font-weight:800!important;color:var(--ink)!important}.exec-kpis span{font-weight:600!important;color:var(--muted)!important}.exec-progress{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;padding:16px 20px!important}.exec-ring{width:104px!important;height:104px!important;border-width:10px!important}.exec-progress-line i{height:8px!important}.exec-progress-line em{background:linear-gradient(90deg,var(--brand-700),var(--brand-cyan))!important}.exec-tabs{border-color:var(--line)!important;border-radius:12px 12px 0 0!important}.exec-tabs button{font-weight:700!important;color:var(--muted)!important}.exec-tabs button.active{color:var(--brand-700)!important;background:#fbfaff!important;box-shadow:inset 0 -3px var(--brand-600)!important}.exec-panel{border:1px solid var(--line)!important;border-radius:0 0 var(--radius) var(--radius)!important;box-shadow:var(--shadow)!important;padding:16px!important}.exec-liquidity>div{max-width:none!important;border:0!important;border-radius:0!important;padding:0!important}.exec-liquidity-grid{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr)!important;gap:16px!important;align-items:start}.exec-liquidity-grid>div,.exec-summary{border:1px solid var(--line)!important;border-radius:12px!important;padding:18px!important;background:#fff!important}.exec-liquidity-grid h2{font-size:16px!important;font-weight:700!important}.exec-summary .final{margin-top:10px!important;padding:12px 10px!important;border:1px solid #ccebd8!important;border-radius:9px!important;background:var(--success-bg)!important}.exec-table{border-color:var(--line)!important;border-radius:12px!important}.exec-table th{font-size:13px!important;font-weight:700!important;color:#52627f!important}.exec-table td{font-size:14px!important;font-weight:500!important}.exec-batch{border-color:var(--line)!important;border-radius:12px!important;background:#fbfaff!important}.exec-batch span b{font-weight:800!important;color:var(--brand-700)!important}.primary-action{background:linear-gradient(105deg,var(--brand-700),var(--brand-600))!important;border-radius:9px!important}.ghost-action{border-radius:9px!important;font-weight:600!important}.status-chip:not(.done){background:var(--warning-bg)!important;color:var(--warning)!important}.status-chip.done{background:var(--success-bg)!important;color:var(--success)!important}.undo-action{border-radius:9px!important}
@media(max-width:1000px){.exec-liquidity-grid{grid-template-columns:1fr!important}}

/* Remaining operational-screen normalization: semantic actions and concise finance KPIs. */
.custody-kpis #custodyFormula{display:none!important}.custody-kpis article:first-child{grid-template-columns:46px 1fr!important}.custody-kpis article:first-child .secondary-btn{grid-column:1/-1;justify-self:start;margin-top:2px}.custody-toolbar .primary-btn,.approval-actions button,.history-button{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}.custody-toolbar .primary-btn svg,.approval-actions button svg,.history-button svg{width:18px;height:18px;flex:0 0 auto}

/* V1.1: explicit closing state, modern reconciliation, and no default-green mismatch state. */
.closing-page{max-width:1540px;margin:0 auto;padding:28px var(--page-gutter,24px) 42px;background:transparent;font-weight:500}.closing-page .closing-heading{justify-content:space-between;margin:0 0 20px}.closing-heading>i{display:none}.page-kicker{display:block;margin-bottom:5px;color:var(--brand-700);font-size:12px;font-weight:700}.closing-heading h1{font-size:30px;line-height:1.25}.closing-heading p{font-size:14px}.workflow-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:700;background:#f2f4f7;color:#59677d}.workflow-badge.ready{background:#fff4df;color:#9a6100}.workflow-badge.closed{background:#e8f7ee;color:#087d3d}
.closing-page .closing-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:0!important}.closing-page .closing-kpis article{position:relative;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;align-content:center!important;min-height:126px;padding:22px;border:1px solid #e8ecf3;border-radius:14px;box-shadow:0 7px 22px rgb(20 31 59 / .045);overflow:hidden}.closing-page .closing-kpis article::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#5624b4,#882cff,#39d5ff)}.closing-page .closing-kpis article i{display:none!important}.closing-page .closing-kpis span,.closing-page .closing-kpis article>b,.closing-page .closing-kpis article>small{grid-column:1!important}.closing-page .closing-kpis span{font-size:13px;font-weight:700;color:#68758b}.closing-page .closing-kpis b{margin-top:7px;font:800 24px/1.25 plex,Arial,sans-serif!important;color:#122046!important;direction:ltr;text-align:right}.closing-page .closing-kpis small{margin-top:2px;font-size:12px;color:#8994a8}
.closing-state{display:flex;align-items:center;gap:10px;margin:16px 0;padding:13px 16px;border-radius:12px;border:1px solid #e4e9f2;background:#f8fafc;color:#516079}.closing-state b{font-size:14px}.closing-state span{font-size:13px}.closing-state.ready{border-color:#f1d9a9;background:#fffaf0;color:#886008}.closing-state.closed{border-color:#bde6ce;background:#f0faf4;color:#087d3d}
.closing-page .closing-grid{margin-top:0;gap:16px}.closing-page .reconcile-card{padding:20px;border:1px solid #e6ebf4;border-radius:14px;box-shadow:0 6px 20px rgb(20 31 59 / .035)}.closing-page .reconcile-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#5624b4,#882cff,#39d5ff);opacity:.78}.reconcile-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.reconcile-card h2{margin:0;font-size:17px}.reconcile-status{border-radius:999px;padding:5px 9px;background:#f3f5f8;color:#68758b;font-size:11px;font-weight:700}.reconcile-status.is-matched{background:#e8f7ee;color:#087d3d}.reconcile-card dl{margin:0;border:1px solid #e7ecf4;border-radius:10px;overflow:hidden}.reconcile-card dl>div{min-height:56px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e7ecf4}.reconcile-card dl>div:last-child{border-bottom:0}.reconcile-card dt{font-size:13px;font-weight:600;color:#56647a}.reconcile-card dd{margin:0;font-weight:750;color:#15244a;direction:ltr}.reconcile-card input{width:164px;height:38px;border:1px solid #d7deea!important;border-radius:9px;padding:0 10px;font:700 14px/1 plex,Arial,sans-serif!important;direction:ltr}.reconcile-card #bankDifference,.reconcile-card #cashDifference{color:#b45309}.reconcile-card #bankDifference.is-matched,.reconcile-card #cashDifference.is-matched{color:#087d3d}.reconcile-card footer{margin-top:12px;padding:10px 12px;border-radius:9px;background:#f5f7fa;color:#6d7789;font-size:13px;font-weight:700;text-align:center}.reconcile-card footer.good-bg{background:#e8f7ee;color:#087d3d}
.closing-page .closing-transfer{justify-content:space-between;gap:20px;margin-top:18px;padding:16px 18px;border:1px solid #dce8f5;border-radius:14px;background:linear-gradient(100deg,#fbfdff,#f3f8ff)}.closing-page .closing-transfer>div:first-child{gap:4px}.closing-page .closing-transfer span{font-size:13px}.closing-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.closing-page .close-primary,.closing-page .history-button{height:44px;border-radius:10px;padding:0 15px;font:700 14px plex,Arial,sans-serif!important}.closing-page .close-primary{border:0;background:linear-gradient(100deg,#5624b4,#882cff);color:#fff;box-shadow:0 7px 16px rgb(86 36 180 / .18)}.closing-page .close-primary:disabled{opacity:.48;box-shadow:none;cursor:not-allowed}.closing-page .history-button{border:1px solid #d8e0eb;background:#fff;color:#263859}.closing-page .closing-history{border-radius:14px}.closing-page .closing-history div{grid-template-columns:1fr 1fr 1fr;gap:12px}.app-dialog{border-radius:16px;padding:24px}.app-dialog button{min-height:42px;border-radius:10px}.app-dialog button.primary{background:linear-gradient(100deg,#5624b4,#882cff);border-color:transparent}
.custody-reconciliation{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,2fr) auto;align-items:center;gap:18px;margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.custody-reconciliation>div>span{display:block;font-size:16px;font-weight:700}.custody-reconciliation>div>small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.custody-reconciliation dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0}.custody-reconciliation dl>div{padding:2px 16px;border-inline-start:1px solid #edf0f5}.custody-reconciliation dt{font-size:12px;color:var(--muted)}.custody-reconciliation dd{margin:5px 0 0;font-size:16px;font-weight:800;color:var(--ink);direction:ltr}.custody-match-result.is-matched dd,.custody-match-result.is-matched dt{color:var(--success)}.custody-match-result.is-mismatch dd,.custody-match-result.is-mismatch dt{color:var(--danger)}.custody-bottom{display:none!important}
@media(max-width:900px){.closing-page .closing-kpis{grid-template-columns:1fr}.closing-page .closing-transfer{align-items:flex-start;flex-direction:column}.closing-page .closing-grid{grid-template-columns:1fr}.closing-page .closing-heading{align-items:flex-start;flex-direction:column}.custody-reconciliation{grid-template-columns:1fr}.custody-reconciliation dl{grid-template-columns:1fr}.custody-reconciliation dl>div{border-inline-start:0;border-top:1px solid #edf0f5;padding:10px 0}.custody-reconciliation dl>div:first-child{border-top:0}}

/* V1.1 app shell: stable sidebar/header dimensions across every route. */
.sidebar{width:266px!important;min-height:100dvh!important;height:100dvh!important;display:flex!important;flex-direction:column!important;padding:18px 14px!important}.sidebar .brand{width:158px!important;height:68px!important;margin:0 auto 18px!important;object-fit:contain}.sidebar nav{display:flex!important;flex:0 0 auto!important;flex-direction:column!important;min-height:0!important;gap:5px!important}.sidebar .nav-item{min-height:46px!important;height:46px!important;padding:0 13px!important;font-size:13px!important;font-weight:600!important;white-space:nowrap!important}.sidebar .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .logout{margin-top:auto!important;min-height:46px!important;height:46px!important;padding:0 13px!important;font-size:13px!important;white-space:nowrap!important}.sidebar-collapsed .sidebar{width:78px!important;padding-inline:10px!important}.sidebar-collapsed .sidebar .brand{width:44px!important;height:62px!important}.sidebar-toggle{top:104px!important}
.topbar{height:88px!important;padding:0 28px!important;position:sticky;top:0;z-index:35}.month-picker{position:relative!important;width:250px!important;height:46px!important}.month-picker strong{font-size:15px!important}.month-native-input{cursor:pointer!important;pointer-events:auto!important}.welcome{cursor:pointer;border-radius:10px;padding:5px 8px;transition:background .18s ease}.welcome:hover{background:#f7f4ff}.welcome strong{font-size:16px!important}.welcome span{font-size:13px!important}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.header-avatar-initials{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#5624b4,#39d5ff);color:white;font-size:14px;font-weight:800}.page-heading,.form-heading,.screen-heading{min-height:68px;align-items:center!important}.page-heading h1,.form-heading h1,.screen-heading h1{font-size:28px!important}.page-heading p,.form-heading p,.screen-heading p{margin-top:5px!important}
.row-actions button,.user-actions button,.master-actions button{border:0!important;background:transparent!important;box-shadow:none!important;width:34px!important;height:34px!important;padding:0!important;border-radius:9px!important;color:var(--brand-700)!important}.row-actions button:hover,.user-actions button:hover,.master-actions button:hover{background:#f3efff!important}.employee-action-menu{position:fixed;z-index:150;min-width:164px;padding:6px;border:1px solid #e2e8f2;border-radius:11px;background:#fff;box-shadow:0 14px 34px rgb(15 10 61 / .16)}.employee-action-menu button{display:flex;width:100%;align-items:center;gap:8px;border:0;border-radius:7px;background:transparent;padding:9px 10px;color:#d83a48;font:600 13px plex,Arial,sans-serif;cursor:pointer}.employee-action-menu button:hover{background:#fff2f3}
.user-row-actions{display:flex;justify-content:center;gap:3px}.user-row-actions button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--brand-700);cursor:pointer}.user-row-actions button:hover{background:#f3efff}.user-action-menu{position:fixed;z-index:150;min-width:190px;padding:6px;border:1px solid #e2e8f2;border-radius:11px;background:#fff;box-shadow:0 14px 34px rgb(15 10 61 / .16)}.user-action-menu button{display:flex;align-items:center;width:100%;gap:9px;padding:10px;border:0;border-radius:8px;background:transparent;color:#283959;font:600 13px plex,Arial,sans-serif;cursor:pointer;text-align:right}.user-action-menu button:first-child{color:var(--danger)}.user-action-menu button:hover{background:#f6f3ff}

/* V1.1 shared visual refinement: compact enterprise sections and actions. */
.form-card{position:relative;overflow:hidden;background:#fff!important}.form-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-700),var(--brand-600),var(--cyan));opacity:.72}.personal-card{background:linear-gradient(110deg,#fff 0%,#fff 72%,#fbfaff 100%)!important}.photo-editor{align-self:stretch;border-inline-start:1px solid #edf0f5!important;padding-inline-start:24px!important}.photo-change{min-height:40px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:10px!important}.form-heading .form-actions-bar{position:sticky;top:99px;z-index:20;display:flex;padding:7px;border:1px solid var(--line);border-radius:13px;background:rgb(255 255 255 / .94);backdrop-filter:blur(12px);box-shadow:0 8px 22px rgb(15 10 61 / .06)}.form-heading .form-actions-bar .secondary-btn{border:0!important}.form-grid input,.form-grid select,.payment-fields input{border-radius:10px!important;background:#fff!important}.payment-fields{padding:18px!important;background:#fbfbff!important}.method-options span{min-height:84px!important;padding:16px!important;background:#fff}.method-options input:checked+span{box-shadow:0 7px 18px rgb(86 36 180 / .10)}

/* Employee form: action buttons sit directly in the header, with no white inset around Save. */
.form-heading .form-actions-bar{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;gap:8px}
.form-heading .form-actions-bar .primary-btn,.form-heading .form-actions-bar .secondary-btn{min-height:46px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important}
.form-heading .form-actions-bar .primary-btn{padding-inline:18px!important;border:0!important;border-radius:11px!important}
.approval-actions{min-height:76px!important;padding:10px 14px!important}.approval-actions button{height:46px!important;font-size:13px!important}.approval-actions>div{justify-content:center!important;border:0!important;background:transparent!important;padding:0!important}.approval-actions>div b{display:none!important}.approval-actions>div span{font-weight:700;color:var(--ink)}.approval-view{border:0!important;background:transparent!important;border-radius:9px!important}.approval-view:hover{background:#f3efff!important}
.exec-v2 .exec-kpis article{min-height:124px!important}.exec-v2 .exec-progress{padding:18px 22px!important}.exec-v2 .exec-ring{width:112px!important;height:112px!important;flex:0 0 112px!important}.exec-v2 .exec-progress-line{gap:7px!important}.exec-v2 .exec-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.exec-v2 .exec-liquidity-grid{grid-template-columns:minmax(0,1.75fr) minmax(280px,.85fr)!important}.exec-v2 .primary-action{min-height:44px!important;border-radius:10px!important}.exec-v2 .ghost-action{border:0!important;background:transparent!important;border-radius:9px!important}.exec-v2 .ghost-action:hover{background:#f3efff!important}
.settings-page .settings-hero,.settings-page .settings-intro{display:none!important}.settings-page .settings-grid{gap:14px!important}.settings-page .settings-card{min-height:0!important;padding:18px!important}.settings-page .settings-card p{margin-block:7px!important}.settings-page .settings-card ul{margin:10px 0!important}.settings-page .settings-header-icon{display:none!important}.settings-page .settings-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgb(15 10 61 / .10)}
.empty-state,.reports-empty{display:grid;place-items:center;min-height:120px;margin:0;border:1px dashed #d9dff0!important;border-radius:12px;background:#fbfcff;color:var(--muted);font-weight:600}.form-success{font-weight:700!important;color:#fff!important}.form-success.is-error{background:#fff1f2!important;color:#991b2a!important;border:1px solid #fecdd3!important;box-shadow:0 12px 28px rgb(153 27 42 / .14)!important}
@media(max-width:900px){.form-heading .form-actions-bar{position:static}.photo-editor{border-inline-start:0!important;border-bottom:1px solid #edf0f5;padding:0 0 18px!important}.exec-v2 .exec-liquidity-grid{grid-template-columns:1fr!important}.exec-v2 .exec-ring{width:92px!important;height:92px!important;flex-basis:92px!important}.approval-actions>div{display:none!important}}
.sidebar .nav-item>.nav-label,.sidebar .logout>.nav-label{display:block!important;flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.sidebar .nav-item>span:first-child{flex:0 0 22px!important}.execution-page .execution-kpis article,.execution-kpis article{min-width:0!important;overflow:hidden}.execution-page .execution-kpis strong,.execution-kpis strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-variant-numeric:lining-nums tabular-nums}.execution-page .execution-kpis span,.execution-kpis span{line-height:1.45!important}
.approval-actions.is-complete{grid-template-columns:1fr!important;justify-items:center!important}.approval-actions.is-complete>div{max-width:620px!important;width:100%;justify-content:center!important;color:#168347}.approval-actions.is-complete>div>b{background:#e9f8ee!important;color:#168347!important}
.approval-actions.has-reopen{grid-template-columns:minmax(0,1fr) auto!important}.approval-actions.has-reopen>div{justify-content:flex-start!important}.approval-actions.has-reopen .reopen-approved-payroll{background:#fff!important;border:1px solid #f2a8b0!important;color:#b42335!important;box-shadow:none!important}.approval-actions.has-reopen .reopen-approved-payroll:hover{background:#fff5f5!important;border-color:#df7380!important}
@media(max-width:830px){.approval-actions.has-reopen{grid-template-columns:1fr!important}.approval-actions.has-reopen>div{display:none!important}}

/* Financial approval: concise pre-review state and stable table columns. */
.approval-empty-state{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px 18px;border:1px solid #ddd7f8;border-radius:14px;background:linear-gradient(105deg,#fff,#faf8ff);box-shadow:0 8px 22px rgb(15 10 61 / .05)}.approval-empty-state[hidden],.approval-actions[hidden]{display:none!important}.approval-empty-state>div{display:grid;gap:4px}.approval-empty-state strong{font-size:16px;font-weight:700;color:var(--ink)}.approval-empty-state span{font-size:13px;color:var(--muted)}.approval-table-card{overflow-x:auto!important}.approval-table-card table{width:100%;min-width:1240px!important;table-layout:fixed!important}.approval-table-card th,.approval-table-card td{padding:14px 12px!important;vertical-align:middle!important;white-space:nowrap}.approval-col-employee{width:250px}.approval-col-number{width:135px}.approval-col-department{width:145px}.approval-col-money{width:105px}.approval-col-method{width:128px}.approval-col-action{width:76px}.approval-person{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-width:0!important;text-align:right!important}.approval-person i{flex:0 0 36px!important;width:36px!important;height:36px!important}.approval-person span{display:grid!important;gap:3px!important;min-width:0!important;text-align:right!important}.approval-person b{overflow:hidden;text-overflow:ellipsis;font-size:14px!important;font-weight:700!important}.approval-person small{font-size:12px!important;color:var(--muted)!important}.approval-table-card .employee-id{text-align:center!important;font-variant-numeric:tabular-nums;font-weight:600}.approval-table-card th{text-align:right!important;font-size:13px!important;font-weight:700!important}.approval-table-card td:nth-child(n+4):nth-child(-n+8){font-variant-numeric:tabular-nums;text-align:center!important}.approval-actions:not(.is-complete)>div span{font-weight:700!important}.approval-kpis article small{font-size:12px!important;font-weight:500!important}
@media(max-width:700px){.approval-empty-state{align-items:flex-start;flex-direction:column}.approval-empty-state .secondary-btn{width:100%;justify-content:center}}
[hidden][hidden]{display:none!important}

/* V1.1 execution KPI layout: keep labels, values and semantic icons in separate lanes. */
.exec-v2 .exec-kpis article{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;grid-template-rows:auto!important;align-items:center!important;gap:12px!important;padding:18px!important}
.exec-v2 .exec-kpis article>i{grid-column:2!important;grid-row:1!important;width:44px!important;height:44px!important;margin:0!important;align-self:start!important}
.exec-v2 .exec-kpis article>div{grid-column:1!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-width:0!important;gap:4px!important}
.exec-v2 .exec-kpis article span{display:block!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.exec-v2 .exec-kpis article b{display:block!important;max-width:100%!important;font-size:22px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;direction:ltr!important;text-align:right!important}
.exec-v2 .exec-kpis article small{display:block!important;min-height:16px!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:1180px){.exec-v2 .exec-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.exec-v2 .exec-kpis{grid-template-columns:1fr!important}.exec-v2 .exec-kpis article{min-height:112px!important}}

/* Compact, full-card settings navigation without changing its data behavior. */
.settings-page .settings-grid{gap:14px!important}
.settings-page .settings-card{min-height:244px!important;padding:18px!important;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.settings-page .settings-card>i{width:46px!important;height:46px!important;margin-bottom:8px!important;border-radius:12px!important}
.settings-page .settings-card h2{font-size:17px!important;margin-bottom:5px!important}
.settings-page .settings-card p{font-size:13px!important;line-height:1.55!important}
.settings-page .settings-card ul{margin:9px 0!important;line-height:1.75!important;font-size:13px!important}
.settings-page .settings-card li:before{font-size:17px!important;margin-left:6px!important}
.settings-page .settings-card button{padding:9px 11px!important;pointer-events:none}
.settings-page .settings-card:focus-visible,.settings-page .settings-system-card:focus-visible{outline:3px solid rgb(136 44 255 / .22);outline-offset:2px}
.settings-page .settings-system-card{cursor:pointer}
/* V1.1.1 functional visual QA: employee import/profile and stable shell */
.sidebar .nav-item{padding-inline:12px!important;gap:9px!important;font-size:12.5px!important}.sidebar .nav-label{overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}.sidebar-toggle{left:-12px!important}
.employee-stats article small{display:none}.employee-stats article strong{white-space:nowrap}.row-actions .add-movement-row{color:#5624b4}.row-actions button{border-color:transparent;background:transparent}.row-actions button:hover{background:#f1edff;border-color:#e3dafd}
.donut,.exec-ring{aspect-ratio:1/1!important;flex:0 0 auto;min-width:0;position:relative}.donut{width:clamp(132px,11vw,166px)!important;height:auto!important}.exec-ring{width:128px!important;height:128px!important}
.employee-profile-page{padding:24px;min-height:calc(100vh - 100px);background:#f7f8fc}.profile-page-head{display:flex;align-items:center;justify-content:space-between;margin:0 auto 16px;max-width:1280px}.profile-page-head h1{margin:4px 0 0;font-size:28px}.profile-page-head p{margin:0;color:#75809a}.employee-profile-hero,.profile-section{background:#fff;border:1px solid #e5e9f2;box-shadow:0 8px 24px rgba(25,34,61,.045);border-radius:16px}.employee-profile-hero{max-width:1280px;margin:auto;padding:24px;display:flex;align-items:center;gap:18px;border-top:4px solid transparent;border-image:linear-gradient(90deg,#5624b4,#882cff,#00facd) 1}.profile-photo{width:104px;height:104px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#efeaff;color:#5624b4;font-weight:800;font-size:28px;flex:0 0 auto}.profile-photo img{width:100%;height:100%;object-fit:cover}.employee-profile-hero h2{margin:0 0 4px;font-size:24px}.employee-profile-hero p{color:#68748d;margin:7px 0}.employee-profile-hero em{font-style:normal;color:#16844a;background:#eaf8ef;border-radius:999px;padding:5px 10px;margin-right:8px}.employee-profile-hero .primary-btn{margin-inline-start:auto}.employee-profile-grid{max-width:1280px;margin:16px auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-section{padding:20px}.profile-section h2{font-size:16px;margin:0 0 16px}.profile-section dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #eef0f5;border-radius:12px;overflow:hidden;margin:0}.profile-section dl>div{padding:13px;border-inline-start:1px solid #eef0f5;border-bottom:1px solid #eef0f5}.profile-section dt{font-size:12px;color:#78839b;margin-bottom:5px}.profile-section dd{margin:0;font-weight:700;color:#1d2943;overflow-wrap:anywhere}.profile-section.profile-salary dd{font-size:16px}.profile-section .net{grid-column:1/-1;background:#f6f2ff}.profile-section .net dd{font-size:21px;color:#5624b4}.profile-documents,.profile-history{max-width:1280px;margin:16px auto}.profile-list,.movement-history{display:grid;gap:8px}.profile-list button,.movement-history-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:right;background:#fbfcff;border:1px solid #edf0f5;border-radius:10px;padding:12px;color:#24314f}.profile-list small,.movement-history-row small{color:#78839b}.movement-history-row{grid-template-columns:110px 110px 130px 1fr;cursor:default}.movement-history-row small{grid-column:1/-1}.profile-empty{padding:18px;text-align:center;color:#79849a;background:#fafbfe;border-radius:10px}.import-preview-overlay{position:fixed;inset:0;z-index:1000;background:rgba(10,17,38,.46);display:grid;place-items:center;padding:24px}.import-preview-modal{width:min(900px,100%);max-height:min(720px,calc(100dvh - 48px));display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 65px rgba(5,12,32,.25);overflow:hidden}.import-preview-modal>header,.import-preview-modal>footer{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid #edf0f6}.import-preview-modal>header h2{margin:0;font-size:18px}.import-preview-modal>header p{margin:5px 0 0;color:#6c7891}.import-preview-modal>header button{border:0;background:transparent;font-size:26px}.import-preview-modal>footer{border-top:1px solid #edf0f6;border-bottom:0;gap:8px;justify-content:flex-start}.import-preview-table{overflow:auto;padding:0 20px}.import-preview-table table{width:100%;border-collapse:collapse}.import-preview-table th,.import-preview-table td{padding:12px 8px;border-bottom:1px solid #edf0f6;text-align:right;font-size:13px}.import-preview-table th{position:sticky;top:0;background:#fafbfe;color:#66738f}.import-preview-table .negative{color:#d33b45}.import-preview-table .positive{color:#09884e}
@media(max-width:1180px){.employee-profile-grid{grid-template-columns:1fr}.employee-profile-page{padding:18px}}@media(max-width:700px){.employee-profile-hero{align-items:flex-start;flex-wrap:wrap}.employee-profile-hero .primary-btn{margin-inline-start:0}.profile-section dl,.movement-history-row{grid-template-columns:1fr}.profile-section .net,.movement-history-row small{grid-column:auto}.profile-page-head{align-items:flex-start;gap:12px;flex-direction:column}}
.system-profile-modal{width:min(520px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 65px rgba(5,12,32,.25);overflow:hidden}.system-profile-modal>header{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid #edf0f6}.system-profile-modal h2{margin:0;font-size:18px}.system-profile-modal header button{border:0;background:transparent;font-size:26px}.system-profile-hero{display:flex;align-items:center;gap:14px;padding:20px;background:linear-gradient(135deg,#f8f5ff,#f7fdff)}.system-profile-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;background:#efeaff;color:#5624b4;font-size:23px;font-weight:800;display:grid;place-items:center}.system-profile-avatar img{width:100%;height:100%;object-fit:cover}.system-profile-hero h3{margin:0;font-size:19px}.system-profile-hero p,.system-profile-hero small{display:block;margin:4px 0;color:#68748d}.system-profile-modal form{padding:20px;display:grid;gap:14px}.system-profile-modal label{font-size:13px;font-weight:700;color:#283451}.system-profile-modal input{display:block;width:100%;height:42px;margin-top:7px;border:1px solid #dce3ee;border-radius:9px;padding:0 11px;font:inherit}.system-profile-modal .profile-photo-field small{display:block;margin-top:6px;color:#78839b;font-weight:400}.system-profile-modal footer{display:flex;gap:8px;justify-content:flex-end;padding-top:6px}.profile-error{margin:0;color:#c73745;background:#fff1f2;padding:10px;border-radius:9px}
.exec-v2 .exec-kpis{grid-template-columns:repeat(3,minmax(220px,1fr))!important}.exec-v2 .exec-kpis article b,.exec-v2 .exec-kpis article span,.exec-v2 .exec-kpis article small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}.exec-v2 .exec-kpis article b{font-size:21px!important}.exec-v2 .exec-liquidity-grid{grid-template-columns:minmax(0,1.65fr) minmax(360px,.9fr)!important;align-items:start!important}.exec-v2 .exec-liquidity-grid>div{min-width:0}.exec-v2 .exec-summary{position:sticky;top:104px}@media(max-width:1180px){.exec-v2 .exec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.exec-v2 .exec-liquidity-grid{grid-template-columns:1fr!important}.exec-v2 .exec-summary{position:static}}@media(max-width:680px){.exec-v2 .exec-kpis{grid-template-columns:1fr!important}}

/* App Shell root-cause fix: the sidebar is already a flex item.  The workspace
   must fill the remaining flex space instead of subtracting it again via margins. */
:root{--app-sidebar-expanded:266px;--app-sidebar-collapsed:78px}
html,body{width:100%;min-width:0}
.app-shell{display:flex!important;flex-direction:row!important;align-items:stretch!important;width:100%!important;min-width:0!important;min-height:100dvh!important}
.sidebar{width:var(--app-sidebar-expanded)!important;min-width:var(--app-sidebar-expanded)!important;flex:0 0 var(--app-sidebar-expanded)!important}
.workspace{width:auto!important;max-width:none!important;min-width:0!important;flex:1 1 auto!important;margin-inline:0!important}
.sidebar-collapsed .sidebar{width:var(--app-sidebar-collapsed)!important;min-width:var(--app-sidebar-collapsed)!important;flex-basis:var(--app-sidebar-collapsed)!important}
.sidebar-collapsed .workspace{margin-inline:0!important}

/* Employees use the shared responsive page width.  Only its data table may scroll. */
.employees-page{width:100%;max-width:1540px;margin-inline:auto;min-width:0}
.employee-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}
.employee-filters{display:grid!important;grid-template-columns:minmax(260px,1.65fr) repeat(4,minmax(132px,.8fr)) minmax(146px,max-content)!important;width:100%;max-width:100%;min-width:0;gap:10px!important}
.employee-filters>*{min-width:0!important;max-width:100%}
.employee-table-card{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important}
.employee-table-card table{min-width:1000px!important;table-layout:auto!important}
.employee-table-card th:first-child,.employee-table-card td:first-child{min-width:260px!important}
.employee-table-card th:last-child,.employee-table-card td:last-child{min-width:154px!important}
.employee-cell{min-width:230px!important}.employee-cell button{white-space:nowrap!important}
@media(max-width:1320px){.employee-filters{grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(130px,.85fr)) minmax(142px,max-content)!important}}
@media(max-width:1040px){.employee-filters{grid-template-columns:minmax(230px,1.5fr) repeat(2,minmax(130px,.8fr))!important}.employee-stats{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important}}
@media(max-width:720px){.employee-filters{grid-template-columns:1fr!important}.employee-stats{grid-template-columns:1fr!important}}
@media(max-width:1300px){.employee-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1050px){.employee-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V1.1.1 final sidebar and typography refinement.
   These are shared design tokens, deliberately not page-specific overrides. */
:root{
  --app-sidebar-expanded:300px;
  --app-sidebar-collapsed:78px;
  --type-page-title:30px;
  --type-section-title:19px;
  --type-card-title:14px;
  --type-kpi-value:26px;
  --type-table-header:13px;
  --type-table-primary:14px;
  --type-table-secondary:12px;
  --type-field-label:14px;
  --type-button:14px;
}
body{font-size:14px!important;font-weight:400!important;line-height:1.5}

/* Stable, spacious sidebar.  It remains a single fixed flex column on every route. */
.sidebar{
  width:var(--app-sidebar-expanded)!important;
  min-width:var(--app-sidebar-expanded)!important;
  flex-basis:var(--app-sidebar-expanded)!important;
  padding:22px 16px 16px!important;
  overflow:visible!important;
}
.sidebar .brand{width:164px!important;height:74px!important;margin:0 auto 28px!important}
.sidebar nav{gap:6px!important;min-width:0!important}
.sidebar .nav-item,.sidebar .logout{
  min-height:50px!important;
  height:50px!important;
  padding-inline:7px!important;
  gap:7px!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.2!important;
}
.sidebar .nav-item{overflow:visible!important}
.sidebar .nav-item>span:first-child,.sidebar .logout>span:first-child{flex:0 0 22px!important;width:22px!important;height:22px!important}
.sidebar .nav-item svg,.sidebar .logout svg{width:21px!important;height:21px!important;stroke-width:1.85!important}
.sidebar .nav-label,.sidebar .nav-item>.nav-label,.sidebar .logout>.nav-label{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.sidebar .logout{margin-top:auto!important;margin-bottom:2px!important;font-weight:500!important}
.sidebar .nav-item.active{font-weight:600!important}

/* V1.1.1 — payroll preparation and employee movement drawer */
.payroll-bottom article:only-child{display:block!important}
.payroll-kpis article small:empty{display:none!important}
.payroll-kpis article strong{white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
.payroll-validation-item{display:inline-flex;align-items:center;gap:6px;margin-inline-end:10px;font-size:13px;font-weight:600}
.payroll-validation-item::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}.payroll-validation-item.is-ready{color:#16814b}.payroll-validation-item.is-warning{color:#b55d0a}
.payroll-submit-area{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.payroll-workflow-message{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.payroll-submit-area .send-payroll{margin:0 0 0 auto!important}.send-payroll[hidden]{display:none!important}
.payroll-selection{width:28px;height:28px;display:inline-grid;place-items:center;cursor:pointer;border-radius:8px;transition:background .18s}.payroll-selection:hover{background:#f1edff}.payroll-selection input{position:absolute;opacity:0;pointer-events:none}.payroll-selection span{width:19px;height:19px;border:1.5px solid #b9c3d5;border-radius:6px;display:grid;place-items:center;transition:.18s}.payroll-selection input:checked+span{border-color:#6224d6;background:linear-gradient(135deg,#5624b4,#882cff)}.payroll-selection input:checked+span::after{content:'✓';font-size:12px;font-weight:700;color:#fff}.payroll-selection input:focus-visible+span{outline:3px solid rgba(136,44,255,.24);outline-offset:2px}.payroll-included-state{display:inline-flex;align-items:center;justify-content:center;min-width:68px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600}.payroll-included-state.is-included{background:#eaf8ef;color:#158247}.payroll-included-state.is-excluded{background:#f2f4f8;color:#6b7588}
.payroll-select-all-column{min-width:76px!important}.payroll-select-all{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:#4b5a76;font-size:12px;font-weight:700}.payroll-select-all input{appearance:none;width:18px;height:18px;margin:0;border:1.5px solid #aebbd0!important;border-radius:6px!important;background:#fff!important;display:grid;place-content:center;cursor:pointer;transition:.18s}.payroll-select-all input:checked{border-color:#6224d6!important;background:linear-gradient(135deg,#5624b4,#882cff)!important}.payroll-select-all input:checked::after{content:'✓';color:#fff;font-size:12px;font-weight:800;line-height:1}.payroll-select-all input:indeterminate{border-color:#6224d6!important;background:#ede7ff!important}.payroll-select-all input:indeterminate::after{content:'−';color:#6224d6;font-size:16px;font-weight:800;line-height:.7}.payroll-select-all input:focus-visible{outline:3px solid rgba(136,44,255,.22);outline-offset:2px}.payroll-select-all input:disabled{opacity:.48;cursor:not-allowed}

/* The wrapper owns the search focus treatment; the native input must not
   draw a second nested border/shadow inside it. */
.search-field input:focus{border:0!important;box-shadow:none!important;outline:0!important}
.payroll-actions button{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:8px!important}.payroll-actions button:hover{background:#f0ecff!important;color:#5624b4!important}.payroll-actions button:focus-visible{outline:3px solid rgba(136,44,255,.24)!important}
.movement-drawer{position:fixed;z-index:1201;inset:0 0 0 auto;width:min(540px,100vw);background:#f7f8fc;border-inline-start:1px solid #e2e7f0;box-shadow:-22px 0 52px rgba(15,10,61,.2);display:flex;flex-direction:column;overflow:hidden;color:#14213d}.movement-drawer[hidden]{display:none}.movement-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 16px;background:#fff;border-bottom:1px solid #e7ebf2}.movement-drawer-header h2{margin:3px 0 0;font-size:22px;font-weight:700}.drawer-eyebrow{font-size:12px;font-weight:600;color:#6b7287}.drawer-close{width:36px;height:36px;border:0;border-radius:10px;background:#f3f5fa;color:#4d5870;font-size:24px;line-height:1;cursor:pointer}.drawer-close:hover{background:#f0ecff;color:#5624b4}.movement-employee-identity{margin:16px 24px 0;display:flex;align-items:center;gap:12px;border:1px solid #e5e1fa;border-radius:14px;padding:12px;background:linear-gradient(135deg,#fbfaff,#f5f8ff)}.movement-employee-avatar{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#5624b4,#39d5ff);color:#fff;font-size:16px;font-weight:700}.movement-employee-avatar img{width:100%;height:100%;object-fit:cover}.movement-employee-identity div:not(.movement-employee-avatar){display:grid;gap:2px;min-width:0}.movement-employee-identity b{font-size:15px;font-weight:700}.movement-employee-identity span,.movement-employee-identity small{font-size:12px;color:#68748a}.movement-form{padding:16px 24px 0;overflow:auto;display:grid;gap:14px}.movement-form-section,.movement-upload-section{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:16px}.movement-form-section h3,.movement-upload-section h3{margin:0 0 13px;font-size:15px;font-weight:700}.movement-form-section label,.movement-upload-section label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#293650}.movement-form-section label+label{margin-top:13px}.movement-form-section label b{color:#d13a50}.movement-form select,.movement-form input,.movement-form textarea{width:100%;min-height:43px;box-sizing:border-box;border:1px solid #dce3ee;border-radius:10px;background:#fff;color:#15213d;padding:0 12px;font:500 14px plex,Arial,sans-serif;outline:0}.movement-form select:focus,.movement-form input:focus,.movement-form textarea:focus{border-color:#7b43e5;box-shadow:0 0 0 3px rgba(136,44,255,.12)}.movement-form textarea{min-height:86px;padding-block:10px;resize:vertical}.movement-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.movement-two-fields label{margin:0!important}.currency-input,.date-input-wrap{position:relative;display:block}.currency-input input{padding-inline-end:52px}.currency-input i{position:absolute;inset-inline-end:13px;top:50%;transform:translateY(-50%);font-style:normal;font-size:12px;color:#6f7b90;pointer-events:none}.date-input-wrap>span{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);color:#6f7b90;pointer-events:none}.date-input-wrap input{padding-inline-end:37px}.field-error{min-height:0;color:#c4364b;font-size:11px;font-weight:500}.field-error:not(:empty){margin-top:-2px}.movement-upload-section{display:grid;gap:11px}.movement-upload-section h3{margin:0}.movement-upload-section h3 small,.movement-upload-section p{font-size:12px;font-weight:500;color:#748097}.movement-upload-section p{margin:-6px 0 0}.movement-upload-control{display:flex!important;align-items:center;gap:10px;min-height:64px;padding:10px 12px;border:1px dashed #b9afe8;border-radius:12px;background:#fbfaff;cursor:pointer}.movement-upload-control:hover{background:#f5f1ff;border-color:#7a45df}.movement-upload-control input{display:none}.movement-upload-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:9px;background:#efe9ff;color:#5b26d4;font-size:19px}.movement-upload-control span:last-child{display:grid;gap:1px}.movement-upload-control b{font-size:13px}.movement-upload-control small{font-size:11px;font-weight:500;color:#778298}.movement-attachment-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 11px;background:#f5f9f7;border-radius:9px;font-size:12px;color:#35604a}.movement-attachment-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-attachment-meta button{border:0;background:transparent;color:#b3374d;font:600 12px plex,Arial,sans-serif;cursor:pointer}.movement-action-bar{position:sticky;bottom:0;z-index:1;display:flex;justify-content:flex-start;gap:10px;margin:0 -24px;padding:14px 24px 18px;background:rgba(247,248,252,.94);border-top:1px solid #e5eaf2;backdrop-filter:blur(8px)}.movement-action-bar .primary-btn,.movement-action-bar .secondary-btn{min-height:44px;margin:0!important;padding:0 18px;border-radius:10px;font:600 14px plex,Arial,sans-serif}.movement-action-bar .primary-btn{order:-1}.movement-action-bar .secondary-btn{background:#fff;border:1px solid #dce3ee;color:#526078}.movement-action-bar .primary-btn:disabled{opacity:.65;cursor:wait}
@media(max-width:620px){.movement-drawer{width:100vw}.movement-drawer-header,.movement-form{padding-inline:18px}.movement-employee-identity{margin-inline:18px}.movement-action-bar{margin-inline:-18px;padding-inline:18px}.movement-two-fields{grid-template-columns:1fr}}
.sidebar .nav-separator{margin:12px 5px!important}
.sidebar-toggle{
  top:50%!important;
  /* Keep the control fully inside the sidebar boundary.  A negative offset
     made the fixed control expand the app-shell scroll width. */
  left:5px!important;
  width:30px!important;
  height:30px!important;
  transform:translateY(-50%)!important;
  border-color:#dfe6f1!important;
  box-shadow:0 6px 18px rgb(15 10 61 / .14)!important;
  z-index:60!important;
}
.sidebar-toggle svg{width:17px!important;height:17px!important}
.sidebar-collapsed .sidebar{
  width:var(--app-sidebar-collapsed)!important;
  min-width:var(--app-sidebar-collapsed)!important;
  flex-basis:var(--app-sidebar-collapsed)!important;
  padding-inline:10px!important;
}
.sidebar-collapsed .sidebar .brand{width:42px!important;height:58px!important;margin-bottom:28px!important}
.sidebar-collapsed .sidebar .nav-item,.sidebar-collapsed .sidebar .logout{justify-content:center!important;padding-inline:0!important}
.sidebar-collapsed .sidebar .nav-label{display:none!important}
.sidebar-collapsed .sidebar-toggle{transform:translateY(-50%) rotate(180deg)!important}

/* A dense table may scroll inside its own container, never through the page.
   Grid children also need a zero min-width so controls cannot widen the shell. */
.workspace,.employees-page{min-width:0!important;max-width:100%!important}
.employee-filters{width:100%!important;max-width:100%!important;grid-template-columns:minmax(0,1.45fr) repeat(4,minmax(0,.7fr)) minmax(0,.95fr)!important}
.employee-filters>*{min-width:0!important;max-width:100%!important}
.employee-table-card,.payroll-table-card{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important}
@media(max-width:1200px){.employee-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* One typography hierarchy for headers, cards, forms, tables and actions. */
.page-heading h1,.page-title h1,.screen-heading h1,.form-heading h1,.users-heading h1{
  font-size:var(--type-page-title)!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
.page-heading p,.page-title p,.screen-heading p,.form-heading p,.users-heading p{font-size:14px!important;font-weight:400!important;color:var(--muted)!important}
.panel header h2,.profile-section h2,.quick-card h4,.exec-liquidity-grid h2,.reconcile-card h2,.settings-card h2{font-size:var(--type-section-title)!important;font-weight:600!important;line-height:1.35!important}
.kpi span,.employee-stats span,.payroll-kpis span,.custody-kpis span,.approval-kpis span,.execution-kpis span,.closing-kpis span{font-size:var(--type-card-title)!important;font-weight:500!important;color:var(--muted)!important}
.kpi strong,.employee-stats strong,.payroll-kpis strong,.custody-kpis strong,.approval-kpis strong,.execution-kpis strong,.closing-kpis strong{font-size:var(--type-kpi-value)!important;font-weight:700!important;line-height:1.22!important}
table thead th,table th{font-size:var(--type-table-header)!important;font-weight:600!important}
table td{font-size:var(--type-table-primary)!important;font-weight:500!important}
table td small,.employee-cell small,.table-secondary{font-size:var(--type-table-secondary)!important;font-weight:400!important}
.employee-cell button,.employee-id{font-weight:600!important}
label,.form-grid label,.payment-fields label{font-size:var(--type-field-label)!important;font-weight:600!important}
input,select,textarea{font-size:14px!important;font-weight:400!important}
.primary-btn,.secondary-btn,.primary-link,.send-payroll,.send-btn,.history-button,.close-primary{font-size:var(--type-button)!important;font-weight:600!important}
.welcome strong{font-size:15px!important;font-weight:600!important}.welcome span{font-size:12px!important;font-weight:400!important}
.import-preview-table .warning{color:#a66308}.incomplete-profile{display:block;color:#a66308!important;font-weight:600;margin-top:2px}

/* Petty cash: compact monthly commitment and one cohesive reconciliation card. */
.custody-page .custody-budget{display:grid!important;grid-template-columns:minmax(170px,.9fr) minmax(145px,.7fr) minmax(220px,1.4fr) auto!important;align-items:center!important;gap:0!important;margin:16px 0!important;padding:0!important;overflow:hidden!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:var(--shadow)!important}
.custody-page .custody-budget>div{display:grid!important;gap:5px!important;min-height:74px!important;align-content:center!important;padding:12px 18px!important;background:transparent!important;border-inline-start:1px solid #edf0f5!important}.custody-page .custody-budget>div:first-child{border-inline-start:0!important}
.custody-page .custody-budget span{font-size:12px!important;font-weight:600!important;color:var(--muted)!important}.custody-page .custody-budget strong{font-size:20px!important;font-weight:700!important;color:var(--brand-700)!important;direction:ltr!important;text-align:right!important}.custody-page .custody-budget b{font-size:13px!important;font-weight:600!important;color:var(--ink)!important}.custody-page .custody-budget .commitment-note b{font-weight:500!important;color:#58677e!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.custody-page .custody-budget>button{justify-self:center!important;height:38px!important;margin:0 14px!important;padding-inline:13px!important;font-size:13px!important}.custody-page .custody-budget.is-empty .commitment-main strong,.custody-page .custody-budget.is-empty .commitment-note b{color:#8190a7!important}
.custody-page .custody-reconciliation{display:block!important;margin:16px 0!important;padding:20px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--shadow)!important}.custody-page .custody-reconciliation>header{display:block!important;margin:0 0 18px!important}.custody-page .custody-reconciliation h2{margin:0!important;font-size:18px!important;font-weight:700!important;color:var(--ink)!important}.custody-page .custody-reconciliation header p{margin:5px 0 0!important;font-size:13px!important;font-weight:400!important;color:var(--muted)!important}
.custody-reconciliation-values{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;border:1px solid #e9edf4!important;border-radius:11px!important;overflow:hidden!important}.custody-reconciliation .reconciliation-value,.custody-reconciliation .reconciliation-actual{display:grid!important;gap:7px!important;min-height:88px!important;align-content:center!important;padding:13px 16px!important;border-inline-start:1px solid #e9edf4!important;background:#fff!important}.custody-reconciliation .reconciliation-value:first-child{border-inline-start:0!important}.custody-reconciliation .reconciliation-value>span,.custody-reconciliation .reconciliation-actual>span:first-child{font-size:12px!important;font-weight:600!important;color:var(--muted)!important}.custody-reconciliation .reconciliation-value strong{font-size:20px!important;font-weight:700!important;color:var(--ink)!important;direction:ltr!important;text-align:right!important}
.custody-reconciliation .currency-input{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}.custody-reconciliation .currency-input input{width:100%!important;min-width:0!important;height:40px!important;margin:0!important;padding:0 11px!important;border:1px solid #d8e0ec!important;border-radius:9px!important;background:#fff!important;color:var(--ink)!important;font:700 15px/1 plex,Arial,sans-serif!important;direction:ltr!important;text-align:left!important;outline:0!important}.custody-reconciliation .currency-input input:focus{border-color:var(--brand-600)!important;box-shadow:0 0 0 3px rgb(136 44 255 / .12)!important}.custody-reconciliation .currency-input input:disabled{background:#f6f8fb!important;color:#9aa6b8!important;cursor:not-allowed!important}.custody-reconciliation .currency-input b{flex:0 0 auto!important;font-size:13px!important;font-weight:600!important;color:var(--muted)!important;direction:rtl!important}.custody-reconciliation .reconciliation-difference{background:#fafbfe!important}
.custody-reconciliation>footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-top:14px!important}.custody-reconciliation .custody-match-result{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:34px!important;padding:7px 10px!important;border-radius:999px!important;background:#fff8ed!important;color:#a15d10!important}.custody-reconciliation .custody-match-result i{display:grid!important;place-items:center!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#ffebc3!important;font-style:normal!important;font-size:12px!important;font-weight:800!important}.custody-reconciliation .custody-match-result b{font-size:13px!important;font-weight:600!important}.custody-reconciliation .custody-match-result.is-matched{background:#eaf8ef!important;color:#087d3d!important}.custody-reconciliation .custody-match-result.is-matched i{background:#c7efd5!important}.custody-reconciliation .custody-match-result.is-mismatch{background:#fff0f1!important;color:#bd3340!important}.custody-reconciliation .custody-match-result.is-mismatch i{background:#ffd1d5!important}.custody-reconciliation #setCustodyActual{min-width:126px!important;height:42px!important}.custody-reconciliation #setCustodyActual:disabled{opacity:.5!important;box-shadow:none!important;cursor:not-allowed!important}
@media(max-width:900px){.custody-page .custody-budget{grid-template-columns:1fr 1fr!important}.custody-page .custody-budget .commitment-note{border-top:1px solid #edf0f5!important;border-inline-start:0!important}.custody-page .custody-budget>button{grid-column:2;margin:10px 14px!important}.custody-reconciliation-values{grid-template-columns:1fr!important}.custody-reconciliation .reconciliation-value,.custody-reconciliation .reconciliation-actual{border-inline-start:0!important;border-top:1px solid #e9edf4!important}.custody-reconciliation .reconciliation-value:first-child{border-top:0!important}}
@media(max-width:560px){.custody-page .custody-budget{grid-template-columns:1fr!important}.custody-page .custody-budget>div{border-inline-start:0!important;border-top:1px solid #edf0f5!important}.custody-page .custody-budget>div:first-child{border-top:0!important}.custody-page .custody-budget>button{grid-column:auto!important;justify-self:stretch!important;margin:10px 14px!important}.custody-reconciliation>footer{align-items:stretch!important;flex-direction:column!important}.custody-reconciliation #setCustodyActual{width:100%!important}}

/* Petty cash operational view: the ledger is the source of the current balance. */
.custody-page .custody-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin:18px 0!important}
.custody-page .custody-kpis article{min-height:142px!important;grid-template-columns:56px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;align-items:center!important;padding:17px 18px!important;border-radius:14px!important;border-color:#e2e8f2!important;box-shadow:0 6px 18px rgb(26 43 78 / .045)!important}
.custody-page .custody-kpis article::before{content:"";position:absolute;inset:0 0 auto;height:3px;border-radius:14px 14px 0 0;background:linear-gradient(90deg,#5624b4,#882cff,#39d5ff)}
.custody-page .custody-kpis i{width:52px!important;height:52px!important;grid-column:1!important;grid-row:1 / 4!important;margin:0!important;border-radius:14px!important;font-size:23px!important}
.custody-page .custody-kpis span,.custody-page .custody-kpis strong,.custody-page .custody-kpis small{grid-column:2!important;text-align:right!important}
.custody-page .custody-kpis span{font-size:13px!important;font-weight:600!important;color:var(--muted)!important}
.custody-page .custody-kpis strong{margin:2px 0 0!important;font-size:24px!important;font-weight:700!important;line-height:1.15!important;color:var(--ink)!important;direction:ltr!important}
.custody-page .custody-kpis small{font-size:12px!important;font-weight:500!important;color:#7b89a0!important}
.custody-page .custody-kpis article:first-child strong{color:#1c3764!important}.custody-page .custody-kpis article:nth-child(2) strong{color:#087d3d!important}.custody-page .custody-kpis article:nth-child(3) strong{color:#bc3340!important}.custody-page .custody-kpis article:nth-child(4) strong{color:#5420db!important}
.custody-page .custody-budget{grid-template-columns:minmax(170px,.9fr) minmax(150px,.7fr) minmax(250px,1.45fr) auto!important;margin:16px 0 18px!important}
.custody-page .custody-budget.is-empty .commitment-main{grid-column:1 / 4!important}.custody-page .custody-budget.is-empty .commitment-main span{font-size:13px!important;color:var(--ink)!important}.custody-page .custody-budget.is-empty .commitment-main strong{display:none!important}.custody-page .custody-budget.is-empty .commitment-note,.custody-page .custody-budget.is-empty>div:nth-child(2){display:none!important}.custody-page .custody-budget.is-empty>button{display:none!important}
.custody-page .custody-toolbar{grid-template-columns:auto auto minmax(230px,1.5fr) repeat(2,minmax(135px,.85fr))!important;margin:0 0 14px!important}
.custody-page .custody-table-card{margin-top:0!important}
.custody-page .custody-budget.is-empty .commitment-main span{font-size:14px!important;font-weight:650!important;color:#354461!important}
.custody-page .custody-toolbar .custody-search input,.custody-page .custody-toolbar select{font-size:14px!important;font-weight:550!important;color:#34425f!important}
.custody-page .custody-table-card th{font-size:13px!important;font-weight:700!important;color:#52627d!important}
.custody-page .custody-table-card td{font-size:14px!important;font-weight:600!important;color:#34425f!important}
.custody-page .custody-table-card td small{font-size:12px!important;font-weight:550!important}
.custody-page .movement-type{font-weight:700!important}
.custody-page .custody-ledger-table{table-layout:fixed!important}
.custody-page .custody-ledger-table .ledger-date{width:12%}.custody-page .custody-ledger-table .ledger-type{width:10%}.custody-page .custody-ledger-table .ledger-description{width:25%}.custody-page .custody-ledger-table .ledger-source{width:17%}.custody-page .custody-ledger-table .ledger-amount{width:12%}.custody-page .custody-ledger-table .ledger-balance{width:15%}.custody-page .custody-ledger-table .ledger-actions{width:9%}
.custody-page .custody-ledger-table th,.custody-page .custody-ledger-table td{vertical-align:middle!important}.custody-page .custody-ledger-table td:nth-child(1),.custody-page .custody-ledger-table td:nth-child(5),.custody-page .custody-ledger-table td:nth-child(6){direction:ltr!important;white-space:nowrap!important}.custody-page .custody-ledger-table td:nth-child(3),.custody-page .custody-ledger-table td:nth-child(4){overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
@media(max-width:1280px){.custody-page .custody-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.custody-page .custody-toolbar{grid-template-columns:auto auto minmax(220px,1fr) 1fr!important}.custody-page .custody-toolbar select:last-child{grid-column:span 1}}
@media(max-width:720px){.custody-page .custody-kpis{grid-template-columns:1fr!important}.custody-page .custody-budget{grid-template-columns:1fr!important}.custody-page .custody-budget>div{border-inline-start:0!important;border-top:1px solid #edf0f5!important}.custody-page .custody-budget>div:first-child{border-top:0!important}.custody-page .custody-budget.is-empty .commitment-main{grid-column:auto!important}.custody-page .custody-toolbar{grid-template-columns:1fr 1fr!important}.custody-page .custody-toolbar .custody-search{grid-column:1 / -1!important}}

/* Commitment dialog: clearer boundaries and finance-friendly numeric values. */
.app-dialog--commitment .app-dialog-fields{gap:17px}.app-dialog--commitment .app-dialog-section-title{border-bottom-color:#d9e1ec;padding-bottom:10px}.app-dialog--commitment label{color:#20304d;font-weight:700}.app-dialog--commitment input,.app-dialog--commitment select{border:1px solid #c7d2e1!important;background:#fff!important;color:#172745!important;font-weight:600!important;box-shadow:0 1px 2px rgb(15 10 61 / .035)}.app-dialog--commitment input::placeholder{color:#7d8aa0;opacity:1;font-weight:500}.app-dialog--commitment input:hover,.app-dialog--commitment select:hover{border-color:#aebbd0!important}.app-dialog--commitment input:focus,.app-dialog--commitment select:focus{border-color:#6e3de3!important;box-shadow:0 0 0 3px rgb(110 61 227 / .14)!important}.app-dialog--commitment input[type=number]{direction:ltr;text-align:right;font-family:Arial,plex,sans-serif;font-size:15px;font-weight:700!important;font-variant-numeric:tabular-nums}.app-dialog--commitment .app-dialog-control:has(em){border-radius:10px;background:#fbfcff}.app-dialog--commitment .app-dialog-control:has(em) em{color:#43536f;font-size:13px;font-weight:700}.app-dialog--commitment label small{color:#66768f;font-weight:600}

/* Keep every settings-card action on a shared baseline within its grid row. */
.settings-page .settings-grid .settings-card{display:flex!important;flex-direction:column!important}.settings-page .settings-grid .settings-card>button[data-settings-open]{margin-top:auto!important;flex:0 0 40px!important}

/* InstaPay keeps the common phone route simple and reveals bank details only as an explicit exception. */
.instapay-details{grid-column:1 / -1;display:grid;gap:14px;padding:15px 16px;border:1px solid #dde6f2;border-radius:13px;background:#fbfcff}.instapay-details-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.instapay-details-heading div{display:grid;gap:3px}.instapay-details-heading b{font-size:14px;font-weight:700;color:#20304d}.instapay-details-heading small{font-size:12px;color:#71809a;font-weight:500}.instapay-mode-toggle{min-height:36px;padding:0 12px;border:1px solid #ccbaff;border-radius:9px;background:#fff;color:#6030cf;font:600 13px/1 plex,Arial,sans-serif;cursor:pointer}.instapay-mode-toggle:hover{background:#f3eeff}.instapay-bank-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.instapay-mobile-fields{display:grid;grid-template-columns:minmax(220px,1fr);max-width:420px}.instapay-details label{display:grid;gap:6px}.instapay-details input{min-width:0}.instapay-details label small{font-size:12px;font-weight:500;color:#71809a}
@media(max-width:760px){.instapay-details-heading{align-items:flex-start;flex-direction:column}.instapay-bank-fields{grid-template-columns:1fr}.instapay-mobile-fields{max-width:none}}

/* Calculated employee movements: keep the formula visible before the transaction is saved. */
.movement-calculation-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.movement-calculation-fields[hidden]{display:none}.movement-calculation-preview{display:grid;gap:8px;margin-top:13px;padding:12px 13px;border:1px solid #dcd4fb;border-radius:12px;background:linear-gradient(135deg,#fbfaff,#f5fbff);color:#273654}.movement-calculation-preview[hidden]{display:none}.movement-calculation-preview h4{margin:0;font-size:13px;font-weight:700;color:#5624b4}.movement-calculation-preview p{margin:0;font-size:12px;line-height:1.7;color:#61708a}.movement-calculation-preview strong{font-size:17px;font-weight:700;color:#172443;font-variant-numeric:tabular-nums}@media(max-width:640px){.movement-calculation-fields{grid-template-columns:1fr}}
