:root {
  --green-950:#003e27; --green-900:#005b36; --green-800:#007a42; --green-700:#078c49;
  --green-600:#169c50; --green-100:#dff4e7; --green-50:#f1faf4;
  --gold:#c5a04b; --ink:#17211d; --muted:#66736d; --line:#dfe7e2; --surface:#fff;
  --canvas:#f4f7f5; --danger:#b42318; --danger-bg:#fff1f0; --warning:#9a6700;
  --warning-bg:#fff8df; --blue:#175cd3; --shadow:0 12px 32px rgba(15,52,34,.08);
  --radius:16px; --radius-sm:10px;
}
*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--canvas)}body{margin:0;min-height:100vh;background:var(--canvas)}a{color:var(--green-800);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1.15;margin-bottom:.45rem;letter-spacing:-.035em}h2{font-size:1.08rem;margin-bottom:.4rem}p{line-height:1.55}.muted{color:var(--muted)}.small{font-size:.86rem}.optional{font-size:.76rem;color:#7b8882;font-weight:500}.money{text-align:right;white-space:nowrap}.grow{flex:1}.cell-sub{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:800;color:var(--green-700);margin-bottom:.5rem}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,var(--green-950),#002b1d);color:#fff;display:flex;flex-direction:column;z-index:30;box-shadow:10px 0 30px rgba(0,35,22,.12)}.brand-panel{padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:12px}.brand-panel img{width:70px;height:50px;object-fit:contain;background:#fff;border-radius:10px;padding:5px}.brand-panel strong,.brand-panel span{display:block}.brand-panel strong{font-size:.96rem}.brand-panel span{font-size:.72rem;color:rgba(255,255,255,.62);margin-top:3px}.nav-menu{padding:15px 12px;overflow:auto;flex:1}.nav-menu a{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.76);padding:10px 12px;margin:3px 0;border-radius:10px;font-size:.9rem;font-weight:600;transition:.18s ease}.nav-menu a:hover,.nav-menu a.active{background:rgba(255,255,255,.12);color:#fff}.nav-menu a.active{box-shadow:inset 3px 0 0 #5fd278}.nav-icon{width:22px;text-align:center;font-size:1rem}.nav-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.42);padding:17px 12px 5px}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:10px}.user-avatar,.avatar-small{display:grid;place-items:center;border-radius:50%;background:var(--green-100);color:var(--green-900);font-weight:800}.user-avatar{width:38px;height:38px}.avatar-small{width:36px;height:36px;flex:0 0 36px}.user-meta{min-width:0;flex:1}.user-meta strong,.user-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:.8rem}.user-meta span{font-size:.68rem;color:rgba(255,255,255,.58)}.icon-button{border:0;background:rgba(255,255,255,.1);color:#fff;width:34px;height:34px;border-radius:9px}.main-area{margin-left:270px;min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.menu-toggle{display:none;background:none;border:0;font-size:1.4rem}.topbar-title{display:flex;flex-direction:column}.topbar-title span{font-size:.72rem;color:var(--muted)}.topbar-title strong{font-size:.93rem}.security-pill{margin-left:auto;background:var(--green-50);color:var(--green-800);border:1px solid #cce8d4;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:700}.content-wrap{padding:28px;max-width:1600px;width:100%;margin:0 auto;flex:1}.app-footer{text-align:center;color:#84908a;font-size:.72rem;padding:15px 25px 24px}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading p:last-child{color:var(--muted);margin:0}.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.narrow-card{max-width:760px}.center-card{max-width:560px;margin:70px auto;text-align:center}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.card-heading p{color:var(--muted);font-size:.84rem;margin:0}.section-heading{padding-bottom:10px;border-bottom:1px solid var(--line);margin-top:6px}.section-heading p{font-size:.83rem;color:var(--muted);margin:0}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-sidebar{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:20px}.metric-grid{display:grid;gap:14px;margin-bottom:20px}.metric-grid.three{grid-template-columns:repeat(3,1fr)}.metric-grid.four{grid-template-columns:repeat(4,1fr)}.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 8px 20px rgba(15,52,34,.05);min-width:0}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card span{font-size:.78rem;font-weight:700}.metric-card strong{font-size:1.45rem;display:block;margin:7px 0;color:var(--ink);white-space:nowrap}.metric-card small{font-size:.7rem}.metric-card.positive{border-top:3px solid var(--green-600)}.metric-card.danger{border-top:3px solid #d92d20}.metric-card.attention{border-top:3px solid var(--gold)}.metric-grid.compact .metric-card{padding:15px}.metric-grid.compact .metric-card strong{font-size:1.15rem}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:40px;border-radius:10px;padding:9px 15px;font-weight:750;font-size:.84rem;border:1px solid transparent;transition:.15s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--green-800),var(--green-600));color:#fff;box-shadow:0 7px 16px rgba(0,122,66,.2)}.btn-secondary{background:#fff;color:var(--green-900);border-color:#b9d6c5}.btn-ghost{background:transparent;color:var(--muted);border-color:var(--line)}.btn-danger{background:var(--danger);color:#fff}.btn-block{width:100%}.btn-small{padding:6px 10px;min-height:32px;font-size:.76rem}.button-link{background:none;border:0;padding:0}.danger-text{color:var(--danger)!important}
.stack-form{display:flex;flex-direction:column;gap:17px}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:.79rem;color:#3a4942}input,select,textarea{width:100%;border:1px solid #cfd9d3;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);outline:none;transition:.15s ease}input:focus,select:focus,textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(22,156,80,.12)}input:disabled{background:#f4f6f5;color:#66736d}.field-help{font-size:.72rem;color:var(--muted);font-weight:500}.check-row{display:flex;flex-direction:row;align-items:flex-start;gap:11px}.check-row input{width:auto;margin-top:3px}.check-row span strong,.check-row span small{display:block}.check-row span small{color:var(--muted);font-weight:400;margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.inline-form{display:flex;gap:10px;align-items:flex-end}.inline-form input{flex:1}.filter-card{padding:14px 18px}.filter-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.filter-row label{min-width:180px}.search-box{display:flex;align-items:center;border:1px solid #cfd9d3;border-radius:10px;background:#fff;padding:0 9px;min-width:320px}.search-box input{border:0;box-shadow:none!important}.search-box.wide{max-width:780px}.password-wrap{display:flex;position:relative}.password-toggle{position:absolute;right:8px;top:7px;border:0;background:#eef5f0;border-radius:7px;padding:5px 9px;color:var(--green-800);font-size:.72rem}.otp-input{font-size:1.8rem;text-align:center;letter-spacing:.3em;font-weight:800}.secret-box{background:#f2f7f4;border:1px dashed #a8c7b4;padding:16px;border-radius:10px;margin:20px 0;word-break:break-all}.secret-box span,.secret-box strong{display:block}.secret-box span{font-size:.72rem;color:var(--muted);margin-bottom:6px}.secret-box strong{font-family:Consolas,monospace;letter-spacing:.08em}
.table-wrap{overflow:auto}.table-wrap.tall{max-height:68vh}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem}th{background:#f4f7f5;color:#5d6a64;text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:800;position:sticky;top:0;z-index:2}th,td{padding:12px 11px;border-bottom:1px solid #e7ede9;text-align:left;vertical-align:middle}tbody tr:hover{background:#f9fcfa}tbody tr:last-child td{border-bottom:0}.table-action{font-weight:800;font-size:.77rem;color:var(--green-800)}.table-input{min-width:130px;padding:7px 8px}.empty-state{text-align:center;color:var(--muted);padding:35px!important}.action-menu{display:flex;gap:10px;flex-wrap:wrap}.audit-details{max-width:360px;white-space:normal;word-break:break-word}
.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:800;white-space:nowrap;background:#eef2ef;color:#52615a}.status.draft,.status.returned{background:#fff4d6;color:#875c00}.status.submitted,.status.under-review,.status.pending-approval{background:#eaf2ff;color:#175cd3}.status.approved,.status.active,.status.paid,.status.completed{background:#e5f6ea;color:#067647}.status.partially-approved,.status.payment-in-progress,.status.awaiting-payment{background:#fff1d8;color:#8a5700}.status.rejected,.status.inactive{background:#feeceb;color:#b42318}.mini-danger{display:inline-block;color:var(--danger);font-size:.7rem;font-weight:700}.mini-success{color:#067647;font-weight:800}.mini-muted{color:var(--muted);font-size:.75rem}.amount-chip{background:var(--green-900);color:#fff;font-size:1.25rem;font-weight:800;padding:12px 18px;border-radius:12px}
.flash-stack{position:relative;z-index:50}.flash{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;border-radius:10px;margin-bottom:12px;font-size:.82rem;border:1px solid}.flash.success{background:#e8f7ed;border-color:#b8dfc4;color:#075c31}.flash.danger{background:var(--danger-bg);border-color:#f2c5c1;color:#912018}.flash.warning{background:var(--warning-bg);border-color:#eadb9c;color:#7c5900}.flash.info{background:#eef4ff;border-color:#c9d8f5;color:#194d9c}.flash-close{border:0;background:none;font-size:1.15rem;color:inherit}.info-box{background:var(--green-50);border:1px solid #cce8d4;color:#315a43;border-radius:10px;padding:12px 14px;font-size:.79rem;line-height:1.5}.info-box.prominent{margin-bottom:18px}.alert-panel{border-radius:12px;padding:14px 16px;margin-bottom:18px}.alert-panel.danger{background:var(--danger-bg);border:1px solid #f1c5c1}.alert-panel p{margin:.35rem 0 0}.submit-panel{background:linear-gradient(135deg,#f0f9f3,#e7f5eb);border:1px solid #c6e3cf;border-radius:14px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.submit-panel p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.danger-zone{border-color:#efcbc7}.danger-zone h2{color:var(--danger)}
.auth-body{background:#eef4f0}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(440px,.9fr)}.auth-brand{background:linear-gradient(145deg,rgba(0,62,39,.97),rgba(0,122,66,.92));display:grid;place-items:center;padding:50px;position:relative;overflow:hidden}.auth-brand:before,.auth-brand:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.auth-brand:before{width:600px;height:600px;left:-250px;bottom:-250px}.auth-brand:after{width:420px;height:420px;right:-180px;top:-150px}.auth-brand-inner{max-width:650px;color:#fff;position:relative;z-index:1}.auth-brand img{width:300px;max-height:180px;object-fit:contain;background:#fff;border-radius:18px;padding:15px;margin-bottom:40px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.auth-brand h1{font-size:clamp(2.4rem,5vw,4.3rem);max-width:600px}.auth-brand p{color:rgba(255,255,255,.78);font-size:1.05rem;max-width:570px}.auth-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:#9fe2af;margin-bottom:12px}.auth-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.auth-feature-grid div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:14px;border-radius:12px}.auth-feature-grid strong,.auth-feature-grid span{display:block}.auth-feature-grid strong{font-size:.79rem}.auth-feature-grid span{font-size:.7rem;color:rgba(255,255,255,.61);margin-top:5px}.auth-form-side{display:grid;place-items:center;padding:45px;background:#f7faf8}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 25px 70px rgba(0,62,39,.1)}.auth-lock{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--green-100);margin-bottom:18px}.auth-help{font-size:.7rem;color:var(--muted);margin:20px 0 0;text-align:center}.auth-simple{min-height:100vh;display:grid;place-items:center;padding:40px}.auth-simple>img{width:240px}.error-page{text-align:center;max-width:620px;margin:60px auto}.error-code{font-size:5rem;font-weight:900;color:#c6d4cc}.error-page p{color:var(--muted)}
.batch-tools{display:flex;align-items:center;justify-content:space-between;gap:18px}.batch-live-totals{display:grid;grid-template-columns:repeat(4,auto);gap:22px}.batch-live-totals div span,.batch-live-totals div strong{display:block;text-align:right}.batch-live-totals span{font-size:.65rem;color:var(--muted);text-transform:uppercase}.batch-live-totals strong{font-size:.85rem;margin-top:4px}.batch-entry-card{padding:0;overflow:hidden}.batch-entry-table .input-col{min-width:145px}.money-input{text-align:right;min-width:120px}.employee-cell{display:flex;align-items:center;gap:10px;min-width:190px}.employee-cell strong,.employee-cell span{display:block}.employee-cell span{font-size:.72rem;color:var(--muted);margin-top:3px}.form-footer{display:flex;gap:20px;align-items:flex-end}.button-stack{display:flex;gap:10px}.review-stack{display:flex;flex-direction:column;gap:16px}.review-item{margin-bottom:0}.review-employee{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}.review-claim-total{font-size:.75rem;color:var(--muted)}.review-claim-total strong{display:block;color:var(--ink);font-size:1.15rem;text-align:right;margin-top:3px}.review-stats{display:grid;grid-template-columns:repeat(5,1fr);background:#f5f8f6;border-radius:10px;margin-bottom:15px}.review-stats div{padding:12px;border-right:1px solid #e0e7e3}.review-stats div:last-child{border-right:0}.review-stats span,.review-stats strong{display:block}.review-stats span{font-size:.62rem;text-transform:uppercase;color:var(--muted)}.review-stats strong{font-size:.77rem;margin-top:5px}.approval-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:14px}.sticky-action-bar{position:sticky;bottom:12px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,45,28,.16);border-radius:14px;padding:14px 18px;display:flex;align-items:center;justify-content:flex-end;gap:10px;z-index:10}.sticky-action-bar>div{margin-right:auto}.sticky-action-bar>div strong,.sticky-action-bar>div span{display:block}.sticky-action-bar>div span{font-size:.72rem;color:var(--muted)}
.utilisation-list{display:flex;flex-direction:column;gap:14px}.util-row{display:grid;grid-template-columns:1fr auto;gap:8px}.util-row>div strong,.util-row>div span{display:block}.util-row>div span{font-size:.68rem;color:var(--muted);margin-top:3px}.util-value{text-align:right}.progress{height:6px;background:#e8eeea;border-radius:99px;grid-column:1/-1;overflow:hidden}.progress i,.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green-700),#58bd6c);border-radius:99px}.mini-progress{display:flex;align-items:center;gap:8px;min-width:140px}.mini-progress:before{content:"";height:6px;background:#e8eeea;border-radius:99px;position:absolute}.mini-progress i{height:6px;min-width:2px}.mini-progress span{font-size:.69rem;color:var(--muted)}.detail-list{margin:12px 0 0}.detail-list div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.detail-list div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:.78rem}.detail-list dd{margin:0;font-weight:700;text-align:right}.detail-list .total{font-size:1rem}.account-number{font-family:Consolas,monospace;letter-spacing:.05em}.finance-layout{align-items:stretch}
@media(max-width:1180px){.metric-grid.four{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.review-stats{grid-template-columns:repeat(3,1fr)}.approval-grid{grid-template-columns:repeat(2,1fr)}.batch-tools{align-items:stretch;flex-direction:column}.batch-live-totals{width:100%;grid-template-columns:repeat(4,1fr)}.batch-live-totals div span,.batch-live-totals div strong{text-align:left}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s ease}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.menu-toggle{display:block;margin-right:10px}.content-wrap{padding:20px}.grid-two,.grid-sidebar,.form-grid.three{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-side{min-height:100vh}.review-stats{grid-template-columns:repeat(2,1fr)}.page-heading{flex-direction:column}.heading-actions{width:100%}.form-footer{flex-direction:column;align-items:stretch}.button-stack{justify-content:flex-end}}
@media(max-width:620px){.content-wrap{padding:14px}.topbar{padding:0 14px}.security-pill{display:none}.metric-grid.three,.metric-grid.four{grid-template-columns:1fr}.form-grid.two,.approval-grid{grid-template-columns:1fr}.batch-live-totals{grid-template-columns:repeat(2,1fr)}.button-stack,.form-actions,.sticky-action-bar{flex-direction:column;align-items:stretch}.sticky-action-bar>div{margin:0}.btn{width:100%}.auth-form-side{padding:18px}.auth-card{padding:24px}.review-stats{grid-template-columns:1fr}.review-stats div{border-right:0;border-bottom:1px solid #e0e7e3}.submit-panel{flex-direction:column;align-items:stretch}}
.role-form{display:flex;align-items:center;gap:7px}.role-form .table-input{min-width:105px;width:auto}

/* Banking UI refresh v2.1 */
:root{
  --canvas:#f5f6f7;
  --surface:#ffffff;
  --ink:#17211d;
  --muted:#6d7772;
  --line:#e2e6e4;
  --green-950:#073b2a;
  --green-900:#075235;
  --green-800:#0a6b43;
  --green-700:#0d7b4b;
  --green-600:#178a53;
  --shadow:0 3px 12px rgba(22,40,31,.045);
  --radius:10px;
  --radius-sm:8px;
}
body{font-size:14px;letter-spacing:0;background:#f5f6f7}
h1{font-size:1.7rem;letter-spacing:-.025em;font-weight:720}
h2{font-size:1rem;font-weight:720}.eyebrow{font-size:.66rem;letter-spacing:.14em;color:#477164}
.sidebar{width:244px;background:#063a29;box-shadow:none;border-right:1px solid rgba(255,255,255,.06)}
.main-area{margin-left:244px}.brand-panel{padding:16px 15px 14px;gap:10px}.brand-panel img{width:57px;height:41px;border-radius:7px;padding:4px}.brand-panel strong{font-size:.88rem}.brand-panel span{font-size:.66rem}.nav-menu{padding:10px 9px}.nav-menu a{padding:8px 10px;margin:2px 0;border-radius:7px;font-size:.82rem;font-weight:600;gap:9px}.nav-menu a.active{background:#fff;color:#134d36;box-shadow:none}.nav-menu a.active .nav-icon{color:#0a6b43}.nav-icon{font-size:.88rem;width:18px}.nav-label{font-size:.58rem;padding:14px 10px 4px}.sidebar-footer{padding:11px}.user-avatar{width:32px;height:32px;font-size:.78rem}.icon-button{width:31px;height:31px;border-radius:7px}.topbar{height:60px;padding:0 24px;background:#fff;backdrop-filter:none}.topbar-title span{font-size:.65rem}.topbar-title strong{font-size:.84rem}.security-pill{font-size:.67rem;padding:5px 9px;background:#f5faf7;border-color:#dfeae4}.content-wrap{padding:22px 24px;max-width:1500px}.app-footer{padding:8px 24px 18px;font-size:.66rem}.page-heading{margin-bottom:17px;align-items:center}.page-heading p:last-child{font-size:.82rem}.banking-heading{padding-bottom:14px;border-bottom:1px solid var(--line)}
.card,.banking-card{border-radius:10px;box-shadow:var(--shadow);border:1px solid #e1e5e3;padding:17px;margin-bottom:16px}.card-heading{margin-bottom:12px}.card-heading p{font-size:.76rem}.metric-grid{gap:10px;margin-bottom:16px}.metric-card{border-radius:9px;box-shadow:none;padding:14px 15px;border:1px solid #e0e5e2}.metric-card span{font-size:.69rem;text-transform:uppercase;letter-spacing:.045em;font-weight:700}.metric-card strong{font-size:1.2rem;margin:5px 0}.metric-card small{font-size:.65rem}.metric-card.positive,.metric-card.danger,.metric-card.attention{border-top-width:2px}
.btn{min-height:35px;border-radius:7px;padding:7px 12px;font-size:.77rem;font-weight:700}.btn:hover{transform:none}.btn-primary{background:#0a6b43;box-shadow:none}.btn-primary:hover{background:#07593a}.btn-secondary{border-color:#bfcfc6;background:#fff}.btn-ghost{background:#fff}.btn-small{min-height:29px;padding:5px 9px;font-size:.71rem}
.stack-form{gap:14px}.form-grid{gap:12px}label{font-size:.74rem;gap:5px}input,select,textarea{border-radius:7px;padding:8px 10px;border-color:#ccd5d0;font-size:.82rem}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px rgba(10,107,67,.10)}.field-help{font-size:.66rem}.form-actions{padding-top:4px}.filter-card{padding:11px 13px}.filter-row label{min-width:155px}.filter-row{gap:9px}.search-box{border-radius:7px;min-width:280px}
.table-card{padding:0;overflow:hidden}.table-card .card-heading{padding:15px 16px 8px;margin:0}.table-wrap{border-top:1px solid #e7ebe8}.table-wrap table{font-size:.77rem}thead th{font-size:.64rem;text-transform:uppercase;letter-spacing:.045em;background:#f7f8f8;color:#59655f;font-weight:750}th,td{padding:9px 10px;border-bottom:1px solid #edf0ee}tbody tr:hover{background:#fbfcfb}.cell-sub{font-size:.67rem;margin-top:2px}.table-action{font-size:.7rem}.status{padding:4px 7px;font-size:.61rem;border-radius:5px}.amount-chip{font-size:1.05rem;padding:9px 13px;border-radius:8px}.detail-list div{padding:8px 0}.detail-list dt{font-size:.71rem}.detail-list dd{font-size:.76rem}.progress{height:5px}.row-actions{text-align:right;white-space:nowrap}
.flash{padding:9px 11px;border-radius:7px;font-size:.76rem;margin-bottom:8px}.info-box{border-radius:7px;padding:10px 12px;font-size:.73rem}.submit-panel{border-radius:9px;padding:14px 15px}.sticky-action-bar{border-radius:9px;padding:10px 13px;bottom:8px}.review-stats{border-radius:7px}.review-stats div{padding:9px}.approval-grid{gap:9px}.review-item{box-shadow:none}.review-employee{padding-bottom:10px;margin-bottom:11px}
.auth-layout{grid-template-columns:minmax(0,1fr) minmax(390px,460px)}.auth-brand{padding:42px;background:#073b2a}.auth-brand-inner{max-width:560px}.auth-brand img{width:230px;max-height:135px;border-radius:10px;padding:10px;margin-bottom:30px;box-shadow:none}.auth-brand h1{font-size:2.7rem}.auth-brand p{font-size:.94rem}.auth-feature-grid{margin-top:28px;gap:8px}.auth-feature-grid div{border-radius:7px;padding:11px}.auth-form-side{padding:32px;background:#f5f6f7}.auth-card{width:min(390px,100%);border-radius:11px;padding:27px;box-shadow:0 8px 28px rgba(15,42,29,.07)}.auth-lock{width:40px;height:40px;border-radius:9px;margin-bottom:14px}.auth-help{font-size:.65rem}.password-toggle{top:5px}
.security-setup-shell{max-width:760px;margin:22px auto}.security-setup-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.security-setup-head p:last-child{margin:0;color:var(--muted);font-size:.79rem}.security-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:28px;border-radius:6px;background:#eaf4ee;color:#075235;font-size:.68rem;font-weight:800;letter-spacing:.08em}.security-setup-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:18px 20px}.security-step{display:flex;gap:13px;align-items:flex-start}.step-number{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#0a6b43;color:#fff;font-size:.7rem;font-weight:800;flex:0 0 26px}.security-step h2{margin:2px 0 4px}.security-divider{height:1px;background:#e8ecea;margin:15px 0 15px 39px}.compact-secret{display:flex;align-items:center;gap:14px;background:#f6f8f7;border:1px solid #e0e6e2;border-radius:7px;padding:9px 11px;margin:9px 0 5px;max-width:520px}.compact-secret span{font-size:.65rem;text-transform:uppercase;color:var(--muted);font-weight:700;white-space:nowrap}.compact-secret strong{font-family:Consolas,monospace;font-size:.82rem;letter-spacing:.08em;word-break:break-all}.micro-copy,.security-note{font-size:.65rem;color:var(--muted)}.security-note{text-align:center;margin-top:10px}.mfa-inline-form{display:flex;align-items:flex-end;gap:9px;max-width:440px}.mfa-inline-form label{flex:1}.otp-input.compact{max-width:170px;font-size:1rem;letter-spacing:.16em;font-weight:700}.historical-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px;align-items:start}.historical-help{position:sticky;top:78px}.clean-list{margin:12px 0 0;padding-left:18px;color:#495750;font-size:.75rem;line-height:1.55}.clean-list li{margin-bottom:7px}.compact-danger{margin-top:18px;border-top:1px solid #efd3cf;padding-top:14px}.compact-danger p{font-size:.69rem;color:var(--muted);margin:4px 0 9px}.period-fields{gap:8px}.section-heading{padding-bottom:8px;margin:4px 0 0}.section-heading p{font-size:.72rem}.historical-form-layout textarea{resize:vertical}
@media(max-width:1180px){.historical-form-layout{grid-template-columns:1fr}.historical-help{position:static}}
@media(max-width:900px){.main-area{margin-left:0}.content-wrap{padding:17px}.topbar{padding:0 16px}.security-setup-shell{margin:6px auto}.auth-layout{grid-template-columns:1fr}}
@media(max-width:620px){.content-wrap{padding:12px}.mfa-inline-form{flex-direction:column;align-items:stretch}.otp-input.compact{max-width:none}.security-setup-card{padding:15px}.security-divider{margin-left:0}.compact-secret{display:block}.compact-secret span{display:block;margin-bottom:4px}.historical-form-layout{display:block}}
.verify-shell{max-width:590px;margin-top:70px}.verify-card{padding:20px 22px}.verify-card h1{font-size:1.35rem;margin-bottom:5px}.verify-form{margin-top:12px}
