:root{
  --navy:#102f3b;
  --navy-2:#0b2530;
  --teal:#087f83;
  --teal-2:#0da3a6;
  --teal-soft:#e8f7f6;
  --blue:#2870c7;
  --green:#16946a;
  --amber:#d89018;
  --red:#cf4c59;
  --ink:#1d2c37;
  --muted:#657683;
  --line:#dbe4e8;
  --line-dark:#c6d4da;
  --surface:#ffffff;
  --canvas:#eef3f5;
  --shadow:0 8px 28px rgba(21,46,58,.08);
  --radius:7px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}
body{overflow-x:hidden}
a{color:var(--teal);text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-header{height:78px;background:#fff;border-top:5px solid var(--teal);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:26px;position:sticky;top:0;z-index:40;box-shadow:0 2px 12px rgba(20,45,55,.05)}
.brand-lockup,.login-brand{display:flex;align-items:center;gap:13px;min-width:300px}.brand-lockup b,.login-brand b{font-size:21px;letter-spacing:.8px;color:var(--navy)}.brand-lockup small,.login-brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.brand-mark{width:46px;height:43px;position:relative;display:flex;align-items:flex-end;gap:3px;transform:skew(-11deg)}.brand-mark span{display:block;width:13px;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--teal-2),var(--teal))}.brand-mark span:nth-child(1){height:29px}.brand-mark span:nth-child(2){height:40px}.brand-mark span:nth-child(3){height:34px}.brand-mark.large{width:62px;height:55px}.brand-mark.large span{width:17px}.brand-mark.large span:nth-child(1){height:38px}.brand-mark.large span:nth-child(2){height:52px}.brand-mark.large span:nth-child(3){height:45px}
.header-company{flex:1;text-align:center}.header-company strong{display:block;color:var(--navy);font-size:15px}.header-company small{display:block;color:var(--muted);margin-top:3px}
.header-user{display:flex;align-items:center;gap:10px}.header-user b{display:block;font-size:13px}.header-user small{display:block;font-size:11px;color:var(--muted);text-transform:capitalize}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--teal-2),var(--navy));font-weight:700}
.shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:calc(100vh - 78px)}
.module-tree{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#dce9ec;padding:17px 13px 130px;position:fixed;top:78px;bottom:0;width:268px;overflow-y:auto;box-shadow:4px 0 15px rgba(10,33,42,.08)}
.tree-caption{font-size:10px;letter-spacing:1.5px;color:#8aa7b0;padding:5px 12px 13px;font-weight:700}
.tree-link,.tree-group{display:flex;width:100%;align-items:center;gap:10px;color:#dce9ec;background:transparent;border:0;border-radius:5px;padding:10px 11px;margin:2px 0;text-align:left;transition:.15s}.tree-link i,.tree-group i{font-style:normal;width:19px;text-align:center;color:#7de2dc}.tree-link:hover,.tree-link.active,.tree-group:hover{background:rgba(255,255,255,.09);color:#fff}.tree-link.active{border-left:3px solid #52d6cf;padding-left:8px}.tree-group{justify-content:space-between}.tree-group span{display:flex;align-items:center;gap:10px}.tree-group b{font-size:15px;color:#95afb7}.tree-children{border-left:1px solid rgba(255,255,255,.14);margin:1px 0 7px 20px;padding-left:8px;max-height:300px;overflow:hidden;transition:.2s}.tree-children.closed{max-height:0;margin-bottom:0}.tree-children a{display:block;color:#b9cdd3;padding:7px 10px;border-radius:4px;font-size:12px}.tree-children a:hover{background:rgba(255,255,255,.08);color:#fff}
.tree-footer{position:absolute;left:14px;right:14px;bottom:17px;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:12px;background:rgba(255,255,255,.04)}.tree-footer b{display:block;color:#fff;font-size:11px}.tree-footer span{display:block;color:#8eabb4;font-size:10px;margin-top:4px}
.workspace{grid-column:2;padding:19px 22px 0;min-width:0}.page-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px}.breadcrumb{color:var(--teal);font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.page-bar h1{font-size:23px;margin:5px 0 0;color:var(--navy);font-weight:650}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:4px;padding:9px 13px;font-weight:600;font-size:12px;background:#fff;color:var(--ink);white-space:nowrap}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:hover{background:#066b6e}.btn.secondary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.secondary:hover{background:var(--navy-2)}.btn.success{background:var(--green);color:#fff}.btn.danger{background:#fff1f2;color:var(--red);border-color:#f0bfc4}.btn.ghost{border-color:var(--line-dark);background:#fff;color:var(--navy)}.btn.outline{border-color:#b7c9cf;background:transparent;color:var(--navy)}.btn.small{padding:7px 10px;font-size:11px}.btn.mini{padding:5px 8px;font-size:10px}.btn.wide{width:100%}
.flash-stack{display:grid;gap:7px;margin-bottom:13px}.flash{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-left:4px solid var(--blue);background:#eef6ff;color:#21486d;border-radius:4px;box-shadow:0 2px 7px rgba(0,0,0,.03)}.flash button{border:0;background:transparent;font-size:18px;color:inherit}.flash.success{border-color:var(--green);background:#ebf8f3;color:#126047}.flash.danger{border-color:var(--red);background:#fff0f2;color:#8b2c37}.flash.warning{border-color:var(--amber);background:#fff7e8;color:#77510f}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #edf1f3;padding-bottom:12px;margin-bottom:13px}.panel-head h3{font-size:16px;margin:0;color:var(--navy)}.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;background:var(--teal-soft);color:var(--teal);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.welcome-strip{background:linear-gradient(100deg,var(--navy),#174c5b);color:#fff;border-radius:var(--radius);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;box-shadow:var(--shadow);position:relative;overflow:hidden}.welcome-strip:after{content:"";position:absolute;width:270px;height:270px;border:50px solid rgba(78,216,207,.08);border-radius:50%;right:65px;top:-130px}.welcome-strip h2{margin:5px 0 4px;font-size:22px}.welcome-strip p{margin:0;color:#bdd0d6}.eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:700;color:var(--teal-2)}.date-card{position:relative;z-index:1;background:#fff;color:var(--navy);width:130px;text-align:center;border-radius:6px;overflow:hidden}.date-card span{display:block;background:var(--teal);color:#fff;padding:6px;text-transform:uppercase;font-size:10px;letter-spacing:1px}.date-card b{display:block;font-size:34px;line-height:37px;padding-top:6px}.date-card small{display:block;padding:0 4px 8px;color:var(--muted);font-size:10px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:15px;display:flex;align-items:center;gap:13px;box-shadow:0 4px 15px rgba(20,45,55,.05);color:var(--ink);border-top:3px solid var(--blue)}.kpi-card i{font-style:normal;width:42px;height:42px;border-radius:6px;display:grid;place-items:center;background:#eaf2fc;color:var(--blue);font-size:21px}.kpi-card span,.metric span{display:block;color:var(--muted);font-size:11px}.kpi-card b{display:block;color:var(--navy);font-size:23px;margin:3px 0 1px}.kpi-card small{color:#8a989f;font-size:10px}.kpi-card.green{border-top-color:var(--green)}.kpi-card.green i{background:#e8f7f1;color:var(--green)}.kpi-card.red{border-top-color:var(--red)}.kpi-card.red i{background:#fcecef;color:var(--red)}.kpi-card.amber{border-top-color:var(--amber)}.kpi-card.amber i{background:#fff5e4;color:var(--amber)}
.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:0 4px 15px rgba(20,45,55,.04)}.metric b{display:block;color:var(--navy);font-size:18px;margin-top:6px}.metric.strong{background:var(--navy);border-color:var(--navy)}.metric.strong span{color:#b8ccd2}.metric.strong b{color:#fff}
.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.dashboard-grid .span-2{grid-column:auto}.action-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.action-list a{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#fbfcfc}.action-list a:hover{border-color:#9fd1d1;background:var(--teal-soft)}.action-list i{font-style:normal;width:34px;height:34px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);border-radius:5px}.action-list b,.action-list span{display:block}.action-list span{font-size:10px;color:var(--muted);margin-top:2px}.action-list em{font-style:normal;margin-left:auto;font-size:10px;color:var(--teal)}.payroll-summary{text-align:center;padding:12px}.payroll-summary>span{display:block;color:var(--muted)}.payroll-summary>b{display:block;font-size:27px;color:var(--navy);margin:8px}.payroll-summary .btn{margin-top:15px}
.status{display:inline-flex;padding:4px 8px;border-radius:20px;background:#eef2f4;color:#5b6e78;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.25px}.status.active,.status.approved,.status.finalized,.status.paid{background:#e7f6ef;color:#0d7c56}.status.inactive,.status.rejected{background:#fcebed;color:#b23544}.status.warning,.status.pending,.status.draft,.status.reviewed{background:#fff3dc;color:#9b6409}.status.reviewed{background:#eaf2fc;color:#2666ad}.status.approved{background:#e8f7f6;color:#087f83}.status.finalized{background:#edeafb;color:#5e49ad}.status.paid{background:#e6f7ed;color:#147748}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:5px}.table-wrap.tall{max-height:530px}.table-wrap table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.table-wrap th{position:sticky;top:0;z-index:2;background:var(--navy);color:#fff;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.25px;padding:10px 11px;white-space:nowrap}.table-wrap td{padding:10px 11px;border-bottom:1px solid #e9eff1;font-size:12px;vertical-align:top}.table-wrap tbody tr:nth-child(even){background:#f9fbfb}.table-wrap tbody tr:hover{background:#eef9f8}.table-wrap td>a{font-weight:600}.empty-cell{text-align:center;color:var(--muted);padding:25px!important}.cell-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px;max-width:230px;white-space:normal}.table-action{display:inline-flex;background:var(--teal-soft);padding:5px 8px;border-radius:4px;font-size:10px}
.search-strip,.toolbar-panel{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px}.search-strip form{display:flex;align-items:center;gap:7px;flex:1}.search-strip form>span{font-size:19px;color:var(--muted)}.search-strip input{flex:1;max-width:650px}.search-strip>b{color:var(--muted);font-size:11px}.toolbar-form{display:flex;align-items:end;gap:8px}.toolbar-form label{min-width:180px}.toolbar-note{display:flex;align-items:baseline;gap:7px}.toolbar-note b{font-size:24px;color:var(--teal)}.toolbar-note span{color:var(--muted);font-size:11px}
.smart-form label,.stack-form label,.toolbar-form label{display:flex;flex-direction:column;gap:5px}.smart-form label>span,.stack-form label>span,.toolbar-form label>span{color:#526772;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.25px}.smart-form input,.smart-form select,.smart-form textarea,.stack-form input,.toolbar-form input,.toolbar-form select,.search-strip input{width:100%;border:1px solid var(--line-dark);border-radius:4px;background:#fff;color:var(--ink);padding:9px 10px;outline:none;transition:.15s}.smart-form input:focus,.smart-form select:focus,.smart-form textarea:focus,.stack-form input:focus,.toolbar-form input:focus,.search-strip input:focus{border-color:var(--teal-2);box-shadow:0 0 0 3px rgba(13,163,166,.1)}.smart-form textarea{min-height:65px;resize:vertical}.field-grid{display:grid;gap:11px}.field-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.form-section{border:1px solid var(--line);border-radius:5px;padding:13px;margin-bottom:12px;background:#fbfcfc}.form-section h4{margin:-13px -13px 13px;padding:9px 12px;background:#eef6f6;color:var(--navy);font-size:12px;border-bottom:1px solid var(--line)}.form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:12px}.check{flex-direction:row!important;align-items:center!important;align-self:end;min-height:37px}.check input{width:auto}.file-input{border:1px dashed #8fbfc1;border-radius:5px;background:var(--teal-soft);padding:10px}.file-input input{border:0;padding:5px 0;background:transparent}.compact{font-size:12px}.form-panel{overflow:hidden}.two-column{display:grid;grid-template-columns:1fr 1.6fr;gap:16px;align-items:start}.two-column.wide-left{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.side-stack{display:grid;gap:0}.narrow-panel{max-width:900px;margin-left:auto;margin-right:auto}
.profile-hero{background:linear-gradient(100deg,var(--navy),#174c5b);color:#fff;padding:19px 22px;border-radius:var(--radius);display:flex;align-items:center;gap:17px;margin-bottom:15px;box-shadow:var(--shadow)}.profile-hero h2{margin:3px 0;font-size:23px}.profile-hero p{margin:0;color:#c2d3d8}.profile-avatar{width:64px;height:64px;border-radius:8px;background:linear-gradient(135deg,#55d9d2,var(--teal));display:grid;place-items:center;font-size:28px;font-weight:700}.profile-tags{display:flex;gap:6px;margin-top:9px}.profile-tags span{border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:4px 8px;font-size:9px}.profile-pay{margin-left:auto;text-align:right}.profile-pay span,.profile-pay small{display:block;color:#bed0d6}.profile-pay b{display:block;font-size:24px;margin:4px 0}.tab-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-list{display:grid;grid-template-columns:145px 1fr;gap:0;margin:0}.detail-list dt,.detail-list dd{padding:8px;border-bottom:1px solid #edf1f3;margin:0}.detail-list dt{color:var(--muted);font-size:11px}.detail-list dd{font-weight:600}.split-form{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.5fr);gap:15px}.hidden{display:none!important}.ok{color:#88efc2}.danger-text{color:#ff9ca6}
.notice{padding:12px 14px;border-radius:5px;margin-bottom:14px;border-left:4px solid var(--blue);background:#eef6ff;color:#285277}.notice.warning{border-color:var(--amber);background:#fff7e6;color:#73510d}.notice.info{border-color:var(--teal);background:var(--teal-soft);color:#155f62}.control-note{background:#f4f7f8;border:1px solid var(--line);padding:11px;border-radius:5px;margin-top:12px}.control-note b,.control-note span{display:block}.control-note span{color:var(--muted);font-size:10px;margin-top:3px}
.process-steps{display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;border:1px solid var(--line);padding:11px;border-radius:var(--radius);margin-bottom:14px;overflow:auto;white-space:nowrap}.process-steps span{padding:6px 9px;background:#edf3f5;border-radius:20px;font-size:10px;font-weight:700;color:#58707a}.process-steps span.done{background:var(--teal-soft);color:var(--teal)}.process-steps i{font-style:normal;color:#9cb0b7}.run-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(100deg,var(--navy),#174c5b);color:#fff;border-radius:var(--radius);padding:18px 22px;margin-bottom:14px}.run-header h2{margin:3px 0;font-size:25px}.run-header p{margin:0;color:#c4d4d9}.run-status{padding:9px 15px;border-radius:4px;background:#fff;color:var(--navy);font-weight:800;text-transform:uppercase;letter-spacing:.8px}.approval-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;margin-bottom:14px}.approval-history{display:flex;gap:13px;flex-wrap:wrap}.approval-history span{font-size:9px;color:var(--muted);text-transform:uppercase}.approval-history b{display:block;color:var(--navy);font-size:10px;margin-top:2px;text-transform:none}.inline-actions{display:flex;align-items:center;gap:6px}.payroll-table table{min-width:1650px}.net-pay{color:var(--teal)}
.payslip-sheet{max-width:880px;margin:0 auto 20px;background:#fff;border:1px solid #b8c9cf;padding:28px;box-shadow:var(--shadow)}.payslip-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:4px solid var(--teal);padding-bottom:13px}.payslip-head h2{margin:0;color:var(--navy)}.payslip-head p{margin:4px 0;color:var(--muted)}.payslip-head>div:last-child{text-align:right}.payslip-head span{display:block;color:var(--teal);font-size:11px;font-weight:700;letter-spacing:1px}.payslip-head b{font-size:20px;color:var(--navy)}.payslip-employee{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 0}.payslip-employee div{background:#f5f8f9;padding:9px}.payslip-employee span,.payslip-employee b{display:block}.payslip-employee span{font-size:9px;color:var(--muted);text-transform:uppercase}.payslip-employee b{font-size:12px;margin-top:3px}.payslip-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payslip-columns table{width:100%;border-collapse:collapse}.payslip-columns th{background:var(--navy);color:#fff;text-align:left;padding:9px}.payslip-columns th:last-child,.payslip-columns td:last-child{text-align:right}.payslip-columns td{border:1px solid var(--line);padding:8px}.payslip-columns tr.total{font-weight:700;background:#edf6f6}.payslip-net{margin:14px 0;background:var(--teal);color:#fff;padding:12px 15px;display:flex;justify-content:space-between;align-items:center}.payslip-net b{font-size:20px}.payslip-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.signature-row{display:flex;justify-content:space-between;gap:20px;margin-top:56px}.signature-row span{border-top:1px solid #7c8b92;padding-top:6px;min-width:130px;text-align:center;font-size:10px;color:var(--muted)}.batch-slip{page-break-after:always}.mini-payslip{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:10px}.mini-payslip div{border:1px solid var(--line);padding:11px}.mini-payslip span,.mini-payslip b{display:block}.mini-payslip span{color:var(--muted);font-size:10px}.mini-payslip b{margin-top:4px}.mini-payslip .net{background:var(--teal-soft);border-color:#9cd0ce}
.report-stat-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-stat-list div{background:#f5f8f9;border:1px solid var(--line);padding:12px}.report-stat-list span{color:var(--muted)}.report-stat-list b{float:right;color:var(--navy);font-size:18px}.print-only{display:none}.empty-state{text-align:center;color:var(--muted);padding:30px}.message-panel{text-align:center;padding:50px}.message-icon{width:60px;height:60px;border-radius:50%;background:#fff0f2;color:var(--red);display:grid;place-items:center;font-size:28px;font-weight:700;margin:auto}.message-panel h2{color:var(--navy)}.page-footer{text-align:right;padding:18px 3px;color:#899aa2;font-size:9px}
.login-page{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.15fr .85fr;background:#fff}.login-story{background:linear-gradient(135deg,var(--navy-2),#164b59);color:#fff;padding:8vh 8vw;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:560px;height:560px;border:90px solid rgba(67,213,204,.07);border-radius:50%;right:-260px;bottom:-250px}.login-brand{position:relative;z-index:1}.login-brand b{color:#fff;font-size:25px}.login-brand small{color:#bad0d6}.login-story h1{font-size:42px;line-height:1.12;max-width:640px;margin:11vh 0 20px;position:relative;z-index:1}.login-story>p{font-size:16px;line-height:1.6;max-width:620px;color:#c7d8dd;position:relative;z-index:1}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:35px;max-width:560px;position:relative;z-index:1}.feature-grid span{border:1px solid rgba(255,255,255,.16);padding:12px;border-radius:5px;color:#d7e7ea}.login-panel{display:grid;place-items:center;padding:30px;background:#f3f7f8}.login-card{width:min(410px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:32px;border-radius:8px}.login-card h2{font-size:25px;color:var(--navy);margin:8px 0}.login-card>p{color:var(--muted);margin:0 0 22px}.stack-form{display:grid;gap:14px}.stack-form input{padding:12px}.demo-credentials{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:5px;color:var(--muted);font-size:11px}.demo-credentials b{color:var(--navy)}.demo-credentials code{color:var(--teal);background:var(--teal-soft);padding:2px 4px}.login-flashes{position:fixed;top:90px;right:20px;z-index:90;min-width:320px}
@media(max-width:1180px){.shell{grid-template-columns:230px minmax(0,1fr)}.module-tree{width:230px}.kpi-grid.five{grid-template-columns:repeat(3,1fr)}.field-grid.cols-4{grid-template-columns:repeat(2,1fr)}.login-story{padding:7vh 5vw}.login-story h1{font-size:35px}}
@media(max-width:900px){.app-header{padding:0 12px}.brand-lockup{min-width:auto}.brand-lockup small,.header-company{display:none}.shell{display:block}.module-tree{position:relative;top:auto;width:auto;height:auto;padding-bottom:20px}.tree-footer{position:static;margin-top:12px}.workspace{padding:14px}.kpi-grid,.kpi-grid.five{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.two-column,.two-column.wide-left,.tab-grid,.split-form{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:calc(100vh - 78px)}.approval-bar{align-items:flex-start;flex-direction:column}.payslip-columns{grid-template-columns:1fr}}
@media(max-width:600px){.app-header{height:auto;min-height:72px}.header-user>div:nth-child(2){display:none}.shell{min-height:0}.page-bar{align-items:flex-start;flex-direction:column}.page-actions{justify-content:flex-start}.kpi-grid,.kpi-grid.five{grid-template-columns:1fr}.action-list{grid-template-columns:1fr}.field-grid.cols-2,.field-grid.cols-3,.field-grid.cols-4{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.toolbar-panel,.search-strip{align-items:stretch;flex-direction:column}.toolbar-form,.search-strip form{align-items:stretch;flex-direction:column}.payslip-employee{grid-template-columns:1fr 1fr}.signature-row{display:grid;grid-template-columns:1fr 1fr}.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-pay{width:100%;text-align:left}.welcome-strip{align-items:flex-start}.date-card{display:none}}
@media print{
  body{background:#fff;font-size:11px}.no-print,.module-tree,.app-header,.page-bar,.page-footer,.flash-stack{display:none!important}.shell{display:block}.workspace{padding:0}.panel,.payslip-sheet{box-shadow:none;border-color:#999}.print-only{display:block}.table-wrap{overflow:visible}.table-wrap table{min-width:0}.table-wrap th{position:static;background:#ddd!important;color:#000!important}.payslip-sheet{max-width:none;border:0;margin:0;padding:10mm}.batch-slip{page-break-after:always}.report-title{text-align:center;margin-bottom:15px}.kpi-grid{page-break-inside:avoid}.payslip-columns th{background:#ddd!important;color:#000!important}.payslip-net{background:#ddd!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:5px 12px;margin-bottom:8px}.permission-grid label{font-size:12px;display:flex;gap:6px;align-items:center}.permission-form{min-width:360px}.wide-setup{max-width:620px}@media(max-width:800px){.permission-grid{grid-template-columns:1fr}.permission-form{min-width:260px}}


/* V1.1 UI + Mobile App integration fix */
.tree-children a.active{background:rgba(255,255,255,.12);color:#fff;border-left:3px solid #52d6cf;padding-left:7px;font-weight:600}
.tree-group.active{background:rgba(255,255,255,.09);color:#fff;box-shadow:inset 3px 0 0 #52d6cf}
.tree-footer{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin:16px 2px 2px}
.module-tree{padding-bottom:24px!important}
.mobile-download-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;padding:14px 16px 18px}
.mobile-download-card{border:1px solid var(--line);border-radius:7px;padding:16px;background:#fbfdfe;display:flex;flex-direction:column;gap:9px;min-height:148px}
.mobile-download-card b{font-size:15px;color:var(--navy)}.mobile-download-card span{font-size:12px;color:var(--muted);min-height:34px}.mobile-download-card em{font-style:normal;color:var(--red);font-size:12px}
.mobile-info-list{display:grid;gap:10px;margin:4px 0 14px}.mobile-info-list>div{display:grid;gap:5px}.mobile-info-list code{display:block;padding:9px 10px;border:1px solid var(--line);background:#f5f8f9;border-radius:5px;color:var(--teal);word-break:break-all}
.mobile-steps{margin:2px 0 16px;padding-left:22px;line-height:1.75;color:var(--ink)}
@media(max-width:1180px){.mobile-download-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.mobile-download-grid{grid-template-columns:1fr}}


/* Smart Payroll V2.0 reference-led UI */
:root{--ref-green:#08783f;--ref-green-dark:#075a34;--ref-green-soft:#e9f7ef}
.module-tree{background:linear-gradient(180deg,#08783f 0%,#056433 100%)}
.brand-mark{background:var(--ref-green)}
.btn.primary{background:var(--ref-green);border-color:var(--ref-green)}
.btn.primary:hover{background:var(--ref-green-dark)}
.tree-link.active,.tree-children a.active,.tree-group.active{background:rgba(255,255,255,.14)!important;box-shadow:inset 3px 0 0 #b7f5cf}
.reference-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 14px;border-bottom:1px solid var(--line);padding-bottom:8px}.reference-tabs a{padding:7px 10px;border-radius:5px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:700}.reference-tabs a.active{background:var(--ref-green-soft);color:var(--ref-green)}
.panel-body{padding:16px}.field-grid.cols-1{grid-template-columns:1fr}.narrow-panel{max-width:900px}.notice{background:#f1f8f4;border:1px solid #cae6d5;padding:12px;border-radius:6px}.notice b{color:var(--ref-green)}.notice p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.policy-list{display:grid;gap:10px;padding:14px}.policy-list article{border:1px solid var(--line);border-radius:7px;padding:14px;background:#fff}.policy-list h3{margin:8px 0 3px;color:var(--navy)}.policy-list p{white-space:pre-wrap;line-height:1.55;color:#455a64}.policy-list small{color:var(--muted)}
.status.pending{background:#fff6df;color:#956600}.status.approved{background:#e7f7ee;color:#08783f}.status.rejected{background:#ffebee;color:#b42318}.btn.danger{background:#fff0f1;border-color:#f4c7cc;color:#b42318}
@media(max-width:900px){.reference-tabs{overflow:auto;flex-wrap:nowrap}.reference-tabs a{white-space:nowrap}}
