:root{--navy:#102a43;--blue:#1f6feb;--teal:#149c95;--bg:#f4f7fa;--line:#dce4ec;--text:#243b53;--muted:#627d98;--white:#fff;--red:#b42318;--green:#087a54;--amber:#9a6700}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}.topbar{min-height:68px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 4vw;gap:36px;box-shadow:0 2px 8px #102a4333}.brand{font-size:18px;font-weight:800;color:#fff;display:flex;align-items:center;gap:10px}.brand span,.logo{display:grid;place-items:center;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;border-radius:10px;font-weight:900}.brand span{width:34px;height:34px}.topbar nav{display:flex;gap:6px;flex:1}.topbar nav a{color:#d9e2ec;padding:10px 12px;border-radius:7px}.topbar nav a:hover{background:#ffffff12;color:#fff}.user{display:flex;align-items:center;gap:8px}.user small{color:#9fb3c8}.user form{display:inline}.link{border:0;background:none;color:#9fb3c8;padding:4px}.container{width:min(1180px,92vw);margin:32px auto;min-height:calc(100vh - 150px)}footer{text-align:center;color:var(--muted);padding:24px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 24px}.page-head h1{font-size:30px;margin:3px 0}.page-head p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:11px;color:var(--teal)!important}.pill,.status{display:inline-block;padding:5px 10px;border-radius:99px;background:#dbeafe;color:#1e40af;font-size:12px;font-weight:800;text-transform:capitalize}.pill.danger{background:#fee2e2;color:var(--red)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stats article,.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px #102a430a}.stats article{padding:20px}.stats span{display:block;color:var(--muted);font-size:13px}.stats strong{font-size:25px;color:var(--navy)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.panel{padding:22px;margin-bottom:22px}.panel h2{margin:0 0 16px;font-size:18px;color:var(--navy)}.panel.info{background:#eef8f7;border-color:#b7e2de}.flow{display:flex;align-items:center;justify-content:space-between;gap:12px}.flow div{background:var(--bg);padding:14px;border-radius:9px;flex:1}.flow b,.flow span{display:block}.flow span{color:var(--muted);font-size:12px}.clean{padding-left:18px}.clean li{margin:8px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.inline{grid-template-columns:repeat(5,1fr);align-items:end}.form-grid.inline button{height:42px}.wide{grid-column:1/-1}label{font-weight:700;font-size:12px;color:var(--muted)}input,select,textarea,button,.button{font:inherit}input,select,textarea{display:block;width:100%;margin-top:5px;border:1px solid #bcccdc;border-radius:7px;padding:10px;background:#fff;color:var(--text)}textarea{min-height:70px;resize:vertical}button,.button{border:1px solid #bcccdc;border-radius:7px;background:#fff;color:var(--text);font-weight:750;padding:8px 12px;cursor:pointer}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.ok{background:#dcfce7;color:var(--green);border-color:#a7f3d0}.danger-btn{background:#fee2e2;color:var(--red);border-color:#fecaca}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}td small{display:block;color:var(--muted)}tfoot th{font-size:14px;color:var(--navy)}.status.draft{background:#f3f4f6;color:#4b5563}.status.submitted,.status.approved{background:#fef3c7;color:var(--amber)}.status.approved{background:#dcfce7;color:var(--green)}.status.published{background:#dbeafe;color:#1e40af}.status.rejected,.status.void{background:#fee2e2;color:var(--red)}.actions{display:flex;gap:8px;align-items:center}.notice,.error,.owner-preview{padding:12px 15px;border-radius:8px;margin:0 0 20px}.notice{background:#e0f2fe;color:#075985}.error{background:#fee2e2;color:var(--red)}.owner-preview{background:#fff7d6;border:1px solid #f3d878;color:#725b00}.login-wrap{min-height:82vh;display:grid;place-items:center}.login-card{width:min(410px,92vw);background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 18px 50px #102a4320;text-align:center}.login-card .logo{width:58px;height:58px;margin:auto;font-size:28px}.login-card h1{margin:16px 0 0}.muted{color:var(--muted)}.stack{display:grid;gap:16px;text-align:left;margin-top:25px}.stack button{padding:11px}.statement{max-width:900px;margin-left:auto;margin-right:auto}.statement-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--navy);padding-bottom:18px}.statement-head div:last-child{text-align:right}.statement-head span,.billto span,.billto small{display:block;color:var(--muted)}.billto{padding:22px 0}.totals{display:flex;justify-content:flex-end;gap:28px;padding-top:20px}.empty{text-align:center;padding:80px}.empty h1{font-size:36px}@media(max-width:850px){.topbar{align-items:flex-start;flex-wrap:wrap;padding:14px 4vw;gap:10px}.topbar nav{order:3;overflow:auto;width:100%}.user{margin-left:auto}.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.form-grid.inline{grid-template-columns:1fr 1fr}.flow{align-items:stretch;flex-direction:column}.flow i{transform:rotate(90deg)}.totals{flex-direction:column;gap:5px}}@media(max-width:520px){.stats,.form-grid,.form-grid.inline{grid-template-columns:1fr}.wide{grid-column:auto}.page-head{gap:12px}.topbar .user small{display:none}}

/* Modern application shell */
:root{--sidebar:#0b1739;--sidebar-2:#111f48;--surface:#fff;--surface-soft:#f8faff;--modern-bg:#f3f6fb;--modern-line:#e5eaf2;--ink:#16213e;--subtle:#69738b;--accent:#4f66f8;--cyan:#19a7ce;--purple:#7c5ce7;--success:#17a673;--warning:#f0a32f}
.app-page{background:var(--modern-bg);color:var(--ink)}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--sidebar),#0a1431 70%);color:#fff;padding:25px 18px 18px;display:flex;flex-direction:column;box-shadow:12px 0 34px #17203f0d}
.side-brand{display:flex;align-items:center;gap:11px;color:#fff;padding:0 10px 24px;border-bottom:1px solid #ffffff14}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#22c5de,#536cf5);color:#fff;font-weight:900;font-size:18px;box-shadow:0 8px 22px #2e8ce04d}
.side-brand b{font-size:16px;display:block;letter-spacing:-.01em}.side-brand small{display:block;color:#8fa1cd;font-size:10px;margin-top:1px}
.side-nav{display:flex;flex-direction:column;gap:5px;padding:21px 0;flex:1}.nav-label{color:#6879a7;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:800;padding:15px 12px 5px}
.side-nav a{display:flex;align-items:center;gap:11px;color:#aebbe0;padding:10px 12px;border-radius:10px;font-weight:650;transition:.18s ease}.side-nav a:hover{background:#ffffff0d;color:#fff}.side-nav a.active{color:#fff;background:linear-gradient(90deg,#4f66f82b,#4f66f812);box-shadow:inset 3px 0 #687cff}.side-nav a em{font-style:normal;background:#ee6b6e;color:#fff;font-size:10px;border-radius:99px;padding:1px 7px;margin-left:auto}.nav-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#ffffff0b;font-size:16px}.side-nav a.active .nav-icon{background:#5c70f7;color:#fff}
.privacy-card{display:flex;gap:10px;align-items:center;margin:0 3px 14px;padding:12px;background:#18a67614;border:1px solid #29ca8f26;border-radius:11px}.privacy-card>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#19a775;color:#fff}.privacy-card b,.privacy-card small{display:block}.privacy-card b{font-size:11px;color:#d8fff1}.privacy-card small{font-size:9px;color:#70bda3}
.side-profile{display:flex;align-items:center;gap:10px;padding:15px 8px 3px;border-top:1px solid #ffffff14}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#273760;color:#dce5ff;font-weight:850}.side-profile b,.side-profile small{display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-profile b{font-size:11px}.side-profile small{font-size:9px;color:#7587b5}
.app-main{grid-column:2;min-width:0;min-height:100vh;display:flex;flex-direction:column}.app-page .topbar{position:sticky;z-index:15;top:0;min-height:66px;background:#ffffffed;backdrop-filter:blur(14px);color:var(--ink);padding:0 34px;border-bottom:1px solid var(--modern-line);box-shadow:0 4px 22px #24334b08;display:flex;align-items:center;justify-content:space-between;gap:18px}.top-context span,.top-context small{display:block}.top-context span{font-weight:750;font-size:12px}.top-context small{font-size:9px;color:#8992a8}.top-actions{display:flex;align-items:center;gap:18px}.top-actions form{margin:0}.live-indicator{color:#61708c;font-size:10px;font-weight:650}.live-indicator i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#21b879;margin-right:5px;box-shadow:0 0 0 4px #21b87917}.signout{border:1px solid var(--modern-line);background:#fff;color:#4c5873;padding:7px 12px;font-size:10px;border-radius:8px}.mobile-brand{display:none}.app-page .container{width:auto;max-width:1480px;margin:0 auto;padding:32px 36px;min-height:auto;flex:1}.app-main>footer{padding:16px 36px 24px;font-size:10px;color:#9199ab;text-align:left}

/* Modern dashboard */
.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:27px}.dashboard-hero h1{font-size:28px;line-height:1.15;letter-spacing:-.035em;margin:6px 0 8px;color:#17213c}.dashboard-hero>div>p:last-child{margin:0;color:var(--subtle);font-size:12px}.eyebrow{font-size:9px!important;color:#68758f!important;letter-spacing:.13em;margin:0}.dashboard-hero .eyebrow span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#20b77a;box-shadow:0 0 0 4px #20b77a18;margin:0 7px 1px 0}.hero-actions{display:flex;gap:9px}.button.secondary{background:#fff;color:#4e5a72;border-color:var(--modern-line)}.hero-actions .button{padding:9px 14px;font-size:11px;border-radius:9px;box-shadow:0 4px 14px #24334b08}.hero-actions .primary{background:linear-gradient(135deg,#536bf6,#6b5be7);border-color:transparent;box-shadow:0 8px 18px #536bf62e}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:19px}.metric-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:15px;min-height:112px;padding:18px;background:#fff;border:1px solid var(--modern-line);border-radius:14px;box-shadow:0 6px 22px #1a27420a}.metric-card:after{content:"";position:absolute;inset:auto -20px -40px auto;width:90px;height:90px;border-radius:50%;background:currentColor;opacity:.035}.metric-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;font-size:19px;font-weight:800;flex:none}.metric-card.blue .metric-icon{background:#e8f5ff;color:#258ac5}.metric-card.violet .metric-icon{background:#efebff;color:#7357d8}.metric-card.amber .metric-icon{background:#fff3df;color:#d78b1e}.metric-card.green .metric-icon{background:#e4f8f0;color:#169469}.metric-card span,.metric-card small{display:block}.metric-card>div:last-child>span{color:#7a859c;font-size:10px;font-weight:700}.metric-card strong{display:block;color:#17213c;font-size:26px;line-height:1.15;margin:3px 0 4px;letter-spacing:-.04em}.metric-card small{font-size:9px;color:#98a1b2}.metric-card small i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#1db57b;margin:0 5px 1px 0}
.dashboard-grid{display:grid;gap:18px}.dashboard-grid-main{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr)}.dashboard-grid-lower{grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr) minmax(240px,.75fr)}.app-page .panel{border:1px solid var(--modern-line);border-radius:14px;box-shadow:0 6px 24px #1c29420a;padding:20px;margin-bottom:18px;background:#fff}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-head h2{margin:2px 0 0;font-size:14px;letter-spacing:-.012em}.panel-head>a{font-size:10px;font-weight:700;color:#536bf6}.soft-badge,.month-chip{padding:5px 8px;border-radius:7px;background:#f1f4fa;color:#778198;font-size:9px;font-weight:700}.chart-summary{display:flex;align-items:flex-end;justify-content:space-between;margin:20px 0 4px}.chart-summary span,.chart-summary strong{display:block}.chart-summary span{font-size:9px;color:#8b94a7}.chart-summary strong{font-size:18px;color:#17213c}.chart-summary p{font-size:9px;color:#9aa3b4;margin:0}.bar-chart{height:195px;display:flex;align-items:flex-end;justify-content:space-around;gap:13px;padding:17px 4px 0;border-top:1px dashed #edf0f5}.bar-column{height:100%;min-width:38px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.bar-column span,.bar-value{font-size:9px;color:#8a94a9}.bar-value{color:#58647b;font-weight:700}.bar-column progress{-webkit-appearance:none;appearance:none;width:34px;height:132px;writing-mode:vertical-lr;direction:rtl;border:0;border-radius:8px;overflow:hidden;background:#edf1f8}.bar-column progress::-webkit-progress-bar{background:#edf1f8;border-radius:8px}.bar-column progress::-webkit-progress-value{background:linear-gradient(180deg,#697df8,#43acd7);border-radius:8px}.bar-column progress::-moz-progress-bar{background:linear-gradient(180deg,#697df8,#43acd7);border-radius:8px}
.snapshot-list{display:grid;gap:8px;margin-top:18px}.snapshot-list>div{display:flex;align-items:center;gap:12px;padding:12px;background:#f9faff;border:1px solid #f0f2f7;border-radius:11px}.snapshot-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-weight:900}.snapshot-icon.income{background:#fff1e2;color:#d88826}.snapshot-icon.payment{background:#e6f8f1;color:#159069}.snapshot-icon.people{background:#e9efff;color:#5269e8}.snapshot-list small,.snapshot-list b{display:block}.snapshot-list small{color:#8d96a9;font-size:9px}.snapshot-list b{color:#2b3651;font-size:11px;margin-top:2px}
.queue-list{margin:14px -5px -7px}.queue-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto 10px;gap:11px;align-items:center;padding:10px 5px;border-top:1px solid #f0f2f6;color:var(--ink)}.queue-list>a:hover{background:#fafbfe}.queue-date{width:35px;text-align:center;background:#f0f3fb;border-radius:8px;padding:5px}.queue-date b,.queue-date small,.queue-info b,.queue-info small{display:block}.queue-date b{font-size:12px}.queue-date small{font-size:8px;text-transform:uppercase;color:#8390a8}.queue-info b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-info small{font-size:8px;color:#929aad}.queue-list>a>strong{font-size:10px;white-space:nowrap}.queue-list>a>i{font-size:17px;color:#a7afbf;font-style:normal}
.secure-label{font-size:8px;font-weight:800;color:#18a373;background:#e9f8f2;border-radius:99px;padding:4px 7px}.timeline{margin-top:16px}.timeline>div{position:relative;display:flex;gap:10px;padding:0 0 15px 1px}.timeline>div:not(:last-child):before{content:"";position:absolute;left:4px;top:11px;bottom:0;border-left:1px solid #e4e8f0}.timeline-dot{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;background:#6579f5;border:2px solid #e7eaff;flex:none;margin-top:4px}.timeline p{margin:0;font-size:9px;color:#69758c}.timeline p b,.timeline p strong{color:#2f3a52}.timeline p small{display:block;color:#a0a8b7;font-size:8px;margin-top:2px}
.shield{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e6f8f1;color:#159069;font-weight:900}.control-path{margin:16px 0}.control-path>div{display:flex;align-items:center;gap:9px;padding:9px 10px;background:#f9faff;border:1px solid #eff2f7;border-radius:9px}.control-path>div>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#e9edff;color:#5368e9;font-size:9px;font-weight:850}.control-path p{margin:0}.control-path b,.control-path small{display:block}.control-path b{font-size:10px}.control-path small{font-size:8px;color:#8d96aa}.control-path>i{display:block;text-align:center;color:#b2bac9;font-style:normal;height:13px;line-height:13px}.security-note{display:flex;gap:9px;padding:11px;background:#eef9f5;border:1px solid #dcf3ea;border-radius:10px}.security-note p{margin:0}.security-note b,.security-note small{display:block}.security-note b{font-size:9px;color:#157657}.security-note small{font-size:8px;color:#6a9688;margin-top:2px}.empty-state{text-align:center;padding:30px 10px 22px;color:#919aac}.empty-state>span{display:grid;place-items:center;width:35px;height:35px;margin:0 auto 8px;border-radius:50%;background:#e9f8f2;color:#18a373;font-weight:900}.empty-state b{display:block;color:#536077;font-size:10px}.empty-state p{margin:3px 0;font-size:9px}.empty-state.compact{padding:24px 10px}

@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid-lower{grid-template-columns:1fr 1fr}.controls-panel{grid-column:1/-1}.control-path{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr;align-items:center}.control-path>i{transform:rotate(-90deg)}}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:static;width:auto;height:auto;padding:13px 18px;display:block}.side-brand{border:0;padding:0}.side-brand small,.privacy-card,.side-profile,.nav-label{display:none}.side-nav{padding:12px 0 0;flex-direction:row;overflow:auto}.side-nav a{white-space:nowrap;padding:8px 10px}.nav-icon{display:none}.app-main{display:block}.app-page .topbar{display:none}.app-page .container{padding:25px 20px}.dashboard-grid-main,.dashboard-grid-lower{grid-template-columns:1fr}.controls-panel{grid-column:auto}.app-main>footer{padding-left:20px}.dashboard-hero{align-items:flex-start}.control-path{display:block}.control-path>i{transform:none}}
@media(max-width:620px){.metric-grid{grid-template-columns:1fr}.dashboard-hero{display:block}.hero-actions{margin-top:18px}.hero-actions .button{flex:1;text-align:center}.app-page .container{padding:20px 14px}.dashboard-hero h1{font-size:24px}.chart-summary{display:block}.chart-summary p{margin-top:7px}.bar-chart{gap:5px}.bar-column{min-width:26px}.bar-column progress{width:27px}.queue-list>a{grid-template-columns:36px minmax(0,1fr) 10px}.queue-list>a>strong{display:none}.top-context{display:none}}

/* Phase 2 workforce */
.side-nav{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#34446d transparent}.workforce-forms{align-items:start}.workforce-forms>.panel,.workforce-forms>div>.panel{margin-bottom:18px}.panel-head>a{font-size:10px;font-weight:750}.compact-list{margin-top:12px}.compact-list>div{display:flex;align-items:center;gap:10px;padding:11px 2px;border-top:1px solid #eef1f5}.compact-list>div:first-child{border-top:0}.compact-list p{flex:1;min-width:0;margin:0}.compact-list p b,.compact-list p small{display:block}.compact-list p b{font-size:10px;color:#26324b}.compact-list p small{font-size:8px;color:#8b94a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-list>div>strong{font-size:9px;color:#68738a;white-space:nowrap}.list-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#ece9ff;color:#7058da}.list-icon.project{background:#e5f5fb;color:#2188ae}.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px!important}.attendance-toolbar form{display:flex;align-items:end;gap:8px}.attendance-toolbar label{min-width:180px}.attendance-toolbar input{margin-top:3px}.attendance-counts{display:flex;gap:7px}.attendance-counts span{padding:7px 10px;border:1px solid #e6eaf0;background:#f9faff;border-radius:8px;color:#7a8498;font-size:9px}.attendance-counts b{color:#2d3851;font-size:12px;margin-right:3px}.attendance-sheet .panel-head{align-items:center;margin-bottom:14px}.attendance-sheet table select,.attendance-sheet table input{margin:0;min-width:135px;padding:7px 8px;font-size:10px}.attendance-sheet table input{min-width:200px}.attendance-sheet tbody tr:has(select option[value="present"]:checked){background:#fbfffd}.attendance-select{font-weight:700;color:#33415f}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:15px;padding-top:14px}.form-footer span{color:#8b94a7;font-size:9px}.leave-layout{align-items:start}.mini-workflow{display:flex;align-items:center;gap:8px}.mini-workflow>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#dff5ee;color:#13835e;font-size:9px;font-weight:900}.mini-workflow p{flex:1;margin:0}.mini-workflow b,.mini-workflow small{display:block}.mini-workflow b{font-size:10px}.mini-workflow small{font-size:8px;color:#7e899e}.mini-workflow i{color:#a6afbf;font-style:normal}.status.pending{background:#fff3cd;color:#8a6100}
@media(max-width:1000px){.attendance-toolbar{align-items:flex-start;gap:14px}.attendance-counts{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){.attendance-toolbar{display:block}.attendance-toolbar form{margin-bottom:12px}.attendance-counts{justify-content:flex-start}.mini-workflow{display:grid;grid-template-columns:25px 1fr}.mini-workflow i{display:none}.form-footer{justify-content:space-between}.workforce-forms{display:block}}

/* Phase 3 payroll */
.status.review{background:#e9e7ff;color:#5947b7}.status.locked{background:#e9edf3;color:#3e4a5d}.status.paid,.status.deducted{background:#dff7ed;color:#087653}.status.waived{background:#f1f3f5;color:#707784}.fine-layout{align-items:start}.payroll-start{align-items:start}.payroll-warning{padding:10px;border-radius:8px;background:#fff8e8;border:1px solid #f6dfac;color:#80611c;font-size:9px}.payroll-steps{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:22px}.payroll-steps>div{text-align:center;flex:1}.payroll-steps span{display:grid;place-items:center;width:27px;height:27px;margin:0 auto 6px;border-radius:9px;background:#e9edff;color:#5067e8;font-size:9px;font-weight:900}.payroll-steps b,.payroll-steps small{display:block}.payroll-steps b{font-size:10px}.payroll-steps small{font-size:8px;color:#8b94a7}.payroll-steps i{color:#b3bac8;font-style:normal}.payroll-status{display:flex;align-items:center;gap:9px}.payroll-metrics .metric-card strong{font-size:20px}.payroll-control{display:flex;align-items:center;justify-content:space-between;gap:20px}.payroll-control h2{margin:3px 0}.payroll-control p{font-size:9px;color:#7e889c;margin:0}.lock-note{padding:8px 11px;background:#eef1f5;color:#556075;border-radius:8px;font-size:9px;font-weight:700}.payroll-sheet{padding-left:16px!important;padding-right:16px!important}.payroll-sheet table{font-size:9px}.payroll-sheet th,.payroll-sheet td{padding:7px 5px;white-space:nowrap}.money-input{margin:0!important;width:78px!important;min-width:70px;padding:6px!important;font-size:9px!important;text-align:right}.salary-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.salary-payment-card{border:1px solid #e6eaf0;border-radius:11px;padding:14px;background:#fafbfe}.salary-payment-card>div>b,.salary-payment-card>div>small{display:block}.salary-payment-card>div>b{font-size:11px}.salary-payment-card>div>small{font-size:9px;color:#7c879c}.salary-payment-card form{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.salary-payment-card form button{align-self:end}.salary-payment-card input{padding:7px;font-size:9px}.paid-mark{display:inline-block;margin-top:12px;padding:6px 9px;border-radius:7px;background:#e3f8ef;color:#11805b;font-size:9px;font-weight:800}
.payslip-actions{max-width:900px;margin:0 auto 12px;display:flex;justify-content:space-between}.payslip{max-width:900px;margin:0 auto;background:#fff;border:1px solid #dfe4eb;border-radius:15px;box-shadow:0 12px 38px #1c294213;padding:36px}.payslip>header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #17213c;padding-bottom:20px}.payslip>header>div{display:flex;align-items:center;gap:11px}.payslip>header h1{margin:0;font-size:19px}.payslip>header p,.payslip>header span{margin:0;color:#7e8798;font-size:9px}.payslip>header>div:last-child{display:block;text-align:right}.payslip>header>div:last-child b,.payslip>header>div:last-child span{display:block}.payslip>header>div:last-child b{font-size:18px;letter-spacing:.08em}.payslip-person{display:grid;grid-template-columns:1.5fr 1fr .7fr;gap:20px;padding:22px 0;border-bottom:1px solid #e8ebf0}.payslip-person small,.payslip-person b,.payslip-person span{display:block}.payslip-person small{color:#8b94a5;font-size:8px;text-transform:uppercase}.payslip-person b{font-size:11px;margin:3px 0}.payslip-person span{font-size:9px;color:#657088}.payslip-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:22px 0}.payslip-columns h2,.payslip-payments h2{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#536077;border-bottom:1px solid #e8ebf0;padding-bottom:8px}.payslip dl{margin:0}.payslip dl>div,.payslip-payments>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px dashed #eceff3}.payslip dt,.payslip dd,.payslip-payments span,.payslip-payments b{font-size:9px}.payslip dd{margin:0;font-weight:750}.payslip-total{background:linear-gradient(135deg,#152348,#23376b);color:#fff;border-radius:11px;padding:17px 20px;display:grid;grid-template-columns:1fr auto;align-items:center}.payslip-total span{font-size:10px}.payslip-total strong{font-size:19px}.payslip-total small{grid-column:1/-1;color:#aebce0;font-size:8px;margin-top:3px}.payslip-payments{padding-top:18px}.payslip>footer{padding:22px 0 0;color:#9aa2b1;font-size:8px;text-align:center}
@media(max-width:950px){.payroll-steps{display:grid;grid-template-columns:1fr 1fr 1fr}.payroll-steps i{display:none}.salary-payment-grid{grid-template-columns:1fr}}
@media(max-width:650px){.payroll-control{display:block}.payroll-control .actions{margin-top:12px}.payroll-status{align-items:flex-end;flex-direction:column}.payslip{padding:20px}.payslip-person,.payslip-columns{grid-template-columns:1fr}.payslip-person{gap:10px}.payslip-columns{gap:10px}.payslip>header{align-items:flex-start}.salary-payment-card form{grid-template-columns:1fr}}
@media print{body{background:#fff!important}.sidebar,.topbar,.app-main>footer,.payslip-actions{display:none!important}.app-shell,.app-main{display:block!important}.app-main{grid-column:auto!important}.app-page .container{padding:0!important;max-width:none!important}.payslip{border:0!important;box-shadow:none!important;max-width:none!important;margin:0!important}.payslip .status{border:1px solid #777}.payslip-total{background:#eee!important;color:#111!important}.payslip-total small{color:#444!important}}

/* Phase 4 readability and administration */
.app-page{font-size:15px;line-height:1.55}.app-shell{grid-template-columns:278px minmax(0,1fr)}.sidebar{width:278px;padding:27px 20px 20px}.app-main{grid-column:2}.side-brand{gap:13px;padding:0 10px 25px}.brand-mark{width:42px;height:42px;font-size:20px}.side-brand b{font-size:18px}.side-brand small{font-size:12px;margin-top:2px}.side-nav{gap:6px;padding-top:18px}.nav-label{font-size:10px;padding:16px 12px 5px}.side-nav a{font-size:14px;padding:11px 12px;gap:12px}.nav-icon{width:29px;height:29px;font-size:16px}.side-nav a em{font-size:11px}.privacy-card{padding:13px}.privacy-card b,.side-profile b{font-size:12px}.privacy-card small,.side-profile small{font-size:11px}.side-profile{padding-top:16px}.avatar{width:38px;height:38px}
.app-page .topbar{min-height:72px;padding:0 40px}.top-context span{font-size:14px}.top-context small,.live-indicator,.signout{font-size:12px}.signout{padding:8px 14px}.app-page .container{max-width:1500px;padding:38px 44px}.app-main>footer{font-size:12px;padding-left:44px}
.page-head{align-items:center;margin-bottom:28px;gap:24px}.page-head h1,.dashboard-hero h1{font-size:32px;line-height:1.18}.page-head p,.dashboard-hero>div>p:last-child{font-size:14px;line-height:1.55}.eyebrow{font-size:11px!important}.pill,.status{font-size:12px}.app-page .panel{padding:25px;border-radius:16px;margin-bottom:22px}.panel-head h2,.app-page .panel h2{font-size:18px}.panel-head>a{font-size:13px}.soft-badge,.month-chip{font-size:11px;padding:6px 10px}.grid-2{gap:24px;margin-bottom:24px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}
.metric-grid{gap:20px;margin-bottom:23px}.metric-card{min-height:128px;padding:22px;gap:18px}.metric-icon{width:48px;height:48px;font-size:21px}.metric-card>div:last-child>span{font-size:13px}.metric-card strong{font-size:30px}.metric-card small{font-size:11px}.chart-summary span,.chart-summary p,.bar-column span,.bar-value{font-size:11px}.chart-summary strong{font-size:21px}.snapshot-list small{font-size:11px}.snapshot-list b{font-size:13px}.snapshot-list>div{padding:14px}.snapshot-icon{width:36px;height:36px}.queue-info b,.queue-list>a>strong,.control-path b,.empty-state b{font-size:12px}.queue-info small,.control-path small,.empty-state p,.timeline p,.security-note small{font-size:11px}.timeline p small{font-size:10px}.security-note b{font-size:12px}.secure-label{font-size:10px}.control-path>div{padding:11px}.control-path>div>span{font-size:11px;width:25px;height:25px}
label{font-size:13px}label small{display:block;margin-top:4px;font-weight:500;color:#8a94a8}input,select,textarea{padding:11px 12px;border-radius:9px;font-size:14px}button,.button{font-size:13px;padding:10px 14px;border-radius:9px}.primary{background:linear-gradient(135deg,#536bf6,#6559e8);border-color:transparent}.secondary{background:#fff}.danger{background:#fff1f1;color:#b42318;border-color:#ffd0d0}.tiny,.button.tiny{padding:7px 10px;font-size:11px}.span-2{grid-column:1/-1}.stack-form{display:grid;gap:15px;margin-top:18px}.form-section{border-top:1px solid #e8edf4;margin-top:6px;padding-top:16px}.table-wrap{margin-left:-4px;margin-right:-4px}th,td{padding:14px 12px}th{font-size:12px}td{font-size:13px}td small{font-size:11px;margin-top:3px}.table-link{color:#25334f}.table-link:hover{color:#536bf6}.inline-form{display:flex;align-items:center;gap:7px;margin:0}.password-reset input{margin:0;min-width:215px;padding:8px 10px}.document-list{margin-top:20px}.document-list>div{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid #edf0f5}.document-list p{flex:1;min-width:0;margin:0}.document-list b,.document-list small{display:block}.document-list b{font-size:13px}.document-list small{font-size:11px;color:#7d879a}.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.role-cards>div{padding:15px;border:1px solid #e8edf5;border-radius:11px;background:#f9faff}.role-cards b{font-size:13px}.role-cards p{font-size:12px;color:#6f7b91;margin:5px 0 0}.filter-panel{padding:18px 22px!important}.filter-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-form label{min-width:160px}.filter-form input,.filter-form select{margin-top:3px}.summary-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:18px}.summary-tiles>div{padding:14px;background:#f7f9fd;border:1px solid #edf0f6;border-radius:11px}.summary-tiles span,.summary-tiles strong{display:block}.summary-tiles span{font-size:11px;color:#7d879a}.summary-tiles strong{font-size:22px;margin-top:2px}.import-grid .panel>p{color:#68758b;min-height:68px}.text-link{display:inline-block;margin-top:16px;font-size:12px;font-weight:750}.notice.info{font-size:13px}.save-settings{display:block;margin-left:auto;padding:12px 22px}.audit-json,details pre{max-width:480px;white-space:pre-wrap;word-break:break-word;background:#f6f8fc;border-radius:8px;padding:10px;font-size:11px}details summary{cursor:pointer;color:#536bf6;font-weight:700}.status.succeeded{background:#dcfce7;color:#087a54}.status.failed{background:#fee2e2;color:#b42318}.status.running{background:#dbeafe;color:#1e40af}
@media(max-width:1250px){.grid-3{grid-template-columns:1fr 1fr}.settings-grid article:last-child,.import-grid article:last-child{grid-column:1/-1}}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:static;width:auto}.app-main{grid-column:auto}.app-page .container{padding:28px 22px}.grid-3{grid-template-columns:1fr}.settings-grid article:last-child,.import-grid article:last-child{grid-column:auto}.side-brand b{font-size:16px}.side-brand small{font-size:11px}.side-nav a{font-size:13px}.page-head h1,.dashboard-hero h1{font-size:28px}}
@media(max-width:650px){.page-head{display:block}.page-head>.pill,.page-head>.button{display:inline-block;margin-top:15px}.form-grid,.role-cards,.summary-tiles{grid-template-columns:1fr}.span-2{grid-column:auto}.inline-form.password-reset{display:grid}.password-reset input{min-width:160px}.filter-form{display:grid}.filter-form>*{width:100%}.app-page .panel{padding:20px}.grid-2{gap:0}}

/* Flexible user and access administration */
.limited-dashboard{width:min(620px,100%);margin:10vh auto;padding:48px;text-align:center;background:#fff;border:1px solid #e3e8f1;border-radius:18px;box-shadow:0 16px 46px #18253f12}.limited-dashboard .client-avatar{margin:0 auto 15px}.limited-dashboard h1{margin:6px 0 10px;color:#17213c;font-size:30px}.limited-dashboard>p:not(.eyebrow){color:#68748a}.limited-dashboard>small{display:inline-block;margin-top:12px;padding:7px 11px;border-radius:8px;background:#f1f4fa;color:#637089}
.account-create-form{margin-top:20px}.account-security-note{margin-top:18px}.account-directory table{min-width:1180px}.account-directory td{vertical-align:middle}.account-row-actions{display:flex;gap:7px;white-space:nowrap}.account-edit-modal{width:min(920px,96vw)}.password-modal{width:min(520px,96vw)}.form-section-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.form-section-title h3{margin:2px 0 0;color:#202c47;font-size:16px}.access-editor,.manager-scope-editor{margin-top:4px;padding:18px;border:1px solid #e7ebf3;border-radius:13px;background:#fafbfe}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.permission-option,.employee-assignment-list label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e4e9f2;border-radius:10px;background:#fff;cursor:pointer}.permission-option input,.employee-assignment-list input{width:17px;height:17px;flex:none;margin:2px 0 0;accent-color:#586cf2}.permission-option b,.permission-option small,.employee-assignment-list b,.employee-assignment-list small{display:block}.permission-option b,.employee-assignment-list b{color:#29354e;font-size:12px}.permission-option small,.employee-assignment-list small{margin-top:2px;color:#7b869b;font-size:10px;font-weight:500}.owner-access-message{margin:14px 0 0;padding:13px;border-radius:10px;background:#edf3ff;color:#425791;font-size:12px;font-weight:700}.manager-scope-editor>label{display:block;max-width:360px;margin-top:14px}.employee-assignment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:310px;overflow:auto;margin-top:14px;padding:2px}.scope-help{display:block;margin-top:11px;color:#778298}.account-edit-modal form>footer,.password-modal form>footer{display:flex;justify-content:flex-end;gap:10px}.account-edit-modal form>footer{padding-top:4px}.side-profile small:before{content:'@';color:#6678aa}.login-card label:first-of-type input{font-size:16px}
.side-profile small:before{content:none}
@media(max-width:850px){.permission-grid{grid-template-columns:1fr}.employee-assignment-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.employee-assignment-list{grid-template-columns:1fr}.account-row-actions{display:grid}.form-section-title{align-items:flex-start}}

/* Client accounts and automatic payment conversion */
.client-page-head{align-items:flex-end}.client-actions{display:flex;gap:10px;flex:none}.client-actions .button{min-width:128px}.client-actions button:disabled{cursor:not-allowed;opacity:.48}.client-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.client-account-card{overflow:hidden;background:#fff;border:1px solid #e2e8f1;border-radius:16px;box-shadow:0 7px 24px #1c29420b}.client-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:21px 21px 17px}.client-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#e4f6ff,#e9e8ff);color:#5268e9;font-size:18px;font-weight:900}.client-card-head h2{overflow:hidden;margin:0;color:#1c2741;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.client-card-head p{overflow:hidden;margin:3px 0 0;color:#7b869a;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.client-card-head .status{font-size:10px}.client-paid{padding:17px 21px;background:linear-gradient(135deg,#f7f9ff,#fbfcff);border-block:1px solid #edf0f6}.client-paid small,.client-paid strong,.client-paid p{display:block}.client-paid small{color:#758097;font-size:11px;font-weight:700}.client-paid strong{margin:5px 0 3px;color:#17213c;font-size:25px;line-height:1.2;letter-spacing:-.025em}.client-paid p,.currency-mini{margin:0;color:#6f7b92;font-size:11px;font-weight:650}.client-paid p span{padding:0 5px;color:#bdc4d0}.client-account-card>footer{display:flex;justify-content:space-between;gap:12px;padding:13px 21px;color:#7f899b;font-size:10px}.client-account-card>footer span:last-child{overflow:hidden;max-width:58%;white-space:nowrap;text-overflow:ellipsis;text-align:right}.client-empty{grid-column:1/-1;padding:48px!important;text-align:center}.client-empty .client-avatar{margin:0 auto 13px}.client-empty h2{margin-bottom:5px!important}.client-empty p{margin:0 0 17px;color:#7a8599}.payment-history .panel-head{margin-bottom:14px}.payment-history table{min-width:980px}.payment-history td{vertical-align:middle}.payment-history td b{color:#28344d}.payment-edit-cell{text-align:right}.payment-fx-missing{display:inline-block;padding:4px 7px;border-radius:7px;background:#fff1df;color:#a45c11;font-size:11px;font-weight:800}.client-table-empty{padding:50px!important;text-align:center;color:#7d879a}.client-modal-card{width:min(680px,96vw)}.fx-notice{display:flex;align-items:center;gap:11px;margin:-3px 0 19px;padding:12px 14px;border:1px solid #d9eee5;border-radius:11px;background:#eef8f4}.fx-notice>span{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;background:#daf3e8;color:#0b8d63;font-size:19px;font-weight:900}.fx-notice p{margin:0}.fx-notice b,.fx-notice small{display:block}.fx-notice b{color:#255648;font-size:12px}.fx-notice small{margin-top:2px;color:#6d817b;font-size:11px}.modal-card input[type="hidden"]{display:none}
@media(max-width:1200px){.client-account-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.client-page-head{align-items:flex-start}.client-actions{margin-top:18px}.client-account-grid{grid-template-columns:1fr}.client-card-head{grid-template-columns:44px minmax(0,1fr)}.client-card-head .status{grid-column:2;justify-self:start}.client-actions .button{min-width:0}.client-account-card>footer{display:block}.client-account-card>footer span{display:block}.client-account-card>footer span:last-child{max-width:none;margin-top:3px;text-align:left}}
@media(max-width:520px){.client-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.client-actions .button{width:100%}.client-paid strong{font-size:22px}}

/* Simple cashbook */
.cash-hero{align-items:center}.cash-hero .hero-actions{flex-wrap:wrap;justify-content:flex-end}.cash-filter{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:17px 20px!important}.cash-filter>span{white-space:nowrap;font-size:12px;font-weight:750;color:#66728a;background:#f0f3f9;padding:8px 12px;border-radius:9px}.cash-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:23px}.cash-metric{display:flex;align-items:center;gap:17px;min-height:138px;padding:23px 24px;background:#fff;border:1px solid #e2e8f1;border-radius:16px;box-shadow:0 7px 24px #1c29420b}.cash-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;font-size:24px;font-weight:900;flex:none}.cash-metric small,.cash-metric strong,.cash-metric p{display:block}.cash-metric small{font-size:12px;color:#6d7890;font-weight:750}.cash-metric strong{font-size:27px;line-height:1.15;margin:5px 0;color:#19243e;letter-spacing:-.025em}.cash-metric p{font-size:11px;color:#929bad;margin:0}.cash-metric.deposit .cash-icon{background:#e2f8ef;color:#0c9667}.cash-metric.expense .cash-icon{background:#fff0e4;color:#d46d20}.cash-metric.balance{border-color:#dce3ff;background:linear-gradient(135deg,#fbfcff,#f5f7ff)}.cash-metric.balance .cash-icon{background:#e9edff;color:#5367e8}.cash-metric.balance.negative{background:#fff7f7;border-color:#f3cece}.cash-metric.balance.negative .cash-icon{background:#fee7e7;color:#b42318}.cash-metrics.compact .cash-metric{min-height:118px}.cash-dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr)}.cash-ledger{margin-top:14px}.cash-ledger>div{display:flex;align-items:center;gap:13px;padding:13px 2px;border-top:1px solid #edf0f5}.cash-ledger>div:first-child{border-top:0}.transaction-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;font-size:17px;font-weight:900;flex:none}.transaction-icon.deposit{background:#e4f8f0;color:#0d9669}.transaction-icon.expense{background:#fff0e4;color:#d66e22}.cash-ledger p{flex:1;min-width:0;margin:0}.cash-ledger p b,.cash-ledger p small,.cash-ledger>div>strong,.cash-ledger>div>strong small{display:block}.cash-ledger p b{font-size:13px;color:#28344e}.cash-ledger p small{font-size:11px;color:#8791a4;margin-top:2px}.cash-ledger>div>strong{text-align:right;font-size:13px}.cash-ledger>div>strong.deposit{color:#087f59}.cash-ledger>div>strong.expense{color:#bd5d1d}.cash-ledger>div>strong small{font-size:10px;color:#8791a4;margin-top:2px}.balance-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:17px}.balance-row>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 15px;border:1px solid #e8ecf3;background:#fafbfe;border-radius:11px}.balance-row span{font-size:12px;font-weight:850;color:#5367e8}.balance-row small{font-size:11px;color:#7d879b}.balance-row strong{font-size:15px}.negative-text,.money-due{color:#b42318!important}.money-positive{color:#087a54!important;font-weight:750}.manager-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin-top:17px}.manager-balance-grid>div{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #e7ebf3;background:#fafbfe;border-radius:12px}.manager-balance-grid p{flex:1;margin:0}.manager-balance-grid b,.manager-balance-grid small{display:block}.manager-balance-grid b{font-size:13px}.manager-balance-grid small{font-size:11px;color:#7b869a;margin-top:2px}.manager-balance-grid strong{font-size:14px}.cashbook-table td{vertical-align:middle}.cashbook-table td:nth-child(3),.cashbook-table td:nth-child(4),.cashbook-table td:nth-child(5){white-space:nowrap}
.modal-open{overflow:hidden}.modal-backdrop{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:#09132db8;backdrop-filter:blur(4px)}.modal-backdrop.is-open{display:flex}.modal-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 28px 80px #07102766;padding:25px}.modal-card>header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e8ecf2;margin:-2px 0 21px;padding:0 0 17px}.modal-card h2{font-size:22px;margin:3px 0 0}.modal-close{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:#f0f3f8;color:#526079;font-size:25px;line-height:1;padding:0}.modal-card form footer{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.modal-card input,.modal-card select,.modal-card textarea{font-size:15px;padding:12px}.modal-card label{font-size:13px}
@media(max-width:1100px){.cash-dashboard-grid{grid-template-columns:1fr}.cash-metrics{grid-template-columns:1fr 1fr}.cash-metric.balance{grid-column:1/-1}.cash-filter{align-items:flex-start;display:block}.cash-filter>span{display:inline-block;margin-top:14px}}
@media(max-width:650px){.cash-metrics{grid-template-columns:1fr}.cash-metric.balance{grid-column:auto}.cash-metric{min-height:112px;padding:18px}.cash-icon{width:44px;height:44px}.cash-metric strong{font-size:23px}.cash-hero .hero-actions{justify-content:stretch}.cash-hero .hero-actions>*{flex:1;white-space:nowrap}.modal-backdrop{padding:0}.modal-card{width:100%;max-height:100vh;min-height:100vh;border-radius:0;padding:20px}.modal-card .form-grid{grid-template-columns:1fr}.modal-card .span-2{grid-column:auto}.balance-row>div{grid-template-columns:auto 1fr}.balance-row strong{grid-column:2}}
.modal-balance{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px;padding:12px 14px;background:#eef8f4;border:1px solid #d9eee5;border-radius:11px}.modal-balance span{font-size:12px;color:#62786f}.modal-balance strong{font-size:16px;color:#087a54}
.overview-cash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:23px}.overview-cash-card{display:flex;align-items:center;gap:16px;min-height:116px;padding:20px 22px;background:#fff;border:1px solid #e2e8f1;border-radius:16px;box-shadow:0 7px 24px #1c29420b;color:#25314b}.overview-cash-card:hover{border-color:#cbd5f4;box-shadow:0 11px 30px #1c294213;transform:translateY(-1px)}.overview-cash-card>div{flex:1}.overview-cash-card small,.overview-cash-card strong,.overview-cash-card p{display:block}.overview-cash-card small{font-size:12px;color:#6f7990;font-weight:750}.overview-cash-card strong{font-size:24px;line-height:1.2;margin:4px 0;color:#17213c}.overview-cash-card p{font-size:11px;color:#8791a4;margin:0}.overview-cash-card>i{font-size:11px;color:#536bf6;font-style:normal;font-weight:750;white-space:nowrap}.overview-cash-card.deposit .cash-icon{background:#e2f8ef;color:#0c9667}.overview-cash-card.expense .cash-icon{background:#fff0e4;color:#d46d20}@media(max-width:760px){.overview-cash-grid{grid-template-columns:1fr}.overview-cash-card>i{display:none}}
.dashboard-grid-lower{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr)}
.manager-hero{align-items:center}.manager-hero .hero-actions{flex-wrap:wrap;justify-content:flex-end}.manager-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.manager-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:stretch}.manager-dashboard-grid>.panel{height:100%}.manager-action-list{display:grid;gap:10px;margin-top:18px}.manager-action-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) 14px;align-items:center;gap:12px;padding:13px;border:1px solid #e9edf4;border-radius:12px;background:#fafbfe;color:#27334d}.manager-action-list>a:hover{border-color:#cfd8f4;background:#f7f8ff}.manager-action-list b,.manager-action-list small{display:block}.manager-action-list b{font-size:13px}.manager-action-list small{font-size:11px;color:#8690a4;margin-top:2px}.manager-action-list i{font-style:normal;color:#6575e8;font-size:20px}.manager-payroll-panel{margin-top:2px}.manager-payroll-panel td{vertical-align:middle}
@media(max-width:1200px){.manager-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-grid-lower,.manager-dashboard-grid{grid-template-columns:1fr}.manager-hero{align-items:flex-start}}
@media(max-width:620px){.manager-metric-grid{grid-template-columns:1fr}.manager-hero .hero-actions{justify-content:stretch}.manager-hero .hero-actions>*{flex:1;text-align:center;white-space:nowrap}}
.transaction-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.transaction-actions form{margin:0}.transaction-actions .button,.transaction-actions button{white-space:nowrap}.payment-edit-cell form{display:inline-block;margin-left:5px}

/* Payroll refresh and expense review */
.expense-filter-panel{padding:18px 22px!important}.filter-bar{display:flex;align-items:end;gap:11px;flex-wrap:wrap}.filter-bar label{min-width:145px}.filter-bar input,.filter-bar select{margin-top:4px}.expense-review-panel table{min-width:1080px}.expense-review-panel td{vertical-align:middle}.receipt-link{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:#eef3ff;color:#5064dc;font-size:11px;font-weight:750}.expense-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:20px;align-items:start}.expense-summary-card h2{font-size:28px}.detail-list{margin:18px 0}.detail-list>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:15px;padding:12px 0;border-top:1px solid #edf0f5}.detail-list dt{font-size:12px;color:#7a8599;font-weight:700}.detail-list dd{margin:0;color:#29354d;font-size:13px;font-weight:650}.expense-detail-actions{flex-wrap:wrap;border-top:1px solid #edf0f5;padding-top:16px}.expense-detail-actions form{margin:0}.expense-edit-panel{margin-top:2px}.expense-final-note{max-width:720px;margin:20px auto}.payroll-auto-note{margin:15px 0;padding:11px 13px;border:1px solid #dbe6fb;border-radius:10px;background:#f4f7ff;color:#5c6882;font-size:12px}.status.locked{background:#e8eaff;color:#4d5fd0}.payroll-control .actions{flex-wrap:wrap;justify-content:flex-end}.payroll-control .actions form{margin:0}
@media(max-width:980px){.expense-detail-grid{grid-template-columns:1fr}.filter-bar>*{flex:1 1 180px}.payroll-control{display:block}.payroll-control .actions{justify-content:flex-start;margin-top:16px}}
@media(max-width:650px){.filter-bar{display:grid}.filter-bar>*{width:100%}.detail-list>div{grid-template-columns:1fr;gap:3px}.expense-metrics{grid-template-columns:1fr}.expense-detail-actions{display:grid}.expense-detail-actions>*{width:100%}.expense-detail-actions button{width:100%}}

/* Manager payment requests */
.request-table table{min-width:1120px}.request-table td{vertical-align:middle}.request-review-form{display:grid;grid-template-columns:minmax(145px,1fr) auto auto;align-items:center;gap:6px}.request-review-form input{margin:0;padding:7px 9px;min-width:145px}.status.pending{background:#fff3cd;color:#8a6100}.status.paid{background:#dcfce7;color:#087a54}.status.cancelled{background:#edf0f5;color:#677287}.request-pay-modal{width:min(600px,96vw)}
.snapshot-list>.snapshot-request{display:flex;align-items:center;gap:12px;padding:14px;background:#f9faff;border:1px solid #f0f2f7;border-radius:11px;color:#2b3651}.snapshot-list>.snapshot-request small,.snapshot-list>.snapshot-request b{display:block}.snapshot-list>.snapshot-request small{color:#8d96a9;font-size:11px}.snapshot-list>.snapshot-request b{font-size:13px;margin-top:2px}

/* Compact navigation and list filters */
.attendance-date-label{min-width:318px!important}.attendance-date-label>span{display:block}.attendance-date-picker{display:flex;align-items:stretch;width:318px;height:44px;overflow:hidden;margin-top:5px;border:1px solid #cfd8e7;border-radius:11px;background:#fff;box-shadow:0 2px 7px #1c29420a;transition:border-color .18s,box-shadow .18s}.attendance-date-picker:focus-within{border-color:#7588f2;box-shadow:0 0 0 3px #536bf61c}.attendance-date-picker input{flex:1;min-width:0;height:42px;margin:0;padding:9px 12px;border:0;border-radius:0;background:#fff;color:#26334d;font-size:13px;font-weight:750;box-shadow:none;outline:0}.date-arrow{display:grid;place-items:center;width:43px;height:42px;flex:0 0 43px;border:0;border-radius:0;background:#f6f8fc;color:#596be0;line-height:1;transition:background .16s,color .16s}.date-arrow.previous{border-right:1px solid #e2e7f0}.date-arrow.next{border-left:1px solid #e2e7f0}.date-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.date-arrow:hover{background:#e9edff;color:#354bd2}.date-arrow:focus-visible{position:relative;z-index:1;outline:2px solid #536bf6;outline-offset:-3px}.attendance-open-date{height:44px;min-width:96px;border-color:#d4dceb;background:#fff;color:#33415d;box-shadow:0 2px 7px #1c294208}.attendance-open-date:hover{border-color:#aebbf0;background:#f7f8ff;color:#4057d5}.request-table>.panel-head{align-items:center;padding-bottom:15px;border-bottom:1px solid #edf0f6}.request-history-tools,.request-inline-filter,.request-inline-filter label{display:flex;align-items:center}.request-history-tools{gap:10px;flex-wrap:nowrap;justify-content:flex-end}.request-inline-filter{gap:6px;padding:5px;border:1px solid #e1e7f1;border-radius:11px;background:linear-gradient(135deg,#f8faff,#f3f6fc);box-shadow:inset 0 1px 0 #fff}.request-inline-filter label{gap:7px;padding-left:8px;color:#6f7b92;font-size:11px;font-weight:800}.request-inline-filter select{width:auto;min-width:126px;margin:0;padding:6px 28px 6px 8px;border-color:#dbe2ee;border-radius:7px;background:#fff;font-size:12px}.request-inline-filter .button{min-height:33px;padding:6px 11px;border-radius:7px}.request-filter-clear{border-color:transparent;background:transparent;color:#65728b}.request-filter-clear:hover{background:#e9edf6}.request-record-count{white-space:nowrap;background:#eef2ff;color:#596be0}.employee-filter-bar{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:7px;margin:17px 0 13px;padding:12px;border:1px solid #dfe6f1;border-radius:13px;background:linear-gradient(135deg,#fbfcff,#f5f7fc);box-shadow:inset 0 1px 0 #fff,0 4px 13px #1c294208}.employee-filter-bar label{min-width:0;font-size:10px;letter-spacing:.01em;color:#748198}.employee-filter-bar label:not(.employee-search){flex:0 1 127px}.employee-filter-bar .employee-search{flex:1 1 200px;min-width:175px}.employee-filter-bar input,.employee-filter-bar select{height:38px;min-width:0;margin-top:4px;padding:8px 9px;border-color:#d7deea;border-radius:8px;background:#fff;font-size:11px;box-shadow:0 1px 2px #1c294207}.employee-filter-bar input:focus,.employee-filter-bar select:focus,.request-inline-filter select:focus{outline:0;border-color:#7e8ff3;box-shadow:0 0 0 3px #536bf61c}.employee-filter-bar button,.employee-filter-bar>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:38px;white-space:nowrap;border-radius:8px}.employee-filter-apply{min-width:68px}.employee-filter-reset{min-width:62px;color:#66738b}.employee-register table{min-width:930px}
@media(max-width:1050px){.employee-filter-bar{overflow-x:auto;padding-bottom:14px}.employee-filter-bar label:not(.employee-search){flex-basis:125px;min-width:125px}.employee-filter-bar .employee-search{flex:0 0 190px}.employee-filter-bar button,.employee-filter-bar>a{min-width:64px}}
@media(max-width:760px){.attendance-toolbar form{align-items:end}.attendance-toolbar label{min-width:260px}.request-table>.panel-head{align-items:flex-start}.request-history-tools{width:100%;justify-content:flex-start}.employee-filter-bar{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.employee-filter-bar .employee-search{grid-column:1/-1;min-width:0}.employee-filter-bar label:not(.employee-search){min-width:0}.employee-filter-bar button,.employee-filter-bar>a{width:100%}}
@media(max-width:480px){.attendance-toolbar form{display:grid;width:100%}.attendance-toolbar label{min-width:0!important}.attendance-date-picker{width:100%}.attendance-toolbar form>button{width:100%}.request-table>.panel-head{display:grid}.request-history-tools{display:grid;grid-template-columns:1fr auto}.request-inline-filter{display:grid;grid-template-columns:1fr auto auto;min-width:0}.request-inline-filter label{min-width:0}.request-inline-filter label span{display:none}.request-inline-filter select{width:100%;min-width:0}.employee-filter-bar{grid-template-columns:1fr}.employee-filter-bar .employee-search{grid-column:auto}}

/* Final payroll payment acknowledgement */
.payroll-proof-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:28px;align-items:start;margin-top:18px}.payroll-proof-grid .document-list{margin-top:0}.payment-sheet-actions{max-width:1320px;margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between}.payment-sheet{max-width:1320px;margin:0 auto;background:#fff;border:1px solid #dfe4eb;border-radius:15px;box-shadow:0 12px 38px #1c294213;padding:34px}.payment-sheet>header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #17213c;padding-bottom:18px}.payment-sheet>header>div{display:flex;align-items:center;gap:11px}.payment-sheet>header h1{margin:0;font-size:20px}.payment-sheet>header p,.payment-sheet>header span{margin:0;color:#707b90;font-size:11px}.payment-sheet>header>div:last-child{display:block;text-align:right}.payment-sheet>header>div:last-child b,.payment-sheet>header>div:last-child span{display:block}.payment-sheet>header>div:last-child b{font-size:18px;letter-spacing:.08em}.payment-sheet-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 0}.payment-sheet-meta>div{padding:11px 13px;border:1px solid #e6eaf0;border-radius:9px;background:#fafbfe}.payment-sheet-meta small,.payment-sheet-meta b{display:block}.payment-sheet-meta small{font-size:10px;color:#7d8799;text-transform:uppercase}.payment-sheet-meta b{margin-top:3px;font-size:13px}.payment-declaration{margin:0 0 15px;padding:10px 12px;background:#f5f7fb;border-radius:8px;color:#566177;font-size:12px}.payment-sheet table{table-layout:fixed}.payment-sheet th,.payment-sheet td{border:1px solid #cfd5df;padding:9px 8px}.payment-sheet th{background:#f1f3f7;color:#3e485d;font-size:10px}.payment-sheet th:nth-child(1){width:4%}.payment-sheet th:nth-child(2){width:9%}.payment-sheet th:nth-child(3){width:22%}.payment-sheet th:nth-child(4){width:13%}.payment-sheet th:nth-child(5){width:12%}.payment-sheet th:nth-child(6){width:18%}.payment-sheet th:nth-child(7){width:22%}.payment-sheet tbody td{height:70px;font-size:11px}.payment-sheet td small{font-size:9px}.payment-sheet .signature-cell,.payment-sheet .write-cell{background:linear-gradient(#fff,#fff) padding-box}.payment-sheet-approval{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin:58px 15px 15px}.payment-sheet-approval>div{text-align:center}.payment-sheet-approval span{display:block;border-top:1px solid #4d5565;margin-bottom:7px}.payment-sheet-approval b,.payment-sheet-approval small{display:block}.payment-sheet-approval b{font-size:11px}.payment-sheet-approval small{font-size:9px;color:#7c8698}.payment-sheet>footer{text-align:center;padding-top:18px;color:#8a93a3;font-size:9px}
@media(max-width:900px){.payroll-proof-grid{grid-template-columns:1fr}.payment-sheet{padding:20px}.payment-sheet-meta{grid-template-columns:1fr 1fr}.payment-sheet{overflow:auto}.request-review-form{grid-template-columns:1fr}}
@media print{.payment-sheet-actions{display:none!important}.payment-sheet{border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;margin:0!important;padding:0!important}.payment-sheet table{font-size:9px}.payment-sheet tbody td{height:62px}.payment-sheet thead{display:table-header-group}.payment-sheet tr{break-inside:avoid}.payment-sheet-approval{margin-top:48px}}

/* Monthly attendance, leave and fine workspaces */
.monthly-attendance-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:17px 19px!important}.monthly-attendance-toolbar form{display:flex;align-items:flex-end;gap:7px}.monthly-attendance-toolbar form label{min-width:185px}.monthly-attendance-toolbar form input{height:42px;margin-top:4px}.month-step{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #d8dfec;border-radius:10px;background:#f7f9fd;color:#5669df;font-size:27px;font-weight:650;line-height:1}.month-step:hover{border-color:#b7c2f0;background:#eaf0ff;color:#344bd2}.monthly-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.monthly-summary span{padding:8px 11px;border:1px solid #e5eaf2;border-radius:9px;background:#f8faff;color:#768198;font-size:10px}.monthly-summary b{margin-right:4px;color:#26334e;font-size:13px}.monthly-summary .present b{color:#087a54}.monthly-summary .absent b{color:#b42318}.monthly-attendance-print-head{display:none}.monthly-attendance-register>.panel-head{align-items:center;margin-bottom:15px}.monthly-attendance-scroll{overflow:auto;border:1px solid #e4e9f1;border-radius:11px}.monthly-attendance-register table{min-width:1180px}.monthly-attendance-register th,.monthly-attendance-register td{padding:8px 4px;border-right:1px solid #edf0f5;text-align:center;vertical-align:middle}.monthly-attendance-register thead th{position:sticky;top:0;z-index:3;background:#f6f8fc}.monthly-attendance-register .employee-column{position:sticky;left:0;z-index:2;width:175px;min-width:175px;text-align:left;background:#fff}.monthly-attendance-register thead .employee-column{z-index:5;background:#f6f8fc}.monthly-attendance-register .team-column{position:sticky;left:175px;z-index:2;width:105px;min-width:105px;text-align:left;background:#fff}.monthly-attendance-register thead .team-column{z-index:5;background:#f6f8fc}.monthly-attendance-register tbody tr:hover .employee-column,.monthly-attendance-register tbody tr:hover .team-column{background:#f9fbff}.monthly-attendance-register .employee-column b,.monthly-attendance-register .employee-column small{display:block}.monthly-attendance-register .employee-column b{font-size:11px}.monthly-attendance-register .employee-column small{font-size:9px}.day-column{width:27px;min-width:27px;font-size:9px;font-weight:850}.day-column span,.day-column small{display:block}.day-column small{margin-top:1px;font-size:7px;font-weight:650}.weekend-day{background:#f1f3f8!important}.total-column{width:38px;min-width:38px;background:#fafbfe;font-size:10px;font-weight:850}.present-total{color:#087a54}.absent-total{color:#b42318}.attendance-present{background:#e5f8f0;color:#087a54}.attendance-absent{background:#feeaea;color:#b42318}.attendance-half_day{background:#fff3dc;color:#a65c00}.attendance-late{background:#fff7d8;color:#8a6500}.attendance-sick_leave,.attendance-annual_leave,.attendance-unpaid_leave{background:#eeeaff;color:#654fc2}.attendance-holiday,.attendance-weekend{background:#eef1f5;color:#6f788a}.attendance-remote{background:#e8f5ff;color:#267ba8}.attendance-empty{color:#c4cad5}.attendance-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 2px 2px}.attendance-legend span{display:flex;align-items:center;gap:5px;color:#727e94;font-size:9px}.attendance-legend i{display:grid;place-items:center;min-width:24px;height:22px;padding:0 5px;border-radius:6px;font-style:normal;font-size:8px;font-weight:850}.monthly-signatures{display:none}.leave-register>.panel-head,.fine-register>.panel-head{align-items:center;margin-bottom:14px}.leave-register table{min-width:930px}.fine-register table{min-width:990px}.leave-register td,.fine-register td{vertical-align:middle}.leave-days{display:inline-grid;place-items:center;min-width:31px;height:31px;border-radius:9px;background:#eef2ff;color:#5367dd;font-weight:850}.leave-reason{max-width:270px}.leave-modal-card,.fine-modal-card{width:min(690px,96vw)}.leave-metrics .metric-card,.fine-metrics .metric-card{min-height:116px}.status.cancelled{background:#edf0f5;color:#677287}
@media(max-width:1000px){.monthly-attendance-toolbar{align-items:flex-start;display:block}.monthly-summary{justify-content:flex-start;margin-top:14px}.monthly-screen-head{align-items:flex-start}.monthly-screen-head .actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:620px){.monthly-attendance-toolbar form{display:grid;grid-template-columns:42px minmax(0,1fr) 42px}.monthly-attendance-toolbar form label{min-width:0}.monthly-attendance-toolbar form button{grid-column:1/-1}.monthly-summary{display:grid;grid-template-columns:1fr 1fr}.monthly-screen-head .actions{width:100%;justify-content:stretch}.monthly-screen-head .actions>*{flex:1;text-align:center;white-space:nowrap}}
@media print{.monthly-attendance-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}.monthly-screen-head,.monthly-attendance-toolbar{display:none!important}.monthly-attendance-print-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px;padding-bottom:9px;border-bottom:2px solid #17213c}.monthly-attendance-print-head div:last-child{text-align:right}.monthly-attendance-print-head b,.monthly-attendance-print-head strong,.monthly-attendance-print-head span{display:block}.monthly-attendance-print-head b{font-size:14px}.monthly-attendance-print-head strong{font-size:13px}.monthly-attendance-print-head span{color:#555;font-size:8px}.monthly-attendance-register{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}.monthly-attendance-register>.panel-head{margin-bottom:7px}.monthly-attendance-register>.panel-head h2{font-size:12px}.monthly-attendance-register>.panel-head .eyebrow,.monthly-attendance-register>.panel-head .soft-badge{font-size:7px!important}.monthly-attendance-scroll{overflow:visible;border-color:#777;border-radius:0}.monthly-attendance-register table{width:100%;min-width:0;table-layout:fixed}.monthly-attendance-register th,.monthly-attendance-register td{position:static!important;padding:3px 1px;border-color:#aaa;font-size:6px;line-height:1.15}.monthly-attendance-register .employee-column{width:100px;min-width:0}.monthly-attendance-register .team-column{width:62px;min-width:0}.monthly-attendance-register .employee-column b{font-size:6px}.monthly-attendance-register .employee-column small{font-size:5px}.monthly-attendance-register .day-column{width:auto;min-width:0}.monthly-attendance-register .day-column small{font-size:5px}.monthly-attendance-register .total-column{width:22px;min-width:0}.attendance-legend{gap:7px;padding-top:8px}.attendance-legend span{font-size:6px}.attendance-legend i{min-width:17px;height:15px;padding:0 2px;font-size:5px}.monthly-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin:34px 25px 0}.monthly-signatures div{text-align:center}.monthly-signatures span{display:block;border-top:1px solid #444}.monthly-signatures b{display:block;margin-top:4px;font-size:7px}}

/* Employee ID sorting and live attendance status colors */
.table-sort{display:inline-flex;align-items:center;gap:6px;color:#687690;font:inherit;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.table-sort:hover{color:#465be0}.sort-arrow{display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid #dbe2ee;border-radius:7px;background:#f5f7fc;color:#5368e8;font-size:12px;font-weight:900;line-height:1;transition:background .16s,border-color .16s}.table-sort:hover .sort-arrow{border-color:#bec9f4;background:#e9edff}.attendance-row>td{transition:background-color .2s,border-color .2s}.attendance-row-present>td{background:#fbfffd}.attendance-row-absent>td{background:#fff3f3}.attendance-row-half_day>td{background:#fff8eb}.attendance-row-late>td{background:#fffbea}.attendance-row-sick_leave>td,.attendance-row-annual_leave>td,.attendance-row-unpaid_leave>td{background:#f8f5ff}.attendance-row-holiday>td,.attendance-row-weekend>td{background:#f5f6f8}.attendance-row-remote>td{background:#f1f9ff}.attendance-row-absent>td:first-child{box-shadow:inset 4px 0 #e05252}.attendance-row-half_day>td:first-child{box-shadow:inset 4px 0 #e39a32}.attendance-row-late>td:first-child{box-shadow:inset 4px 0 #d8b52f}.attendance-row-sick_leave>td:first-child,.attendance-row-annual_leave>td:first-child,.attendance-row-unpaid_leave>td:first-child{box-shadow:inset 4px 0 #8068d8}.attendance-row-remote>td:first-child{box-shadow:inset 4px 0 #3d92ca}.attendance-row-absent .attendance-select{border-color:#efb6b6;background:#fffafa;color:#a82b2b}.attendance-row-half_day .attendance-select{border-color:#efcf9d;background:#fffdf8;color:#98600e}.attendance-row-late .attendance-select{border-color:#e7d68a;background:#fffef8;color:#876b08}.attendance-row-sick_leave .attendance-select,.attendance-row-annual_leave .attendance-select,.attendance-row-unpaid_leave .attendance-select{border-color:#d3c8f5;background:#fcfaff;color:#6650b8}.attendance-row-remote .attendance-select{border-color:#bcdcf0;background:#f9fdff;color:#2478a7}
@media print{.table-sort{color:inherit}.sort-arrow{display:none}}

/* General Off and attendance bulk selection */
.attendance-general_off{background:#e8f2ff;color:#245db4}.attendance-row-general_off>td{background:#eff6ff}.attendance-row-general_off>td:first-child{box-shadow:inset 4px 0 #4f7edb}.attendance-row-general_off .attendance-select{border-color:#b8cff4;background:#f8fbff;color:#285da9}.attendance-row-selected>td{box-shadow:inset 0 1px #90a3ff,inset 0 -1px #90a3ff}.attendance-counts .general-off{border-color:#d5e2f8;background:#f2f7ff}.attendance-counts .general-off b{color:#315fa9}
.attendance-bulk-bar{display:grid;grid-template-columns:auto minmax(390px,1fr);align-items:center;gap:10px 20px;margin:14px 0 16px;padding:13px 15px;border:1px solid #dce5f3;border-radius:13px;background:linear-gradient(135deg,#f8faff,#f3f7ff);box-shadow:inset 0 1px 0 #fff}.attendance-selected-summary{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#46536d;font-size:12px}.attendance-selected-summary b{color:#182642;font-size:14px}.selection-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e6ecff;color:#5368e8;font-weight:900}.attendance-bulk-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px}.attendance-bulk-controls label{display:flex;align-items:center;gap:8px;color:#6c7890;font-size:11px;font-weight:800}.attendance-bulk-controls select{width:190px;height:38px;margin:0;padding:7px 30px 7px 10px;border-radius:9px;background:#fff;font-size:12px}.attendance-bulk-controls .button{height:38px;min-width:108px;padding:7px 13px}.attendance-check-column{width:42px!important;min-width:42px!important;max-width:42px!important;padding-left:8px!important;padding-right:8px!important;text-align:center!important}.attendance-check-column input{display:grid!important;place-content:center;width:17px!important;min-width:17px!important;max-width:17px!important;height:17px!important;margin:0 auto!important;padding:0!important;appearance:none;-webkit-appearance:none;border:1.5px solid #aeb9cc!important;border-radius:5px!important;background:#fff!important;box-shadow:0 1px 2px #17213c12;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.attendance-check-column input:hover{border-color:#667bed!important;box-shadow:0 0 0 3px #536bf615}.attendance-check-column input:checked{border-color:#5669ec!important;background:#5669ec!important}.attendance-check-column input:checked::after{content:'✓';color:#fff;font-size:11px;font-weight:900;line-height:1}.attendance-check-column input:indeterminate{border-color:#5669ec!important;background:linear-gradient(#5669ec,#5669ec) center/8px 2px no-repeat #fff!important}
@media(max-width:850px){.attendance-bulk-bar{grid-template-columns:1fr}.attendance-bulk-controls{justify-content:flex-start}.attendance-bulk-bar>p{grid-column:1}.attendance-sheet table{min-width:850px}}
@media(max-width:560px){.attendance-bulk-controls{display:grid;grid-template-columns:1fr}.attendance-bulk-controls label{display:block}.attendance-bulk-controls label span{display:block;margin-bottom:4px}.attendance-bulk-controls select,.attendance-bulk-controls .button{width:100%}}

/* Compact monthly fine filter */
.fine-register-tools,.fine-inline-filter,.fine-inline-filter label{display:flex;align-items:center}.fine-register-tools{gap:10px;justify-content:flex-end}.fine-inline-filter{gap:6px;padding:5px;border:1px solid #e1e7f1;border-radius:11px;background:linear-gradient(135deg,#f8faff,#f3f6fc);box-shadow:inset 0 1px 0 #fff}.fine-inline-filter label{gap:7px;padding-left:8px;color:#6f7b92;font-size:11px;font-weight:800}.fine-inline-filter input{width:146px;height:33px;margin:0;padding:6px 8px;border-color:#dbe2ee;border-radius:7px;background:#fff;font-size:12px}.fine-inline-filter input:focus{outline:0;border-color:#7e8ff3;box-shadow:0 0 0 3px #536bf61c}.fine-inline-filter .button{display:inline-flex;align-items:center;justify-content:center;min-height:33px;padding:6px 11px;border-radius:7px;white-space:nowrap}.fine-register-tools>.soft-badge{white-space:nowrap;background:#eef2ff;color:#596be0}
@media(max-width:760px){.fine-register>.panel-head{align-items:flex-start}.fine-register-tools{align-items:flex-end;flex-direction:column}.fine-inline-filter{max-width:100%}}
@media(max-width:520px){.fine-register>.panel-head{display:block}.fine-register-tools{align-items:flex-start;margin-top:12px}.fine-inline-filter{width:100%}.fine-inline-filter label{flex:1}.fine-inline-filter label span{display:none}.fine-inline-filter input{width:100%}}

/* Compact salary settlement and selectable payment sheet */
.salary-settlement-panel>.panel-head{align-items:center}.salary-settlement-panel>.panel-head h2{margin-bottom:2px}.salary-settlement-panel>.panel-head p{margin:0}.payment-sheet-link,.payment-sheet-print-button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#536bf6,#6854e8)!important;border-color:#5b5de9!important;color:#fff!important;text-shadow:0 1px 1px #26329755;box-shadow:0 8px 18px #536bf62b}.payment-sheet-link:hover,.payment-sheet-print-button:hover{color:#fff!important;filter:brightness(.98)}.payment-sheet-print-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.salary-settlement-table{min-width:1080px}.salary-settlement-table th,.salary-settlement-table td{padding:10px 9px;vertical-align:middle}.salary-settlement-table th:nth-child(1){width:18%}.salary-settlement-table th:nth-child(2),.salary-settlement-table th:nth-child(3),.salary-settlement-table th:nth-child(4){width:10%;white-space:nowrap}.salary-settlement-table th:nth-child(5){width:52%}.salary-settlement-table .money-cell{white-space:nowrap}.salary-settlement-table .paid-value{color:#16805d}.salary-settlement-form{display:grid;grid-template-columns:122px 110px minmax(145px,1fr) minmax(125px,.8fr) auto;gap:7px;align-items:end}.salary-settlement-form label>span{display:block;margin:0 0 3px;font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.05em;color:#7b869a}.salary-settlement-form input{height:35px;margin:0;padding:7px 8px;border-radius:7px;font-size:11px}.salary-settlement-form button{height:35px;padding:7px 13px;white-space:nowrap}.salary-settlement-table .paid-mark{margin:0}
.payment-sheet-actions .payment-sheet-print-button{min-width:172px;min-height:42px;font-weight:850}.payment-sheet-employee-picker{max-width:1320px;margin:0 auto 14px;padding:0 18px 16px;border:1px solid #dfe5ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px #1c29420d}.payment-sheet-employee-picker summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0 12px;cursor:pointer;color:#182642}.payment-sheet-employee-picker summary>span{display:flex;flex-direction:column}.payment-sheet-employee-picker summary b{font-size:13px}.payment-sheet-employee-picker summary small{margin-top:2px;color:#758198;font-size:10px;font-weight:500}.payment-sheet-employee-picker summary strong{margin-left:auto;padding:5px 9px;border-radius:999px;background:#eef1ff;color:#5062dc;font-size:10px;white-space:nowrap}.payment-sheet-picker-actions{display:flex;justify-content:flex-end;gap:6px;margin:-2px 0 10px}.payment-sheet-employee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.payment-sheet-employee-grid label{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border:1px solid #e1e6ef;border-radius:9px;background:#fafbfe;color:#4b5870;cursor:pointer}.payment-sheet-employee-grid label:has(input:checked){border-color:#cbd3ff;background:#f4f6ff}.payment-sheet-employee-grid input{display:grid!important;place-content:center;flex:0 0 16px;width:16px!important;height:16px!important;margin:0!important;padding:0!important;appearance:none;-webkit-appearance:none;border:1.5px solid #aeb9cc!important;border-radius:5px!important;background:#fff!important;cursor:pointer}.payment-sheet-employee-grid input:checked{border-color:#586bec!important;background:#586bec!important}.payment-sheet-employee-grid input:checked::after{content:'✓';color:#fff;font-size:10px;font-weight:900;line-height:1}.payment-sheet-employee-grid span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600}.payment-sheet-employee-grid span b{margin-right:6px;color:#172641;font-size:10px}.payment-sheet [hidden]{display:none!important}
@media(max-width:1050px){.payment-sheet-employee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.salary-settlement-panel>.panel-head{align-items:flex-start;flex-direction:column}.payment-sheet-link{margin-top:10px}.payment-sheet-employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.payment-sheet-employee-grid{grid-template-columns:1fr}.payment-sheet-employee-picker summary{align-items:flex-start}.payment-sheet-employee-picker summary strong{margin-top:2px}}
@media print{.payment-sheet-actions,.payment-sheet-employee-picker{display:none!important}}

/* Sakhawat IT brand assets */
.brand-icon{display:block;flex:0 0 auto;width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 7px 12px #0005)}.side-brand .brand-icon{margin-left:-1px}.mobile-brand{align-items:center;gap:9px}.mobile-brand .brand-icon{width:36px;height:36px;filter:drop-shadow(0 4px 8px #0002)}.login-company-logo{display:block;width:min(285px,88%);height:auto;margin:0 auto 12px}.document-company-logo{display:block;width:190px;max-width:32vw;height:auto}.statement-company-logo{display:block;width:190px;max-width:45vw;height:auto;margin-bottom:4px}.report-company-logo{display:block;width:150px;height:auto;margin-bottom:3px}
@media(max-width:900px){.side-brand .brand-icon{width:39px;height:39px}.side-brand{gap:10px}}
@media(max-width:560px){.document-company-logo{width:150px}.statement-company-logo{width:160px}}
@media print{.document-company-logo{width:175px!important;max-width:none!important}.statement-company-logo{width:175px!important;max-width:none!important}.report-company-logo{width:135px!important}}

/* Owner salary-payment corrections */
.salary-payment-modal{width:min(720px,96vw)}.salary-payment-modal textarea{min-height:92px}.salary-settlement-panel .payment-sheet-link{white-space:nowrap}

/* Recorded details on the printable payment sheet */
.payment-sheet-payment-list{display:grid;gap:4px}.payment-sheet-payment-list span{display:block;color:#26334c;font-size:9px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.payment-sheet-payment-list span+span{padding-top:4px;border-top:1px dashed #d8dee8}
@media print{.payment-sheet-payment-list span{font-size:8px;color:#111}.payment-sheet-payment-list span+span{border-color:#aaa}}

/* Owner-only Final payroll reopening */
.payroll-reopen-button{border-color:#f0cf87;background:#fff8e8;color:#7b5711;box-shadow:0 4px 12px #a66a1212;white-space:nowrap}.payroll-reopen-button:hover{border-color:#dfa942;background:#fff1cf;color:#654304}

/* Finance filters, category controls, and printable business reports */
.cashbook-filter-form>label:first-of-type{min-width:205px}.finance-checkbox{display:flex!important;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid #dfe5f0;border-radius:11px;background:#f8faff;color:#26344d;cursor:pointer}.finance-checkbox input{display:grid!important;place-content:center;flex:0 0 19px;width:19px!important;height:19px!important;margin:1px 0 0!important;padding:0!important;appearance:none;-webkit-appearance:none;border:1.5px solid #aeb9cc!important;border-radius:6px!important;background:#fff!important}.finance-checkbox input:checked{border-color:#586bec!important;background:#586bec!important}.finance-checkbox input:checked::after{content:'✓';color:#fff;font-size:12px;font-weight:900;line-height:1}.finance-checkbox span,.finance-checkbox b,.finance-checkbox small{display:block}.finance-checkbox b{font-size:12px;color:#25334d}.finance-checkbox small{margin-top:2px;font-size:10px;color:#79849a}.client-payment-filter{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:10px 11px;border:1px solid #e1e7f1;border-radius:12px;background:linear-gradient(135deg,#f9faff,#f3f6fc)}.client-payment-filter label{min-width:145px}.client-payment-filter input,.client-payment-filter select{height:38px;margin-top:3px;padding:7px 10px}.client-payment-filter .button{height:38px}.cashbook-flag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850}.cashbook-flag.included{background:#e4f8ef;color:#087a54}.cashbook-flag.excluded{background:#f0f2f6;color:#6d7789}.category-manager{margin-top:30px}.category-manager>.panel-head{align-items:center}.category-manager>.panel-head p{margin:3px 0 0;color:#718097}.category-actions{display:flex;align-items:center;gap:6px}.category-actions form{margin:0}.button.small{padding:7px 10px;font-size:11px}.category-modal .modal-card{width:min(620px,96vw)}.category-modal .stack-form{margin-top:0}.category-modal .stack-form>footer{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}

.report-print-head{display:none}.report-screen-head{align-items:flex-end}.report-screen-head .actions{flex-wrap:wrap;justify-content:flex-end}.report-filter{padding:14px 16px!important}.report-filter-form{display:grid;grid-template-columns:160px 160px minmax(240px,1fr) auto auto;align-items:end;gap:9px}.report-filter-form input,.report-filter-form select{height:40px;margin-top:3px;padding:8px 10px}.report-filter-form button,.report-filter-form .button{display:inline-flex;align-items:center;justify-content:center;height:40px;white-space:nowrap}.finance-report-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}.finance-report-metrics article{min-width:0;padding:18px;border:1px solid #e0e6f0;border-radius:14px;background:#fff;box-shadow:0 7px 22px #1c29420b}.finance-report-metrics article:nth-child(1){border-top:3px solid #24b47e}.finance-report-metrics article:nth-child(2){border-top:3px solid #f09b50}.finance-report-metrics article:nth-child(3){border-top:3px solid #596cf0}.finance-report-metrics article:nth-child(4){border-top:3px solid #7a62d7}.finance-report-metrics article:nth-child(5){border-top:3px solid #42a2c7}.finance-report-metrics span,.finance-report-metrics strong,.finance-report-metrics small{display:block}.finance-report-metrics span{color:#6d7890;font-size:11px;font-weight:800}.finance-report-metrics strong{overflow:hidden;margin:7px 0 2px;color:#17243f;font-size:19px;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis}.finance-report-metrics small{color:#8a94a6;font-size:9px}.finance-report-section>.panel-head{align-items:center}.finance-report-section>.panel-head h2{margin-bottom:2px}.finance-report-section>.panel-head p{margin:0;color:#748198;font-size:11px}.report-export{white-space:nowrap}.money-in{color:#087a54;font-weight:800}.money-out{color:#c44834;font-weight:800}.report-workforce-row,.report-supporting{align-items:start}

@media(max-width:1200px){.finance-report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-form{grid-template-columns:repeat(3,minmax(150px,1fr))}.report-filter-form button,.report-filter-form .button{width:100%}}
@media(max-width:760px){.cashbook-filter-form>label:first-of-type{min-width:160px}.client-payment-filter{display:grid;grid-template-columns:1fr 1fr}.client-payment-filter label{min-width:0}.category-manager>.panel-head{align-items:flex-start;flex-direction:column;gap:12px}.report-filter-form{grid-template-columns:1fr 1fr}.report-category-filter{grid-column:1/-1}.finance-report-metrics{grid-template-columns:1fr 1fr}.report-screen-head{align-items:flex-start}.report-screen-head .actions{justify-content:flex-start}}
@media(max-width:520px){.client-payment-filter,.report-filter-form,.finance-report-metrics{grid-template-columns:1fr}.report-category-filter{grid-column:auto}.category-actions{align-items:stretch;flex-direction:column}.category-actions>*{width:100%}.category-actions button{width:100%}}

@media print{.finance-report-page{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#111}.report-screen-head,.report-filter,.report-export{display:none!important}.report-print-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 13px;padding:0 0 9px;border-bottom:2px solid #17213c}.report-print-head>div:last-child{text-align:right}.report-print-head b,.report-print-head strong,.report-print-head span{display:block}.report-print-head b{font-size:15px}.report-print-head strong{font-size:10px}.report-print-head span{color:#555;font-size:7px}.finance-report-metrics{grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:9px}.finance-report-metrics article{padding:7px;border-radius:5px;box-shadow:none}.finance-report-metrics span{font-size:6px}.finance-report-metrics strong{margin:3px 0 1px;font-size:9px}.finance-report-metrics small{font-size:5px}.finance-report-section,.report-grid>.panel{break-inside:auto;margin:0 0 10px!important;padding:8px!important;border-color:#aaa!important;border-radius:4px!important;box-shadow:none!important}.finance-report-section>.panel-head,.report-grid .panel-head{margin-bottom:5px}.finance-report-section>.panel-head h2,.report-grid .panel-head h2{font-size:10px}.finance-report-section>.panel-head p,.report-grid .panel-head p{font-size:6px}.finance-report-page .eyebrow{font-size:6px!important}.finance-report-page table{min-width:0!important}.finance-report-page th,.finance-report-page td{padding:4px 3px;border-color:#bbb;font-size:6px}.finance-report-page th{font-size:5px}.finance-report-page td small{font-size:5px}.finance-report-page .status{padding:2px 4px;font-size:5px}.finance-report-page .grid-2{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:0}.finance-report-page .summary-tiles{gap:4px;margin-top:5px}.finance-report-page .summary-tiles>div{padding:5px;border-radius:4px}.finance-report-page .summary-tiles span{font-size:5px}.finance-report-page .summary-tiles strong{font-size:9px}.finance-report-page .panel{page-break-inside:auto}.finance-report-page tr{break-inside:avoid}.finance-report-page thead{display:table-header-group}}

/* Trackabi live attendance integration */
.trackabi-overview{display:grid;grid-template-columns:.92fr 1.08fr;gap:20px;align-items:stretch}.trackabi-overview>.panel{height:calc(100% - 22px)}.trackabi-status-card,.trackabi-rules-card,.trackabi-sync-card{border-color:#dfe6f2!important}.trackabi-status-card{background:linear-gradient(145deg,#fff 35%,#f4fbf8)}.trackabi-connection-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px}.trackabi-connection-metrics>div{padding:15px;border:1px solid #e2e7f0;border-radius:12px;background:#fff}.trackabi-connection-metrics span,.trackabi-connection-metrics strong,.trackabi-connection-metrics small{display:block}.trackabi-connection-metrics span{color:#748097;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.trackabi-connection-metrics strong{margin:3px 0;color:#17243f;font-size:25px}.trackabi-connection-metrics small{color:#8a94a7;font-size:9px}.trackabi-safety{margin:16px 0 0;padding:12px 13px;border-radius:10px;background:#eaf8f3;color:#226951;font-size:11px}.notice.warning{background:#fff5db;color:#855b00}.trackabi-rules-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.trackabi-rules-form label>small{display:block;margin-top:4px;color:#8a94a7;font-size:9px;font-weight:500}.trackabi-rules-form input,.trackabi-rules-form select{height:41px}.trackabi-sync-card>.panel-head p{margin:3px 0 0;color:#738096;font-size:11px}.trackabi-sync-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto;gap:10px;align-items:end}.trackabi-sync-form input,.trackabi-sync-form button{height:42px}.trackabi-sync-form button{white-space:nowrap}.trackabi-sync-form button:disabled{cursor:not-allowed;opacity:.5}.trackabi-history table{min-width:1050px}.trackabi-history td{vertical-align:middle}.trackabi-history td small{margin-top:3px}.import-page-head{align-items:center}
@media(max-width:900px){.trackabi-overview{grid-template-columns:1fr}.trackabi-sync-form{grid-template-columns:1fr 1fr}.trackabi-sync-form button{width:100%}}
@media(max-width:560px){.trackabi-connection-metrics,.trackabi-rules-form,.trackabi-sync-form{grid-template-columns:1fr}.trackabi-rules-form .wide{grid-column:auto}.import-page-head{align-items:flex-start;flex-direction:column;gap:10px}}

/* Protected inline document preview */
.document-view-head{align-items:flex-end}.document-view-head h1{max-width:780px;overflow-wrap:anywhere}.document-view-actions{flex:none}.document-preview-panel{min-height:680px;padding:10px;overflow:hidden;background:#e9edf4}.document-preview-frame{display:block;width:100%;height:calc(100vh - 235px);min-height:650px;border:0;border-radius:9px;background:#fff}.document-image-stage{display:grid;place-items:center;min-height:650px;padding:22px;border-radius:9px;background:repeating-conic-gradient(#f7f8fb 0 25%,#eef1f6 0 50%) 50%/24px 24px}.document-image-stage img{display:block;max-width:100%;max-height:calc(100vh - 280px);object-fit:contain;background:#fff;box-shadow:0 8px 30px #17213c2b}
@media(max-width:700px){.document-view-head{align-items:flex-start;flex-direction:column}.document-view-actions{width:100%}.document-view-actions>*{flex:1}.document-preview-panel{min-height:500px}.document-preview-frame,.document-image-stage{min-height:520px;height:calc(100vh - 300px)}}
@media print{.document-view-head{display:none!important}.document-preview-panel{min-height:0;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}.document-image-stage{display:block;min-height:0;padding:0;background:#fff}.document-image-stage img{max-width:100%;max-height:none;margin:auto;box-shadow:none}.document-preview-frame{width:100%;height:100vh;min-height:0;border:0}}

/* Mobile-first private employee workspace and PWA shell */
.employee-bottom-nav{display:none}.employee-portal-page{max-width:1180px;margin:0 auto}.employee-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}.employee-identity{display:flex;align-items:center;gap:16px}.employee-avatar{display:grid;place-items:center;width:64px;height:64px;flex:none;border:1px solid #ccdaf5;border-radius:20px;background:linear-gradient(145deg,#e8efff,#d9f8ee);color:#284e9e;font-size:21px;font-weight:900;box-shadow:0 8px 24px #405da51c}.employee-identity h1{margin:2px 0 1px;color:#13213e;font-size:30px;letter-spacing:-.035em}.employee-identity p{margin:0;color:#738098}.employee-identity .eyebrow{color:#5e6f91!important}.employee-badges{display:flex;align-items:center;gap:7px;margin-top:8px}.employee-badges span{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:8px;background:#ebeff8;color:#536078;font-size:10px;font-weight:850}.employee-badges .employee-status-dot{background:#e3f8ee;color:#087a54}.employee-status-dot:before{content:'';width:6px;height:6px;margin-right:5px;border-radius:50%;background:#17a673}.employee-install-button{display:inline-flex;align-items:center;gap:8px;border-color:#d8dfec;background:#fff;color:#33425f;box-shadow:0 5px 17px #1d29430d}.employee-install-button span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#eef1ff;color:#5368e8}.employee-install-button[hidden]{display:none!important}
.employee-checkin-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:18px;padding:20px 22px;border:1px solid #cfe6dd;border-radius:18px;background:linear-gradient(130deg,#f3fff9,#fff 62%);box-shadow:0 10px 28px #1b604712}.employee-checkin-card.ready{border-color:#bfe3d5}.employee-checkin-card.complete{border-color:#dfe5ef;background:linear-gradient(130deg,#f8faff,#fff)}.checkin-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#ddf8ed;color:#07805a;font-size:24px;font-weight:900}.employee-checkin-card.complete .checkin-icon{background:#e9eefb;color:#5268d9}.checkin-copy>span{display:block;color:#718097;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.checkin-copy h2{margin:2px 0 1px;color:#17243f;font-size:19px}.checkin-copy p{margin:0;color:#6f7d93;font-size:12px}.checkin-copy small{display:block;margin-top:5px;color:#4f617f;font-size:10px}.employee-checkin-card form{margin:0}.employee-checkin-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 17px;border:0;border-radius:12px;background:linear-gradient(135deg,#12a675,#07845f);color:#fff;box-shadow:0 9px 21px #07845f2b}.employee-checkin-button span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#ffffff24}.employee-today-status{white-space:nowrap}.status.present,.status.remote{background:#dcfce7;color:#087a54}.status.absent{background:#fee2e2;color:#b42318}.status.half_day,.status.late{background:#fff3cd;color:#8a6100}.status.general_off,.status.weekend,.status.holiday{background:#e9eef6;color:#61708b}.status.sick_leave,.status.annual_leave,.status.unpaid_leave{background:#eee9ff;color:#6851bd}.status.locked{background:#e9edff;color:#4d5fd2}
.employee-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px}.employee-stat-grid article{display:flex;align-items:center;gap:13px;min-width:0;padding:17px;border:1px solid #e2e7f0;border-radius:15px;background:#fff;box-shadow:0 7px 22px #1c29420b}.employee-stat-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;font-size:16px;font-weight:900}.employee-stat-grid article.worked .employee-stat-icon{background:#e1f8ef;color:#07805a}.employee-stat-grid article.absence .employee-stat-icon{background:#fff0ed;color:#be493a}.employee-stat-grid article.fine .employee-stat-icon{background:#fff3de;color:#aa6815}.employee-stat-grid article.salary .employee-stat-icon{background:#e9edff;color:#4e62dc}.employee-stat-grid article.leave .employee-stat-icon{background:#eee9ff;color:#6a52bf}.employee-stat-grid small,.employee-stat-grid strong,.employee-stat-grid p{display:block;overflow:hidden;text-overflow:ellipsis}.employee-stat-grid small{color:#778298;font-size:10px;font-weight:800;white-space:nowrap}.employee-stat-grid strong{margin:2px 0;color:#17243f;font-size:19px;white-space:nowrap}.employee-stat-grid p{margin:0;color:#98a0af;font-size:9px;white-space:nowrap}
.employee-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);gap:18px;align-items:start}.employee-activity-panel,.employee-profile-card,.employee-record-panel{border-radius:17px!important}.employee-activity-panel>.panel-head,.employee-profile-card>.panel-head,.employee-record-panel>.panel-head{align-items:center;margin-bottom:12px}.employee-timeline{display:grid}.employee-timeline-row{display:grid;grid-template-columns:43px 12px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:67px;padding:7px 2px;border-bottom:1px solid #edf0f5}.employee-timeline-row:last-child{border-bottom:0}.employee-timeline-row time{display:grid;place-items:center;width:42px;height:45px;border:1px solid #e1e6ee;border-radius:11px;background:#fafbfe}.employee-timeline-row time b,.employee-timeline-row time span{display:block;line-height:1}.employee-timeline-row time b{color:#26344d;font-size:16px}.employee-timeline-row time span{margin-top:3px;color:#8b94a6;font-size:8px;font-weight:800;text-transform:uppercase}.timeline-mark{width:9px;height:9px;border:2px solid #8f9aaf;border-radius:50%;background:#fff}.attendance-present .timeline-mark,.attendance-remote .timeline-mark{border-color:#18a778;background:#dff8ef}.attendance-absent .timeline-mark{border-color:#d8584a;background:#ffebe8}.attendance-half_day .timeline-mark,.attendance-late .timeline-mark{border-color:#d39231;background:#fff1d9}.employee-timeline-row>div>b,.employee-timeline-row>div>small{display:block}.employee-timeline-row>div>b{color:#26334c;font-size:12px}.employee-timeline-row>div>small{margin-top:1px;color:#8a94a7;font-size:9px}.employee-timeline-row>div>p{overflow:hidden;margin:3px 0 0;color:#718097;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.employee-row-status{font-size:9px}.employee-side-stack{display:grid;gap:13px}.employee-profile-card{margin-bottom:0!important}.employee-profile-card dl{display:grid;gap:0;margin:0}.employee-profile-card dl>div{display:grid;grid-template-columns:108px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #eef1f5}.employee-profile-card dl>div:last-child{border-bottom:0}.employee-profile-card dt{color:#838da0;font-size:10px;font-weight:750}.employee-profile-card dd{overflow:hidden;margin:0;color:#2c3952;font-size:11px;font-weight:750;text-align:right;text-overflow:ellipsis}.employee-quick-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 15px;border:1px solid #e1e6ef;border-radius:14px;background:#fff;color:#28354e;box-shadow:0 6px 19px #1c29420a}.employee-quick-card:hover{border-color:#c7d1ed;transform:translateY(-1px)}.quick-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:17px;font-weight:900}.quick-icon.leave{background:#ede9ff;color:#6b53c1}.quick-icon.payslip{background:#e4f6ff;color:#2780aa}.employee-quick-card small,.employee-quick-card b,.employee-quick-card p{display:block}.employee-quick-card small{color:#8c95a7;font-size:8px;text-transform:uppercase;font-weight:850}.employee-quick-card b{font-size:12px}.employee-quick-card p{margin:1px 0 0;color:#8791a4;font-size:9px}.employee-quick-card i{color:#6475d9;font-size:22px;font-style:normal}
.employee-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.employee-record-panel{min-width:0;margin-bottom:0!important}.employee-payslip-panel{grid-column:1/-1}.employee-record-list{display:grid}.employee-record-list>div,.employee-record-list>a{display:grid;grid-template-columns:55px minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:60px;padding:9px 0;border-bottom:1px solid #edf0f5;color:#28354e}.employee-record-list>div:last-child,.employee-record-list>a:last-child{border-bottom:0}.record-date{display:grid;place-items:center;min-height:31px;padding:5px;border-radius:8px;background:#f0f3f9;color:#64718a;font-size:9px;font-weight:850;text-transform:uppercase}.employee-record-list>div>div>b,.employee-record-list>div>div>small,.employee-record-list>a>div>b,.employee-record-list>a>div>small{display:block}.employee-record-list>div>div>b,.employee-record-list>a>div>b{color:#2b3850;font-size:11px}.employee-record-list>div>div>small,.employee-record-list>a>div>small{overflow:hidden;margin-top:1px;color:#8791a3;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.employee-record-list>div>strong{color:#26344e;font-size:11px;white-space:nowrap}.employee-record-list .status{font-size:8px}.leave-list>div{grid-template-columns:55px minmax(0,1fr) auto}.payslip-list>a{grid-template-columns:55px minmax(0,1fr) auto 12px}.payslip-list>a>i{color:#6b7add;font-size:20px;font-style:normal}.payslip-month{font-size:10px}.payslip-month small{display:block;font-size:7px}.employee-empty{display:grid!important;place-items:center!important;min-height:185px!important;padding:26px!important;border:0!important;text-align:center}.employee-empty.compact{min-height:130px!important}.employee-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf1fb;color:#6477dd;font-size:18px}.employee-empty>b{margin-top:7px;color:#34415b;font-size:11px}.employee-empty>p{margin:0;color:#929bad;font-size:9px}

@media(max-width:1050px){.employee-stat-grid{grid-template-columns:1fr 1fr}.employee-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr)}}
@media(max-width:900px){.app-page.role-employee .sidebar{display:none}.app-page.role-employee .app-main{display:flex;min-height:100vh}.app-page.role-employee .topbar{display:flex;position:sticky;min-height:62px;padding:0 17px;background:#ffffffed}.app-page.role-employee .mobile-brand{display:flex;align-items:center;gap:9px;color:#15213c}.app-page.role-employee .mobile-brand .brand-icon{width:34px;height:34px}.app-page.role-employee .top-context{display:none}.app-page.role-employee .top-actions form{display:none}.app-page.role-employee .container{width:100%;padding:22px 17px 102px}.app-page.role-employee .app-main>footer{display:none}.employee-bottom-nav{position:fixed;z-index:50;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;display:flex;align-items:stretch;justify-content:space-around;min-height:66px;padding:7px;border:1px solid #dfe5ef;border-radius:18px;background:#fffffff2;box-shadow:0 14px 40px #17213c2e;backdrop-filter:blur(16px)}.employee-bottom-nav a,.employee-bottom-nav form{flex:1;margin:0}.employee-bottom-nav a,.employee-bottom-nav button{display:grid;place-items:center;width:100%;height:52px;padding:5px;border:0;border-radius:13px;background:transparent;color:#77839a}.employee-bottom-nav a span,.employee-bottom-nav button span{font-size:18px;line-height:1}.employee-bottom-nav a b,.employee-bottom-nav button b{font-size:9px}.employee-bottom-nav a.active{background:#ebefff;color:#4f63df}.employee-dashboard-grid{grid-template-columns:1fr}.employee-side-stack{grid-template-columns:1fr 1fr}.employee-profile-card{grid-column:1/-1}}
@media(max-width:650px){.employee-hero{align-items:flex-start}.employee-avatar{width:54px;height:54px;border-radius:17px;font-size:18px}.employee-identity{align-items:flex-start;gap:12px}.employee-identity h1{font-size:23px}.employee-identity>div>p:not(.eyebrow){font-size:11px}.employee-install-button{position:absolute;top:75px;right:17px;padding:7px 9px;font-size:10px}.employee-checkin-card{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:17px}.employee-checkin-card form,.employee-today-status{grid-column:1/-1;width:100%}.employee-checkin-button{width:100%}.employee-today-status{text-align:center}.checkin-icon{width:44px;height:44px;border-radius:13px}.checkin-copy h2{font-size:17px}.employee-stat-grid{gap:9px}.employee-stat-grid article{align-items:flex-start;gap:9px;padding:13px}.employee-stat-icon{width:34px;height:34px;border-radius:10px}.employee-stat-grid strong{font-size:16px}.employee-stat-grid p{display:none}.employee-record-grid{grid-template-columns:1fr}.employee-payslip-panel{grid-column:auto}.employee-side-stack{grid-template-columns:1fr 1fr}.employee-profile-card{grid-column:1/-1}.employee-activity-panel,.employee-profile-card,.employee-record-panel{padding:17px!important}.employee-timeline-row{grid-template-columns:40px 8px minmax(0,1fr)}.employee-row-status{display:none}.employee-record-list>div,.employee-record-list>a{grid-template-columns:49px minmax(0,1fr) auto}.employee-record-list>div>strong{grid-column:2}.employee-record-list>div>.status{grid-column:3;grid-row:1}.payslip-list>a{grid-template-columns:49px minmax(0,1fr) auto 10px}.leave-list>div{grid-template-columns:49px minmax(0,1fr) auto}}
@media(max-width:430px){.app-page.role-employee .container{padding-right:13px;padding-left:13px}.employee-hero{margin-bottom:17px}.employee-avatar{width:49px;height:49px}.employee-identity h1{font-size:21px}.employee-badges{gap:5px}.employee-badges span{font-size:8px}.employee-stat-grid{grid-template-columns:1fr 1fr}.employee-stat-grid article{display:block}.employee-stat-icon{margin-bottom:8px}.employee-stat-grid small{font-size:8px}.employee-stat-grid strong{font-size:15px}.employee-side-stack{grid-template-columns:1fr}.employee-profile-card{grid-column:auto}.employee-checkin-card{border-radius:16px}.employee-record-list>div>.status{max-width:78px;overflow:hidden;text-overflow:ellipsis}.employee-bottom-nav{right:7px;bottom:calc(7px + env(safe-area-inset-bottom));left:7px}}

/* Verified office geofence and Wi-Fi controls */
.employee-checkin-card form[data-office-check-in-form]{display:grid;justify-items:stretch;min-width:190px}.checkin-location-feedback{display:block;max-width:230px;margin-top:6px;color:#758198;font-size:9px;text-align:center}.employee-checkin-button.is-locating span{animation:location-pulse 1s ease-in-out infinite}.employee-checkin-button:disabled{cursor:wait;opacity:.75}@keyframes location-pulse{0%,100%{transform:scale(.88);opacity:.55}50%{transform:scale(1.08);opacity:1}}
.employee-qr-card{width:min(520px,96vw)}.employee-qr-camera{position:relative;overflow:hidden;display:grid;place-items:center;aspect-ratio:4/3;border-radius:18px;background:#071027}.employee-qr-camera video{width:100%;height:100%;object-fit:cover}.employee-qr-frame{position:absolute;width:min(62%,260px);aspect-ratio:1;border:3px solid #fff;border-radius:20px;box-shadow:0 0 0 999px #0710274d}.employee-qr-frame:before,.employee-qr-frame:after{content:"";position:absolute;inset:-4px;border-radius:22px;border:4px solid transparent;border-top-color:#4f62f5;border-bottom-color:#4f62f5}.employee-qr-feedback{margin:13px 0;color:#526079;text-align:center}.employee-qr-manual{display:grid;gap:10px;margin-top:16px;padding:16px;border:1px solid #e3e9f2;border-radius:15px;background:#f8faff}.employee-qr-manual>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a88a0}.employee-qr-manual label{display:grid;gap:6px}.employee-qr-manual input{font-size:20px!important;letter-spacing:.18em;text-align:center;font-weight:800}.employee-qr-manual button{width:100%}
.office-qr-board{max-width:1080px;margin:0 auto;overflow:hidden;padding:0;background:linear-gradient(145deg,#fff 0%,#f5f8ff 100%)}.office-qr-brand{display:flex;align-items:center;gap:13px;padding:20px 24px;border-bottom:1px solid #e4eaf4}.office-qr-brand img{border-radius:14px}.office-qr-brand div{display:grid}.office-qr-brand b{font-size:18px}.office-qr-brand span{font-size:12px;color:#758198}.office-qr-brand time{margin-left:auto;font-size:18px;font-weight:800;color:#152448}.office-qr-content{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:44px;align-items:center;padding:42px}.office-qr-canvas{display:grid;place-items:center;padding:18px;border-radius:28px;background:#fff;box-shadow:0 18px 55px #162b671a}.office-qr-canvas svg{display:block;width:100%;height:auto}.office-qr-copy h2{margin:13px 0 10px;font-size:34px;line-height:1.1}.office-qr-copy>p{max-width:520px;color:#63728d;line-height:1.6}.office-qr-live{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#ddf8ec;color:#087857;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.office-qr-live i{width:8px;height:8px;border-radius:50%;background:#12b981;box-shadow:0 0 0 5px #12b98120;animation:location-pulse 1.4s infinite}.office-manual-code{display:grid;gap:3px;width:max-content;margin:24px 0 16px;padding:13px 18px;border:1px solid #dce4f2;border-radius:14px;background:#fff}.office-manual-code small{color:#7c899f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.office-manual-code strong{font-size:30px;letter-spacing:.18em;color:#12244c}.office-qr-countdown{display:flex;align-items:center;gap:9px;color:#728099}.office-qr-countdown b{display:grid;place-items:center;min-width:54px;padding:6px 9px;border-radius:9px;background:#e9edff;color:#4055ee}.office-qr-status{font-size:12px!important}.office-qr-board>footer{display:flex;justify-content:space-between;gap:20px;padding:15px 24px;background:#0c1939;color:#dce5ff;font-size:12px}.office-qr-board:fullscreen{max-width:none;width:100vw;height:100vh;border-radius:0;display:grid;grid-template-rows:auto 1fr auto}.office-qr-board:fullscreen .office-qr-content{grid-template-columns:minmax(360px,46vh) minmax(420px,1fr);justify-content:center}.office-qr-board:fullscreen .office-qr-canvas{max-width:46vh}.office-qr-board:fullscreen .office-qr-copy h2{font-size:clamp(36px,4vw,62px)}
.office-checkin-settings{grid-column:1/-1}.office-checkin-settings .panel-head{align-items:center}.office-coordinate-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.office-coordinate-grid label small,.office-checkin-settings>div>.stack-form label>small{display:block;margin-top:4px;color:#8a94a7;font-size:9px;font-weight:500}.office-location-button{justify-content:center;width:100%}.office-location-feedback{margin:-5px 0 2px;color:#748198;font-size:10px;text-align:center}.office-security-note{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border:1px solid #f0d59d;border-radius:10px;background:#fff8e8;color:#73520f}.office-security-note b,.office-security-note span{display:block}.office-security-note b{flex:none;font-size:10px}.office-security-note span{font-size:9px}.office-checkin-settings textarea{min-height:82px}
@media(max-width:760px){.office-qr-page-head .actions{width:100%}.office-qr-content{grid-template-columns:1fr;gap:24px;padding:22px}.office-qr-canvas{max-width:380px;margin:0 auto}.office-qr-copy{text-align:center}.office-qr-copy h2{font-size:27px}.office-qr-copy>p{margin-left:auto;margin-right:auto}.office-manual-code{margin-left:auto;margin-right:auto}.office-qr-countdown{justify-content:center}.office-qr-board>footer{flex-direction:column;text-align:center;gap:5px}.office-qr-brand time{font-size:14px}}
@media(max-width:650px){.office-coordinate-grid{grid-template-columns:1fr}.employee-checkin-card form[data-office-check-in-form]{min-width:0}.checkin-location-feedback{max-width:none}.employee-qr-card{padding:17px}.employee-qr-card>header{margin-bottom:14px}.employee-qr-camera{border-radius:14px}.employee-qr-modal.modal-backdrop{align-items:flex-end}.employee-qr-modal .modal-card{min-height:auto;max-height:96vh;border-radius:22px 22px 0 0}.office-qr-brand{padding:15px}.office-qr-brand img{width:42px;height:42px}.office-qr-brand time{display:none}}
.verified-checkin{margin-top:3px;color:#087a54!important;font-size:8px!important;font-weight:750}.verified-checkin:before{content:'';display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:#17a673;vertical-align:1px}
.public-qr-link-card{display:grid;gap:12px;padding:16px;border:1px solid #dce4f2;border-radius:15px;background:#f8faff}.public-qr-link-card>div:first-child{display:grid;gap:3px}.public-qr-link-card small{color:#72809a;line-height:1.45}.public-qr-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px}.public-qr-link-row input{min-width:0;font-size:12px}.finance-checkbox.compact{padding:10px 12px}
.payroll-add-employees-modal{width:min(680px,100%)}.payroll-add-employees-modal form>p{margin-top:0;line-height:1.6}.payroll-add-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f6f8ff;border:1px solid #e1e7f1;border-radius:10px;margin:14px 0 8px;font-size:12px;color:#627d98}.payroll-add-selection label{display:flex;align-items:center;gap:8px}.payroll-add-employees-modal input[type=checkbox]{width:17px!important;min-width:17px;height:17px;margin:0;accent-color:#5862f6;flex:none}.payroll-add-list{max-height:340px;overflow:auto;border:1px solid #e1e7f1;border-radius:12px}.payroll-add-option{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #e7ecf4;cursor:pointer}.payroll-add-option:last-child{border-bottom:0}.payroll-add-option:hover{background:#f8faff}.payroll-add-option>span{min-width:0;flex:1}.payroll-add-option b,.payroll-add-option small{display:block}.payroll-add-option b{color:#16213e;font-size:12px;overflow-wrap:anywhere}.payroll-add-option small{font-size:11px;color:#72809a;font-weight:400}.payroll-add-option .payroll-add-base{flex:0 0 auto;text-align:right}.payroll-add-help{display:block;margin-top:12px;color:#72809a;line-height:1.6}.payroll-add-employees-modal button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:520px){.payroll-add-employees-modal{padding:18px}.payroll-add-list{max-height:45vh}.payroll-add-option{flex-wrap:wrap;padding:12px;gap:8px}.payroll-add-option .payroll-add-base{flex-basis:100%;padding-left:25px;text-align:left}.payroll-add-base small,.payroll-add-base b{display:inline}.payroll-add-base small{margin-right:6px}.payroll-add-employees-modal footer{gap:8px;flex-wrap:wrap}}
.fine-search-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 18px;padding:12px}.fine-search-filter label{display:grid;gap:5px;padding:0;min-width:120px;flex:1}.fine-search-filter label.fine-search{flex:1.6;min-width:200px}.fine-search-filter input,.fine-search-filter select{width:100%;height:38px;margin:0;padding:8px 10px;border-radius:8px;font-size:12px}.fine-search-filter .button{min-height:38px}.fine-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}.fine-pagination>span{margin-right:auto;color:#72809a;font-size:12px}.weekly-holidays{border:1px solid #e1e7f1;border-radius:12px;padding:12px;display:flex;flex-wrap:wrap;gap:10px}.weekly-holidays legend{font-size:12px;font-weight:750;color:#627d98}.weekly-holidays label{display:flex;align-items:center;gap:6px;font-size:12px}.weekly-holidays input{display:inline-block;width:16px;height:16px;margin:0;accent-color:#5862f6}.weekly-holidays small{flex-basis:100%;color:#72809a}.payroll-input-summary{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 18px;font-size:12px;color:#627d98}.payroll-input-details{font-size:10px;min-width:64px}.payroll-input-details summary{color:#5862f6;cursor:pointer;margin-top:5px;white-space:nowrap}.payroll-input-popover{width:210px;white-space:normal;background:#f8faff;border:1px solid #dce4f2;border-radius:10px;padding:10px;margin-top:8px}.payroll-input-popover p{margin:0 0 7px;font-size:11px}.payroll-input-popover small{font-size:10px}.payroll-input-popover .input-excluded{color:#b42318}.payroll-input-popover>a{display:block;margin:6px 0}.payroll-input-popover>small{color:#72809a}
@media(max-width:600px){.fine-search-filter label,.fine-search-filter label.fine-search{flex:1 1 calc(50% - 10px);min-width:0}.fine-search-filter label.fine-search{flex-basis:100%}.fine-search-filter label span{display:block}.fine-pagination{flex-wrap:wrap}.payroll-input-summary{gap:8px 16px}}
@media(max-width:650px){.public-qr-link-row{grid-template-columns:1fr 1fr}.public-qr-link-row input{grid-column:1/-1}}
